Port-Address logic (Art-Net 4).
Port-Address logic (Art-Net 4).
Art-Net 4 protocol constants, opcodes, and lookup tables. Single source of truth for all protocol-level values derived from the Art-Net 4 specification.
Art-Net 4 protocol constants, opcodes, and lookup tables. Single source of truth for all protocol-level values derived from the Art-Net 4 specification.
Central opcode dispatch for Art-Net packet encoding and decoding. Routes to domain-specific handlers while maintaining the original public API contract.
Central opcode dispatch for Art-Net packet encoding and decoding. Routes to domain-specific handlers while maintaining the original public API contract.
Common utilities shared across domain encode/decode modules.
Common utilities shared across domain encode/decode modules.
Encode/decode for Config family packets: ArtInput, ArtAddress, ArtIpProg, ArtIpProgReply.
Encode/decode for Config family packets: ArtInput, ArtAddress, ArtIpProg, ArtIpProgReply.
Encode/decode for Data family packets: ArtDataRequest, ArtDataReply.
Encode/decode for Data family packets: ArtDataRequest, ArtDataReply.
Encode/decode for Diagnostic family packets: ArtDiagData, ArtCommand, ArtTrigger, ArtTimeCode.
Encode/decode for Diagnostic family packets: ArtDiagData, ArtCommand, ArtTrigger, ArtTimeCode.
Encode/decode for DMX family packets: ArtDmx, ArtNzs, ArtVlc, ArtSync. These are the hot-path packets that use flyweight types for zero allocation.
Encode/decode for DMX family packets: ArtDmx, ArtNzs, ArtVlc, ArtSync. These are the hot-path packets that use flyweight types for zero allocation.
Encode/decode for Firmware family packets: ArtFirmwareMaster, ArtFirmwareReply.
Encode/decode for Firmware family packets: ArtFirmwareMaster, ArtFirmwareReply.
Encode/decode for Poll family packets: ArtPoll, ArtPollReply.
Encode/decode for Poll family packets: ArtPoll, ArtPollReply.
Encode/decode for RDM family packets: ArtRdm, ArtRdmSub, ArtTodRequest, ArtTodData, ArtTodControl.
Encode/decode for RDM family packets: ArtRdm, ArtRdmSub, ArtTodRequest, ArtTodData, ArtTodControl.
Low-level buffer read/write primitives for Art-Net codec. All functions operate on java.nio.ByteBuffer instances.
Low-level buffer read/write primitives for Art-Net codec. All functions operate on java.nio.ByteBuffer instances.
Flyweight packet types for zero-allocation hot paths. ArtDmx and ArtNzs packets use these types to provide map-like access without allocating intermediate data structures.
Flyweight packet types for zero-allocation hot paths. ArtDmx and ArtNzs packets use these types to provide map-like access without allocating intermediate data structures.
Helpers for ArtDataRequest/Reply configuration.
Provides pure functions for normalizing data configuration, utilized by
impl.protocol.lifecycle. Extracted to resolve dependency cycles.
Helpers for ArtDataRequest/Reply configuration. Provides pure functions for normalizing data configuration, utilized by `impl.protocol.lifecycle`. Extracted to resolve dependency cycles.
Diagnostics logic (Art-Net 4).
Diagnostics logic (Art-Net 4).
ArtPoll/ArtPollReply handling (Art-Net 4).
ArtPoll/ArtPollReply handling (Art-Net 4).
Pure DMX merge and processing logic (Art-Net 4).
Pure DMX merge and processing logic (Art-Net 4).
DMX logic helpers: sync, failsafe, merge (Art-Net 4).
DMX logic helpers: sync, failsafe, merge (Art-Net 4).
Pure data constructors for Art-Net protocol effects.
Pure data constructors for Art-Net protocol effects.
Art-Net firmware upload coordination.
Art-Net firmware upload coordination.
ArtInput paging and selection logic.
ArtInput paging and selection logic.
State lifecycle management: initialization and cap sync.
State lifecycle management: initialization and cap sync.
Pure Art-Net protocol state machine.
Pure Art-Net protocol state machine.
Manages Art-Net node state, including normalization, paging, and status bits.
Provides pure functions for configuring and transforming node state, ensuring valid bitmasks and default values.
Manages Art-Net node state, including normalization, paging, and status bits. Provides pure functions for configuring and transforming node state, ensuring valid bitmasks and default values.
Helpers for ArtPoll discovery configuration and reply-on-change logic.
Provides pure functions for normalizing discovery settings and managing purely functional reply-on-change subscriber state.
Helpers for ArtPoll discovery configuration and reply-on-change logic. Provides pure functions for normalizing discovery settings and managing purely functional reply-on-change subscriber state.
Implements Art-Net remote programming semantics for ArtAddress, ArtInput, and ArtIpProg.
Provides pure functions to transform node state based on remote programming commands, including diagnostic acknowledgement generation.
Implements Art-Net remote programming semantics for ArtAddress, ArtInput, and ArtIpProg. Provides pure functions to transform node state based on remote programming commands, including diagnostic acknowledgement generation.
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.
ArtRdm and ArtRdmSub transport validation and helpers per Art-Net 4 spec.
Art-Net 4 §ArtRdm:
Art-Net 4 §ArtRdmSub:
This module provides pure functions for:
ArtRdm and ArtRdmSub transport validation and helpers per Art-Net 4 spec. Art-Net 4 §ArtRdm: - Transport all non-discovery RDM messages - Unicast only (broadcast no longer allowed in Art-Net 4) - Command field 0x00 = ArProcess (process RDM packet) - Validate command class in RDM payload (byte 20) Art-Net 4 §ArtRdmSub: - Compressed sub-device data transfer - Get (0x20): 0 data bytes - Set (0x30): SubCount * 2 data bytes - GetResponse (0x21): SubCount * 2 data bytes - SetResponse (0x31): 0 data bytes This module provides pure functions for: - RDM command class validation - ArtRdmSub packet validation - Sub-device range and entry helpers - Payload normalization for outbound commands
State schema and initialization (Art-Net 4).
State schema and initialization (Art-Net 4).
ArtSync handling for Art-Net 4 protocol.
Per Art-Net 4 spec:
Modes:
ArtSync handling for Art-Net 4 protocol. Per Art-Net 4 spec: - ArtSync is used to synchronize DMX output across multiple universes - ArtSync timeout is 4 seconds (nodes revert to immediate mode) - ArtSync shall be ignored when merging multiple streams - ArtSync shall be ignored if the sender doesn't match the most recent ArtDmx sender Modes: - :immediate - Output DMX frames as they arrive (default) - :art-sync - Buffer DMX frames until ArtSync is received
Timing utilities for deterministic testing.
Timing utilities for deterministic testing.
ArtTrigger and ArtCommand processing per Art-Net 4 specification.
Art-Net 4 §ArtTrigger mandates:
This module provides pure functions for:
ArtTrigger and ArtCommand processing per Art-Net 4 specification. Art-Net 4 §ArtTrigger mandates: - OEM filtering: Accept trigger if OEM = 0xFFFF or matches node's OEM - Key types 0-3: KeyAscii, KeyMacro, KeySoft, KeyShow - Key types 4-255: Undefined (pass to vendor callback if OEM != 0xFFFF) - Payload (512 bytes): Interpretation depends on OEM/Key This module provides pure functions for: - Trigger debouncing with configurable rate limiting - OEM-based target filtering - Key/SubKey interpretation and acknowledgement generation - Helper dispatch for registered trigger handlers
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 |