How kendra-pdx/artnet-client works
artnet-client is a no_std-capable Art-Net transport library. An application feeds DMX events to the producer, which discovers Art-Net nodes through Poll/PollReply and sends addressed DMX; independently, the receiver accepts DMX and publishes events, and answers Poll requests. UDP and IEEE 802.15.4 are feature-gated I/O backends. The README is empty, so capabilities and wiring here are based on the sampled Rust sources and Cargo feature declarations.
Main entry points: producer.rs Art-Net Producer · receiver.rs Art-Net Receiver · lib.rs Event Channel · io.rs Async I/O Trait
Components 11
Application Flow
- Event Channel
src/lib.rs
Art-Net Runtime
- Art-Net Receiver
src/receiver.rs - Art-Net Producer
src/producer.rs - Art-Net Codec
I/O Transports
- Async I/O Trait
src/io.rs - UDP Backend
src/io/edge_udp.rs - IEEE 802.15.4 Backend
src/io/esp_ieee802154.rs
Address Model
- Address Types
src/address.rs
Other components
- Application
- UDP Network
- IEEE 802.15.4 Radio
Connections 16
- Application → Event Channel: publishes DMX
- Event Channel → Art-Net Producer: delivers events
- Art-Net Receiver → Event Channel: publishes DMX
- Art-Net Receiver → Async I/O Trait: receives packets
- Art-Net Receiver → Art-Net Codec: parses commands
- Art-Net Receiver → Art-Net Codec: serializes replies
- Art-Net Receiver → Async I/O Trait: sends replies
- Art-Net Receiver → Address Types: converts addresses
- Art-Net Producer → Async I/O Trait: receives packets
- Art-Net Producer → Art-Net Codec: parses replies
- Art-Net Producer → Event Channel: consumes events
- Art-Net Producer → Address Types: uses addresses
- Art-Net Producer → Art-Net Codec: serializes DMX or poll
- Art-Net Producer → Async I/O Trait: sends packets
- UDP Backend → UDP Network: exchanges UDP
- IEEE 802.15.4 Backend → IEEE 802.15.4 Radio: exchanges frames