P4 experimental#224
Conversation
Fixes for ES8311 auto level control
…updating() Another instance of the "if (strip.isupdating()) return;" problem that we inherited from upstream 🙄
* make XY() and _setPixelColorXY_raw() const (minor speedup) * segment is a struct not a class: friend class Segment --> friend struct Segment * fix missing braces around two macros * use non-throwing "new" where possible * improve robustness of transition code
Update readme.md for rgb-rotary-encoder usermod
Add correct pin availability for ESP32 Mini modules
this complements the previous commit
- helps to stabilize power on the LEDs before sending data
* switch on relay _after_ the current leds transmission is complete.
when the user wants less than 42 fps, respect this limit during transitions.
... allows to start effects a bit aerlier. Enabled by default on -S3. for your own builds, add `-DWLEDMM_NO_SERIAL_WAIT` to build_flags.
* wait until strip.service() is done * blank strip * wait until all LEDs are updated * load new preset
MM builds are still using the standard arduino platform - we'll "flip the switch" later
support up to 56 GPIO pins (0 thru 55)
* use a more meaningful max universes limit of 112 (safe up to 128x128 pixels) * accept more universes, but only track sequences for the configures max universes * made e131LastSequenceNumber[] local (its only used in e131.cpp)
* move "progress()" into FX.h so the compiler can inline it * removed redundant checks in currentBri()
Seems like a 10 microsecond delay on boards like the ESP32-P4 may not be enough, causing some issues with UDP audio sync being delayed or appearing "buffered". Oddly 10 microseconds was fine with the ESP32 and ESP32-S3, so it may also be an underlying IDF v5.3 change. Practically, 10 microseconds or 100 microseconds isn't a real difference when we're dealing in frames per second.
* isValid() -> isOk() * removed unneeded "lastBus != nullptr" checks * re-enable lastBus optimization in getPixelColor() and getPixelColorRestored() * remove duplicate checks for _valid== true from busses (already done at BusManager level)
* use bitmask operations in getBitFromArray, setBitInArray * make currentBri "const"
fix for a corner case that might lead to unexpected math overflow
* moving color_blend, color_add, and color_fade to a seperate file, to allow the compiler to inline the functions. * inlining slightly increases firmware size - original non-inline functions get used on 8266, or when WLEDMM_SAVE_FLASH is defined.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Latest and greatest. Now with local LED support!