Skip to content

Commit

Permalink
Use correct start index for Art-Net in proxy mode
Browse files Browse the repository at this point in the history
  • Loading branch information
askask committed Apr 9, 2024
1 parent ba9ce4a commit bcc66aa
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions wled00/e131.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,14 @@ void handleE131Packet(e131_packet_t* p, IPAddress clientIP, byte protocol){
return;
}

// DMX data in Art-Net packet starts at index 0, for E1.31 at index 1
int8_t artnetOffset = (protocol == P_ARTNET) ? -1 : 0;

#ifdef WLED_ENABLE_DMX
// does not act on out-of-order packets yet
if (e131ProxyUniverse > 0 && uni == e131ProxyUniverse) {
for (uint16_t i = 1; i <= dmxChannels; i++)
dmx.write(i, e131_data[i]);
dmx.write(i, e131_data[i+artnetOffset]);
dmx.update();
}
#endif
Expand Down Expand Up @@ -135,9 +138,8 @@ void handleE131Packet(e131_packet_t* p, IPAddress clientIP, byte protocol){
availDMXLen = (dmxChannels - DMXAddress) + dmxLenOffset;
}

// DMX data in Art-Net packet starts at index 0, for E1.31 at index 1
if (protocol == P_ARTNET && dataOffset > 0) {
dataOffset--;
if (dataOffset > 0) {
dataOffset += artnetOffset;
}

switch (DMXMode) {
Expand Down

0 comments on commit bcc66aa

Please sign in to comment.