* UM BH1750 adjustments to use new MM features
* UM BH1750 check sensor status before tryig to read new value (avoids blocking LED updates)
* UM temperature: ensure that measurements continue with many LEDs running (strip.isUpdating() will be true all the time)
* all usermods: solved compile problems on 8266
Use MM specific features in SHT usermod:
* Join global I2C bus with pinManager.joinWire()
* allow to compile without MQTT
* use extended Usermod class features
* prevent sensor starvation when running with > 600 LEDs
due to build errors on some esp32 envs.
Build Environments (esp32_16MB_M_eth)
In file included from wled00/bus_manager.cpp:9:0:
wled00/bus_wrapper.h: In static member function 'static void PolyBus::begin(void*, uint8_t, uint8_t*)':
wled00/bus_wrapper.h:187:61: error: 'DotStarEsp32DmaHspi5MhzMethod' was not declared in this scope
#define B_HS_DOT_3 NeoPixelBrightnessBus<DotStarBgrFeature, DotStarEsp32DmaHspi5MhzMethod> //hardware HSPI with DMA (ESP32 only)
^
wled00/bus_wrapper.h:300:37: note: in expansion of macro 'B_HS_DOT_3'
case I_HS_DOT_3: (static_cast<B_HS_DOT_3*>(busPtr))->Begin(pins[1], -1, pins[0], -1); break;
^
wled00/bus_wrapper.h:187:90: error: template argument 2 is invalid
#define B_HS_DOT_3 NeoPixelBrightnessBus<DotStarBgrFeature, DotStarEsp32DmaHspi5MhzMethod> //hardware HSPI with DMA (ESP32 only)
In file included from wled00/bus_manager.cpp:9:0:
wled00/bus_wrapper.h: In static member function 'static void PolyBus::begin(void*, uint8_t, uint8_t*)':
wled00/bus_wrapper.h:187:61: error: 'DotStarEsp32DmaHspi5MhzMethod' was not declared in this scope
#define B_HS_DOT_3 NeoPixelBrightnessBus<DotStarBgrFeature, DotStarEsp32DmaHspi5MhzMethod> //hardware HSPI with DMA (ESP32 only)
^
wled00/bus_wrapper.h:300:37: note: in expansion of macro 'B_HS_DOT_3'
case I_HS_DOT_3: (static_cast<B_HS_DOT_3*>(busPtr))->Begin(pins[1], -1, pins[0], -1); break;
^
wled00/bus_wrapper.h:187:90: error: template argument 2 is invalid
#define B_HS_DOT_3 NeoPixelBrightnessBus<DotStarBgrFeature, DotStarEsp32DmaHspi5MhzMethod> //hardware HSPI with DMA (ESP32 only)
* FastLED 3.5.0 #master (up to 50% faster)
* All ESP32 env use NeoPixelBus 2.7.3 (slightly faster)
* Weather usermod: small update, as fastLED wants an explicit conversion from CRGB -> uint32_t
* weather usermod: avoid using palette color #0 = black
WLED was using uint16_t internally to index files, which leads to random behaviour when the real filesize is above 64Kb.
Better to use size_t which is the "right" type that can hold the largest possible size.
* getpixelcolor: attribute pure - it reads memory, but does not write
* some optimizations for SEGMENT.blur() and SEGMENT.fadeToBlackBy()
* FX.c:pp remove double calls to blur() and fade_out()
* FX.cpp: SEGMENT.setUpLeds() added to effects, to enable LED buffering (safe some time because getPixelColor does not need to access NeopixelBus)
* a few other optimizations to safe time and avoid "expensive" operations
* set I2C bus speed to 400kHz (default is 100Khz)
* a few other small optimizations and tweaks
* pio: esp32 V4 builds use "patch5" toolchain version, which contains a few bugfixes especially for memory management.
use 4 RMT channels, then I2S#1, then RMT 5-8. This allows to have up to 5 "fast" LED pins.
"Even though the ESP32 has 8 channels of RMT hardware, using beyond 4 has shown to cause sending delays." (https://github.com/Makuna/NeoPixelBus/wiki/ESP32-NeoMethods#rmt)
* make local functions "static"
* use fast_ int types where possible
* use native min/max instead of MIN/MAX macros. Macros evaluate each parameter TWICE!!
* adding __attribute__((pure)) and __attribute((const)) to help the compiler optimize
* ws.cpp: reduce max "live leds" in fastpath mode
* blurz: some visual improvements
* Matripix: improved color smoothness, Color by frequency (instead of volume), option to use sound pressure
* pixelwave: improved color selection, use sound energy instead of volume
* freqwave: some speedups, option to show frequency with "musical scale"
* gravfreq: fixed some math accidents that lead to horrible flickering
* default setting improved for some effects
* use _fast_ integer types in loops - in contrast to "uint16_t" etc, the compiler can leave out range/overflow corrections, so it might run faster.
* fcn_declare.h: revive "WLED_USE_REAL_MATH" option, which can be a bit faster on ESP32.
Tool Manager: toolchain-xtensa-esp32s3@8.4.0+2021r2-patch3 has been installed!
Tool Manager: Installing espressif/toolchain-riscv32-esp @ 8.4.0+2021r2-patch3
Error: Could not find the package with 'espressif/toolchain-riscv32-esp @ 8.4.0+2021r2-patch3' requirements for your system 'linux_x86_64'
Error: Process completed with exit code 1.