clj-artnet.impl.protocol.dmx-helpers
DMX logic helpers: sync, failsafe, merge (Art-Net 4).
apply-runtime-config
(apply-runtime-config state updates)Applies :sync and :failsafe updates.
build-failsafe-data
(build-failsafe-data mode last-output scene-entry)Builds failsafe data. Returns {:data :length} or nil.
check-port-failsafe
(check-port-failsafe state timestamp port-address port-entry)Checks port failsafe condition. Returns failsafe info or nil.
clear-failsafe-port
(clear-failsafe-port state port-address)Clears failsafe state for port.
failsafe-globally-enabled?
(failsafe-globally-enabled? state)Returns true if failsafe is enabled and supported.
failsafe-mode
(failsafe-mode state)Returns failsafe mode: :hold, :zero, :full, or :scene.
initial-state
(initial-state {:keys [sync-config failsafe-config], :or {sync-config (normalize-sync-config nil), failsafe-config (normalize-failsafe-config nil)}})Returns default DMX state shard.
node-merge-modes
(node-merge-modes node)Extracts merge modes from node’s good-output-a. Returns sequence of port-index mode.
normalize-failsafe-config
(normalize-failsafe-config failsafe)Normalizes failsafe config.
ports-needing-keepalive
(ports-needing-keepalive state now interval-ns)Returns list of ports idle longer than interval-ns.
record-failsafe-scene
(record-failsafe-scene state timestamp)Records current output as failsafe scene.
run-failsafe
(run-failsafe state timestamp)Checks all ports for failsafe. Returns {:state :effects}.
update-sync-config
(update-sync-config state config)Updates sync config and clears buffer if ArtSync disabled.