-
-
Notifications
You must be signed in to change notification settings - Fork 4k
Description
What happened?
When using more than 1 output and 2D gap file to exclude some LEDs from display, the excluded LEDs on 2nd (and 3rd) output flash with random colors.
Non-excluded LEDs work normally.
The flashing may look different on each reboot.
To Reproduce Bug
Create 2 or 3 outputs, set up 2D matrix (doesn't matter if you use 1 panel or more), upload 2D gap file that excludes some LEDs on the matrix (use 0, not -1).
Start any effect and observe actual LEDs (peek will not show flashes).
Expected Behavior
No flashes occur and excluded LEDs remain off (black).
Install Method
Binary from WLED.me
What version of WLED?
WLED 0.15.3
Which microcontroller/board are you seeing the problem on?
ESP32
Relevant log/trace output
N/AAnything else?
Appears to be a bug/feature of NeoPixelBus and "inconsistent" Show() call on double buffered bus (RMT, Async UART). "Inconsistent" Show() is used for speed.
The easiest solution is to call "consistent" Show() in bus wrapper but if you want to maintain speed benefit then the solution is to manually clear LED buffers during bus initialization (two Show() calls necessary with all pixels painted black between calls).
The fix has been included in recent (but not yet released) NeoPixelBus. NeoPixelBus 2.8.5 will include the fix and no code modification will be necessary in WLED.
Code of Conduct
- I agree to follow this project's Code of Conduct