Skip to content

ArtNetInModule

Category: effect | Tags: 🔥🟦🐙

Receives Art-Net DMX frames over UDP and writes pixel data into an EffectsLayer buffer. Acts as an effect source: wired like SineEffect or RipplesEffect, it fills the parent layer each loop tick. Complementary to ArtNetOutModule — together they form a complete send/receive pair.

Multi-universe: reconstructs a pixel buffer split across consecutive universes. Universe i carries pixels [i*170 .. (i+1)*170) as 510 channels. The number of universes consumed matches the layer size automatically.

Controls

Control Type Range Default Description
universe_start slider 0-255 0 First Art-Net universe number to accept
enabled toggle 0/1 1 Enable/disable receiving

Wiring

{
  "type": "ArtNetInModule",
  "inputs": { "layer": "<effects-layer-id>" }
}

Receiving pipeline

ArtNetInModule → EffectsLayer → DriverLayer → PreviewModule (or physical driver)

Two-device Art-Net test

Device A (sender):

SineEffectModule → EffectsLayer → DriverLayer → ArtNetOutModule (ip=<Device B IP>)

Device B (receiver):

ArtNetInModule → EffectsLayer → DriverLayer → PreviewModule

With ArtNetOutModule defaulting to broadcast (255.255.255.255), Device B receives without needing the sender's IP configured explicitly.

Health report

universe_start=0 packets_rx=1234 handle=3

handle is the UDP socket file descriptor (or slot index on Arduino). A value of -1 means the socket failed to bind (port 6454 in use).

Test coverage

Unit tests in tests/test_artnet.cpp:

Test Level What is verified
Lifecycle without layer smoke No crash when layer_ is null; packets_rx=0 after loop
healthReport format format healthReport contains universe_start= and packets_rx=
ArtNetOut loopback to ArtNetIn integration Receives packets sent by ArtNetOutModule on 127.0.0.1

Live tests (deploy/live_suite.py, deploy/livetest.py):

Test Level What is verified
test5 Art-Net loopback (PC) integration packets_rx > 0 on PC broadcast loopback
Two-device Art-Net (ESP32 receiver) integration packets_rx > 0 on MM-70BC receiving PC broadcast over LAN

Tags

Emoji Meaning
🔥 Effect
🟦 2D+
🐙 WLED-compatible protocol