Repository navigation
Fix calling usermod overlay prior to setup - #5933
willmmiles wants to merge 2 commits into
Conversation
This function is unused - no need to pay for the indirection.
If not using a relay, explicitly black out the LED data instead of calling the rendering engine at boot. This avoids calling usermod overlays prior to usermod setup.
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Remove the show callback wled00/FX.h, wled00/FX_fcn.cpp |
WS2812FX no longer declares or stores a show callback. WS2812FX::show() calls handleOverlayDraw() to draw overlays. |
Clear buses during strip initialization wled00/bus_manager.h, wled00/bus_manager.cpp, wled00/wled.cpp |
BusManager::blank() sets every pixel on each bus to black. When no relay pin is configured, beginStrip() blanks and shows through BusManager. It resets doInitBusses after strip initialization. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Bug fix
Suggested reviewers: dedehai, softhack007
Merge Risk: 
Minimal · up to 83c0b
-
The changed boot path blanks the LEDs without invoking overlays before setup. No issue identified here requires a fix before merging.
Pre-merge checks: 
4 · 
1
-
Failed checks: 1 warning Passed checks: 4 passed -
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands.
|
This is the right fix 👍 much better than adding quirks into usermods that need to draw as an overlay |
Two small fixes:
beginStrip()instead of callingshow(). This avoids triggering usermods and running the whole effect engine to produce what we want to be a deterministic output. It's also faster.setShowCallback(). I believe this was meant to enable usermod overlays, at the right point in the boot sequence, but was used incorrectly. It's also no longer necessary to pay the performance penalty for doing the check and making the indirect function call.Ref: #5920 (comment)
Summary by CodeRabbit