audioSyncPacket contains four "invisible" padding bytes added by the compiler. These need to be initialized to zero, as future versions of the protocol will make use of these fields.
* remove double Wire.begin() - Wire cannot be re-initialized; its already started by pinManager.joinWire()
* Only use global I2C pins; make sure that audireactive I2C settings are aligned with global I2C pins
* minor cleanup
* remove I2C pins from AudioSource::initialize()
Note to self: sdaPin, sclPin are just dummy values now, good for UI consistency, but unused otherwise. Could be removed.
* debug messages added to different initializers
* SPH0654::initialize() was having a wrong signature: uint8 instead of int8.
C++ can be a real bastard ;-)
* npm run build
* enable CI build for esp32_4MB_S and esp32S3_8MB_S (both optimized for speed)
* add animartrix to esp32S3_8MB_S
* workaround for gcc ICE (only happens with V4 framework and -O2 optimize for speed)
* it seems that `WiFiUDP.flsuh()` does something completely different from 8266, and its actually causing WLED to stall on UI calls. So not usable on 8266.
* fixing a few compiler warnings about "comparing signed and unsigned"
NB: its a hotfix, we have to check if there are other problems on 8266. Also its definitely ugly, but it helps as a band aid.
* it seems that `WiFiUDP.flsuh()` does something completely different from 8266, and its actually causing WLED to stall on UI calls. So not usable on 8266.
* fixing a few compiler warnings about "comparing signed and unsigned"
NB: its a hotfix, we have to check if there are other problems on 8266. Also its definitely ugly, but it helps as a band aid.
In contrast to upstream, MM follows a "no pin stealing" approach, so the Wire interfaces are only initialized when needed.
pinManager.joinWire() will take care of the details, and will return false if something went wrong.
* DC blocker: use higher quality filtering on boards with FPU (-S3 and classic esp32)
* experimental: build option to increase audio task priority - reduces latency
The "Major Peak" (for double-notes effects) was computed on the raw FFT results.
However the human ear is more sensitive to higher frequencies (pink noise profile).
This code change considers human ear properties for major peak computations.
Effects like "freqmap" will look much more vivid afterwards, as higher frequencies will now have a stronger influence (harmonics are still suppressed properly).