From b44ffffed8925fcb95b5a8df8139a555e6da252c Mon Sep 17 00:00:00 2001 From: cschwinne Date: Wed, 3 Nov 2021 16:14:01 +0100 Subject: [PATCH] Fixed DDP override --- wled00/bus_manager.h | 3 ++- wled00/e131.cpp | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/wled00/bus_manager.h b/wled00/bus_manager.h index 799019f3..c8bb2d1c 100644 --- a/wled00/bus_manager.h +++ b/wled00/bus_manager.h @@ -579,9 +579,10 @@ class BusManager { return numBusses; } + //semi-duplicate of strip.getLengthTotal() (though that just returns strip._length, calculated in finalizeInit()) uint16_t getTotalLength() { uint16_t len = 0; - for (uint8_t i=0; igetLength(); + for (uint8_t i=0; igetLength(); return len; } diff --git a/wled00/e131.cpp b/wled00/e131.cpp index d78b3195..ba9e939e 100644 --- a/wled00/e131.cpp +++ b/wled00/e131.cpp @@ -34,9 +34,11 @@ void handleDDPPacket(e131_packet_t* p) { realtimeLock(realtimeTimeoutMs, REALTIME_MODE_DDP); - for (uint16_t i = start; i < stop; i++) { - setRealtimePixel(i, data[c], data[c+1], data[c+2], 0); - c+=3; + if (!realtimeOverride) { + for (uint16_t i = start; i < stop; i++) { + setRealtimePixel(i, data[c], data[c+1], data[c+2], 0); + c+=3; + } } bool push = p->flags & DDP_PUSH_FLAG;