Input/output
Output signals cannot be set directly. Instead, conditions are tied to actual output pins using the printer settings, and the API sets the conditions.
GPIO conditions you define from the API come in two kinds v5.0:
- User conditions — named boolean values set directly with setGpioConditions. They persist across restarts, are listed with listUserGpioConditions, and removed with removeUserGpioCondition.
- User expressions — named boolean expressions derived from other conditions, managed with setUserGpioExpressions, listUserGpioExpressions, and removeUserGpioExpression.
Use listGpioConditions for the current state of every condition and expression, and listWritableGpioConditions for the conditions whose state can be set via the API.
Built-in conditions
Besides the conditions and expressions you define, the system maintains
read-only built-in conditions that reflect printer status. Each printer exposes
its own conditions named printer.<printerID>.<name> (for example
printer.Colorize.printing), and matching aggregate conditions named
printers.<name> combine that condition across all printers (for example
printers.printing). Use listGpioConditions to see which
conditions are available.