xod/core@0.29.1

License: AGPL-3.0

The very basic nodes of XOD
NodeDescription
add
Adds numbers
and
Outputs true if and only if all inputs are true
animation-segment
Animates a number making it run from one boundary to another with the given rate.
animation-unit
Animates a number making it run from 0.0 to 1.0
any
Pulses on output when any input recieves a pulse
boot
Outputs a single pulse when the program starts
branch
Routes an incoming pulse to either of outputs depending on condition
buffer
Permanently holds a single value
clock
Outputs pulses at regular intervals
concat
Concatenates (adds together) strings
constant-boolean
A predefined `true` or `false` value that never changes in runtime
constant-byte
A predefined single byte datum that never changes in runtime
constant-number
A predefined numeric value that never changes in runtime
constant-port
A hardware port value
constant-string
A predefined text string that never changes in runtime. Non-ASCII characters are encoded in UTF-8.
continuously
Continuously outputs pulses
continuously-pausable
Continuously outputs pulses, can be paused
count
Stores a number which gets incremented on each `INC` pulse.
debounce
Debounces a value. The `OUT` value would change only after a period of at least `Ts` seconds while which the input state `ST` has not changed.
debounce(boolean)
Debounces a boolean value. The `OUT` value would change only after a period of at least `Ts` seconds while which the input state `ST` has not changed. The node is useful to fight signal bouncing of mechanical switches.
defer
Allows to create feedback loops. Repeats a change of the input on the output right after the current transaction will complete.
defer(boolean)
Allows to create feedback loops. Repeats a change of the input on the output right after the current transaction will complete.
defer(byte)
Allows to create feedback loops. Repeats a change of the input on the output right after the current transaction will complete.
defer(number)
Allows to create feedback loops. Repeats a change of the input on the output right after the current transaction will complete.
defer(pulse)
Allows to create feedback loops. Repeats a change of the input on the output right after the current transaction will complete.
defer(string)
Allows to create feedback loops. Repeats a change of the input on the output right after the current transaction will complete.
delay
Delays triggering of an incoming pulse by specified time
delta
Calculates difference between current and past input values.
delta-time
Outputs time difference between the current and previous updates.
divide
Divides two numbers
duty-to-time
Converts total time and duty cycle values into absolute on/off time values
equal
Outputs true if `IN1` = `IN2`, and false otherwise
equal(byte)
Outputs true if `IN1` = `IN2`, and false otherwise
equal(number)
Outputs true if `IN1` = `IN2`, and false otherwise
equal(string)
Outputs true if `IN1` = `IN2`, and false otherwise
fade
Lineary animates an internal value toward target value `TARG` with a rate `RATE`. Use the node to smoothen LED switching, motor starting, or servo angular position update.
flip-flop
Permanently holds either 0 or 1
flip-n-times
Generates `N` switches of output boolean signal. Useful to flash/blink/flip/switch something for several times in a row.
format-number
Transforms a number into a string with specified precision
format-progress
Outputs one of “...”, “OK”, “ERR” depending on the pulse which came last. Useful for demonstrating progress of a long-running process.
gate
Allows values to pass through only if EN pin is set to true
gate(boolean)
Allows values to pass through only if EN pin is set to true
gate(byte)
Allows values to pass through only if EN pin is set to true
gate(number)
Allows values to pass through only if EN pin is set to true
gate(pulse)
Allows values to pass through only if EN pin is set to true
gate(string)
Allows values to pass through only if EN pin is set to true
greater
Outputs true if `IN1` > `IN2`, and false otherwise
if-else
Outputs either input value depending on condition
if-else(byte)
Outputs either input value depending on condition
if-else(number)
Outputs either input value depending on condition
if-else(string)
Outputs either input string depending on condition
integrate-dt
Integrates input value over time
join
Joins multiple strings together inserting a delimiter between each pair. Useful for separating string parts with spaces and building CSV lines.
length(string)
Calculates string size in bytes. Will be inequal to the number of glyphs if the input string is UTF-8 encoded and contains non-ASCII characters.
less
Outputs true if `IN1` < `IN2`, and false otherwise
modulo
Computes the remainder of `IN1` divided by `IN2`.
multiply
Multiplies numbers
nand
Outputs false if and only if all inputs are true
nor
Outputs true if and only if all inputs are false
not
Inverses a boolean value
nth-input
Selects either `X0` or `X1` based on `IDX` index value.
nth-input(number)
Selects either `X0` or `X1` based on `IDX` index value.
nth-input(string)
Selects either `X0` or `X1` based on `IDX` index value.
or
Outputs false if and only if all inputs are false
pad-with-zeroes
Transforms a number into a string and adds zeroes to the beginning of the string until it is W-sized. Ignores a fractional part of the value and a sign. If the width of a string for a number is greater than the specified W value, node produces a string with the untransformed number
pid-controller
A proportional–integral–derivative controller. Computes fuzzy output value based on an actual current input value and the desired value.
pulse-on-change
Emits a pulse every time input value changes.
pulse-on-false
Emits a pulse on a falling edge, i.e. when `true` changes to `false`
pulse-on-true
Emits a pulse on a rising edge, i.e. when false changes to true
saw-wave
Generates sawtooth wave signal
saw-wave-map
Computes sawtooth function value
select
Outputs `X𝑛` value based on which `S𝑛` pulse came last. By default outputs the value of the latest `X𝑛` input.
sine-wave
Generates sine wave (sinusoid) signal
sine-wave-map
Computes sine wave function value. It’s a periodical function with range [0, 1] which starts from 0.
square-wave
Generates square wave signal
subtract
Subtracts two numbers
system-time
Outputs time spent since the program start
time-to-duty
Converts two absolute time values representing on and off time to a total duration and duty cycle values
timer
A simple timer/stopwatch
to-percent
Transforms a number to percent string. For example, 0.42 to “42%”
tri-wave
Generates triangle wave signal
tri-wave-map
Computes triangle function value
xor
Outputs true if and only if just one of inputs has true value