Art-Net RDM/TOD helpers for the impl architecture. Maintains a lightweight Table-of-Devices snapshot and subscriber registry so the logic coordinator can focus on orchestration.
Art-Net RDM/TOD helpers for the impl architecture. Maintains a lightweight Table-of-Devices snapshot and subscriber registry so the logic coordinator can focus on orchestration.
(background-disabled? state)Return true when background RDM polling is unsupported or disabled.
Return true when background RDM polling is unsupported or disabled.
(background-queue-supported? state)Return true when the RDM background queue workflow is enabled.
Return true when the RDM background queue workflow is enabled.
(discovery-running? state)Return true when any discovery work is queued.
Return true when any discovery work is queued.
(handle-tod-control state packet sender)Handle ArtTodControl by applying discovery commands and replying with ArtTodData snapshots for the targeted port.
Handle ArtTodControl by applying discovery commands and replying with ArtTodData snapshots for the targeted port.
(handle-tod-request state packet sender)Return [rdm-state actions] for an ArtTodRequest packet.
Return `[rdm-state actions]` for an ArtTodRequest packet.
(initial-state node
{:keys [rdm-version ports devices port-addresses
subscriber-ttl-ns subscriber-ttl-ms background discovery]
:as _config})Build the initial RDM state from node defaults and runtime config. Config keys:
:rdm-version -> advertised RDM revision (default 1):ports -> {port-address {:uids [...]
:port <physical>
:bind-index <n>
:rdm-version <n>}}:devices -> fallback UID vector applied when :ports entry missing:port-addresses -> preferred order (defaults to provided ports):subscriber-ttl-ns/ms -> override subscriber lifetimeBuild the initial RDM state from *node* defaults and runtime config.
Config keys:
* `:rdm-version` -> advertised RDM revision (default 1)
* `:ports` -> {port-address {:uids [...]
:port <physical>
:bind-index <n>
:rdm-version <n>}}
* `:devices` -> fallback UID vector applied when :ports entry missing
* `:port-addresses` -> preferred order (defaults to provided ports)
* `:subscriber-ttl-ns/ms` -> override subscriber lifetime(run-background-queue state now)Advance the background queue scheduler. Returns [state event] where the event is
a map describing the requested severity/poll if a poll should be dispatched.
Advance the background queue scheduler. Returns `[state event]` where the event is a map describing the requested severity/poll if a poll should be dispatched.
(run-discovery state now)Advance the discovery scheduler. Returns [state event] when work should be
dispatched to the host controller.
Advance the discovery scheduler. Returns `[state event]` when work should be dispatched to the host controller.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |