mirror of
https://github.com/wled/WLED.git
synced 2025-07-19 08:46:34 +00:00
Fix for #3672
This commit is contained in:
parent
99efbd30f1
commit
ea32c97b82
@ -612,13 +612,13 @@ void handleNotifications()
|
|||||||
if (realtimeOverride && !(realtimeMode && useMainSegmentOnly)) return;
|
if (realtimeOverride && !(realtimeMode && useMainSegmentOnly)) return;
|
||||||
|
|
||||||
uint16_t totalLen = strip.getLengthTotal();
|
uint16_t totalLen = strip.getLengthTotal();
|
||||||
if (udpIn[0] == 1) //warls
|
if (udpIn[0] == 1 && packetSize > 5) //warls
|
||||||
{
|
{
|
||||||
for (size_t i = 2; i < packetSize -3; i += 4)
|
for (size_t i = 2; i < packetSize -3; i += 4)
|
||||||
{
|
{
|
||||||
setRealtimePixel(udpIn[i], udpIn[i+1], udpIn[i+2], udpIn[i+3], 0);
|
setRealtimePixel(udpIn[i], udpIn[i+1], udpIn[i+2], udpIn[i+3], 0);
|
||||||
}
|
}
|
||||||
} else if (udpIn[0] == 2) //drgb
|
} else if (udpIn[0] == 2 && packetSize > 4) //drgb
|
||||||
{
|
{
|
||||||
uint16_t id = 0;
|
uint16_t id = 0;
|
||||||
for (size_t i = 2; i < packetSize -2; i += 3)
|
for (size_t i = 2; i < packetSize -2; i += 3)
|
||||||
@ -627,7 +627,7 @@ void handleNotifications()
|
|||||||
|
|
||||||
id++; if (id >= totalLen) break;
|
id++; if (id >= totalLen) break;
|
||||||
}
|
}
|
||||||
} else if (udpIn[0] == 3) //drgbw
|
} else if (udpIn[0] == 3 && packetSize > 6) //drgbw
|
||||||
{
|
{
|
||||||
uint16_t id = 0;
|
uint16_t id = 0;
|
||||||
for (size_t i = 2; i < packetSize -3; i += 4)
|
for (size_t i = 2; i < packetSize -3; i += 4)
|
||||||
@ -636,7 +636,7 @@ void handleNotifications()
|
|||||||
|
|
||||||
id++; if (id >= totalLen) break;
|
id++; if (id >= totalLen) break;
|
||||||
}
|
}
|
||||||
} else if (udpIn[0] == 4) //dnrgb
|
} else if (udpIn[0] == 4 && packetSize > 7) //dnrgb
|
||||||
{
|
{
|
||||||
uint16_t id = ((udpIn[3] << 0) & 0xFF) + ((udpIn[2] << 8) & 0xFF00);
|
uint16_t id = ((udpIn[3] << 0) & 0xFF) + ((udpIn[2] << 8) & 0xFF00);
|
||||||
for (size_t i = 4; i < packetSize -2; i += 3)
|
for (size_t i = 4; i < packetSize -2; i += 3)
|
||||||
@ -645,7 +645,7 @@ void handleNotifications()
|
|||||||
setRealtimePixel(id, udpIn[i], udpIn[i+1], udpIn[i+2], 0);
|
setRealtimePixel(id, udpIn[i], udpIn[i+1], udpIn[i+2], 0);
|
||||||
id++;
|
id++;
|
||||||
}
|
}
|
||||||
} else if (udpIn[0] == 5) //dnrgbw
|
} else if (udpIn[0] == 5 && packetSize > 8) //dnrgbw
|
||||||
{
|
{
|
||||||
uint16_t id = ((udpIn[3] << 0) & 0xFF) + ((udpIn[2] << 8) & 0xFF00);
|
uint16_t id = ((udpIn[3] << 0) & 0xFF) + ((udpIn[2] << 8) & 0xFF00);
|
||||||
for (size_t i = 4; i < packetSize -2; i += 4)
|
for (size_t i = 4; i < packetSize -2; i += 4)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user