From 7590e7715367ad30ba6c167838f811c618b720e3 Mon Sep 17 00:00:00 2001 From: cschwinne Date: Thu, 14 Dec 2017 11:28:15 +0100 Subject: [PATCH] Fixed WARLS performance issues by choosing a more direct pixel drive technique and disabling effect processor and server while active (server did not work while active before already) Control via button and Alexa works while active --- wled00/WS2812FX.h | 4 ++-- wled00/wled00.ino | 17 ++++++++++------- wled00/wled07_notify.ino | 7 ++++--- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/wled00/WS2812FX.h b/wled00/WS2812FX.h index 19c6a7f9..cffae9c8 100644 --- a/wled00/WS2812FX.h +++ b/wled00/WS2812FX.h @@ -210,6 +210,8 @@ class WS2812FX : public NeoPixelBrightnessBus 1) { if (udpIn[1] == 0) @@ -97,11 +97,12 @@ void handleNotifications() if (udpIn[i] + arlsOffset < ledcount && udpIn[i] + arlsOffset >= 0) if (useGammaCorrectionRGB) { - strip.setIndividual(udpIn[i] + arlsOffset, ((uint32_t)gamma8[udpIn[i+1]] << 16) | ((uint32_t)gamma8[udpIn[i+2]] << 8) | gamma8[udpIn[i+3]]); + strip.setPixelColor(udpIn[i] + arlsOffset, gamma8[udpIn[i+1]], gamma8[udpIn[i+2]], gamma8[udpIn[i+3]]); } else { - strip.setIndividual(udpIn[i], ((uint32_t)udpIn[i+1] << 16) | ((uint32_t)udpIn[i+2] << 8) | udpIn[i+3]); + strip.setPixelColor(udpIn[i] + arlsOffset, udpIn[i+1], udpIn[i+2], udpIn[i+3]); } } + strip.show(); } } }