Nube iO - Rubix Wires: Boolean Nodes

Rubix Wires: Boolean Nodes


This article describes the Rubix Wires nodes that are in the Boolean category.  

Boolean

The `Boolean` category contains nodes that produce boolean outputs.  They provide boolean comparisons and timing nodes to trigger/delay boolean values. 

AND

This node performs a logical `AND` operation on all inputs.

Inputs

This node has a variable number of inputs.
  1. in 1 - First input to `AND` operation.
  2. in 2 - Second input to `AND` operation.
  3. in x - x-th input to `AND` operation.  Where x is any subsequent input set from the node settings.

Outputs

  1. output - Result of `AND` operation on all inputs. `true` if ALL inputs are `true`, else `false`
  2. out not - Boolean opposite of `output` value.

Settings

  1. Name - Name of the node.
  2. Inputs countConfigures the number of inputs.

Operation

Performs a logical 'AND' operation (output 'true' when ALL inputs are 'true').  The number of inputs is configurable from settings.

OR

This node performs a logical `OR` boolean operation on all inputs.

Inputs

This node has a variable number of inputs.
  1. [in 1] - First input to `OR` operation.
  2. [in 2] - Second input to `OR` operation.
  3. [in x] - in x is the Input x, where x is any subsequent inputs set from the node settings.

Outputs

  1. output - Result of `OR` operation on all inputs. `true` if ANY inputs are `true`, else `false`
  2. out not - Boolean opposite of `output` value. 

Settings

Name - Name of the node.
Inputs count - Configures the number of inputs.

Operation

Performs a logical 'OR' operation (output 'true' when ANY input is 'true').  The number of inputs is configurable from settings.

XOR

This node performs a logical `XOR` operation on input values.

Inputs

  1. in 1 - First input to `XOR` operation.
  2. in 2 - Second input to `XOR` operation.

Outputs

  1. output - Result of `XOR` operation on all inputs. `true` if one (not both) input are `true`, else `false`.
  2. out not - Boolean opposite of `output` value. 

Settings

  1. Name - Name of the node.

Operation

Performs a logical 'XOR' operation (output 'true' when EITHER input is 'true', but not both).  

NOT

This node performs a logical `NOT` operation on input values.

Inputs

  1. input - Boolean input value.

Outputs

  1. output - Result of `NOT` operation on input value.  Boolean opposite of input value.

Settings

  1. Name - Name of the node.

Operation

Performs a logical 'NOT' operation (output will be the inverse/opposite of the input).

Toggle

This node performs a toggle function based on a boolean input.

Inputs

  1. inputBoolean input value.

Outputs

  1. outputBoolean output value.

Settings

  1. Name - Name of the node.
  2. Reset on disconnected or input is null - If enabled `output` will be reset to `false` if input link is disconnected or input value is `null`.
  3. Toggle on any input change - If enabled the `output` value will toggle between `true`/`false` on any input value (even the same input value repeated).  This is mostly used for asynchronous/stream type programming. 

Operation

When the 'input' transitions from 'false' to 'true', 'output' will switch between 'false'/'true'.  Specific functionality can be modified by settings.

One Shot

This node performs a timed trigger operation in which the trigger status of the node will not change within a certain set duration.

Inputs

  1. trigger - Boolean Input.  `false` -> `true` transition starts the one-shot period.
  2. reset - Boolean Input to cancel a running one-shot period.
  3. interval - Interval period of the one-shot (units set from settings).

Outputs

  1. output - Boolean output value.
  2. remaining - Numeric remaining time of the one-shot period.  Units are the same as the configured `interval` input units.

Settings

  1. Name - Name of the node.
  2. Interval - Interval period of the one-shot.
  3. Units - The units that interval is set in (Milliseconds, Seconds, Minutes, Hours).

Operation

Triggers ‘output’ to 'true' for 'interval' duration when 'trigger' input transitions from 'false' to 'true.  Output is reset to 'false' when 'reset' transitions from 'false' to 'true.  'interval' units can be configured from settings.  Maximum ‘interval’ setting is 587 hours.  ‘remaining’ is the number of milliseconds left until ‘output’ changes to ‘false’.


Min On Off

This node enforces minimum-on and minimum-off periods on a boolean input signal.

Inputs

  1. input - Boolean input value.
  2. minOn - Numeric value of the minimum on time.  Units are configured `interval` input units.
  3. minOff - Numeric value of the minimum off time.  Units are the same as the configured `interval` input units.
  4. reset - Boolean Input to cancel any active minimum on/off time delays.  Output value will be reset to match the input value, then timing logic starts again as usual.  

Outputs

  1. output - Boolean output value.
  2. minOn active - Boolean output status of `minOn` delay.
  3. minOff active - Boolean output status of `minOff` delay.

Settings

  1. Name - Name of the node.
  2. Minimum On Time - Value of minimum on time.
  3. Unit - Unit type of Minimum On Time (Milliseconds, Seconds, Minutes, Hours).
  4. Minimum Off Time - Value of Minimum Off Time.
  5. Unit - Unit type of Minimum Off Time (Milliseconds, Seconds, Minutes, Hours).

Operation

‘output’ matches ‘input’ but is delayed by the 'minOn' and 'minOff' durations. ‘output’ will remain 'true' for 'minOn' duration then match the ‘input’ value. ‘output’ will remain 'false' for 'minOff' duration then match the ‘input’ value. 'minOn' and 'minOff' delays are cancelled when 'reset' transitions from 'false' to 'true. ‘minOn active’ is ‘true’ during ‘minOn’ periods. ‘minOff active’ is ‘true’ during ‘minOff’ periods. 'minOn' and 'minOff' units can be configured from settings. Maximum ‘minOn’ and ‘'minOff'’ setting is 587 hours.


On Delay

This node delays a Boolean `input` transitions from `false` -> `true`.  

Inputs

  1. input - Boolean input value.
  2. [delay] - Numeric value of the on-delay (units set from settings).
  3. reset - Boolean Input to cancel any active minimum on/off time delays.  Output value will be reset to match the input value, then timing logic starts again as usual.  

Outputs

  1. output - Boolean output value.
  2. onDelay active - Boolean output status of `onDelay` period.
  3. remaining - Numeric remaining time of the on-delay period.  Units are the same as the configured `[delay]` input units.

Settings

  1. Name - Name of the node.
  2. On Delay Duration - Value of on-delay period.
  3. Units - Unit type of for delay duration (Milliseconds, Seconds, Minutes, Hours).

Operation

‘output’ matches ‘input’, but ‘output’ transitions from 'true' to 'false' are delayed by 'delay' duration. The delay is cancelled when 'reset' transitions from 'false' to 'true. ‘offDelay active’ is ‘true’ during ‘offDelay’ periods. 'delay' units can be configured from settings. Maximum ‘delay’ setting is 587 hours.


Off Delay

This node delays a Boolean `input` transitions from `true` -> `false`.  

Inputs

  1. input - Boolean input value.
  2. [delay] - Numeric value of the off-delay (units set from settings).
  3. reset - Input of the node that resets the status of the node.

Outputs

  1. output - Boolean output value.
  2. offDelay active - Boolean output status of `offDelay` period.
  3. remaining - Numeric remaining time of the off-delay period.  Units are the same as the configured `[delay]` input units.

Settings

  1. Name - Name of the node.
  2. Off Delay Duration - Value of off-delay period.
  3. Units - Unit type of delay (Milliseconds, Seconds, Minutes, Hours).

Operation

‘output’ matches ‘input’, but ‘output’ transitions from 'true' to 'false' are delayed by 'delay' duration. The delay is cancelled when 'reset' transitions from 'false' to 'true. ‘offDelay active’ is ‘true’ during ‘offDelay’ periods. 'delay' units can be configured from settings. Maximum ‘delay’ setting is 587 hours.


Ticker

This node provides an alternating Boolean ticker.   The output value alternates between outputting `true` and `false` at the configured interval.

Inputs

  1. [enable] - Enables node functionality.  Output will be `false` at all time when not enabled.
  2. [interval] - Numerical input to set the ticker interval (units set from settings).

Outputs

  1. output - Boolean output value.

Settings

  1. Name - Name of the node.
  2. Enable - Enables node functionality.  Output will be `false` at all time when not enabled.
  3. Interval - Interval value of the ticker period.
  4. Units - Unit type of the interval (Milliseconds, Seconds, Minutes, Hours).
  5. Generate false - When enabled the node outputs`true` and `false` states (default).  When disabled `output` will be repeated `true` values at the configured period.

Operation

While 'enable' is 'true', ‘output’ will change to 'true' at every 'interval' period. If 'Generate False' setting is set to ‘true’, ‘output’ will be 'false' for the second half of the 'interval' period. When 'enable' is 'false', ‘output’ will be 'false'. 'interval' units can be configured from settings. Maximum ‘interval’ setting is 587 hours.



Duty Cycle

This node performs a Duty cycle operation in which a ratio of boolean ON and OFF periods can be configured.

Input

  1. [enable] - Enables node functionality.  Output will be `false` at all time when not enabled.
  2. [interval] - Numerical input to set the duty cycle period (units set from settings).
  3. [dutyCycle] - The percentage of the duty cycle (ON/OFF ratio as percentage).

Output

  1. output - Boolean output value.

Settings

  1. Name - Name of the node.
  2. Enable - Enables node functionality.  Output will be `false` at all time when not enabled.
  3. Interval - Interval value of the node.
  4. Units - Unit type of the interval (Milliseconds, Seconds, Minutes, Hours).
  5. Duty Cycle % (0-100) - Duty cycle percentage.

Operation

While 'enable' is 'true', ‘output’ will change to 'true' at every 'interval' period.  The 'output' change from `true'->'false' depends on the configured 'dutyCycle'.   'dutyCycle' is the percent of one interval period in which the `output` is `true`. 



Related Articles

  1. Rubix Wires: Node Reference Guide

    • Related Articles

    • Rubix Wires: Count Nodes

      This article describes the Rubix Wires nodes that are in the Count category. Count The `Count` category contains nodes that are used to perform counting operations involving stepped changes in output values. Counter This node performs addition or ...
    • Rubix Wires: LoRa Sensor Nodes

      This article describes the Rubix Wires nodes that are in the LoRa category.  Preparation Rubix Wires: Getting Started Guide Rubix Platform: Adding and Editing Wireless LoRa Droplet Sensors Rubix Platform: Adding and Editing Wireless Microedge Sensors ...
    • Rubix Wires: Dashboard Nodes

      This article describes the Rubix Wires nodes that are in the Dashboard category. Dashboard The `Dashboard` category contains nodes that interact with the Wires Dashboard.  The Wires Dashboard provides a way to interact with the nodes/flows built in ...
    • Rubix Wires: Latch Nodes

      This article describes the Rubix Wires nodes that are in the Latch category. Latch The `Latch` category contains value latching functionality for each data type.  Latch nodes will maintain an output value between trigger events. Any-Latch This node ...
    • Rubix Wires: Widget Nodes

      This article describes the Rubix Wires nodes that are in the Widgets category. Widget The `Widget` category contains nodes that are used in conjunction with an external user interface.   These nodes are often used to support extended functions from ...