This is a dirty hack, but I don't know enough about JS to make a clean solution.
- xml.cpp: -S3 has different "forbidden GPIO".
- LED settings & UM settings: temporarily disabled some "sorry PINS cannot be used" alerts. Changed maximum GPIO number to 48.
Adds these to lines to the serial USB debug output (at startup):
````
CPU: ESP32-S3 rev. 0, 2 core(s), 240MHz.
FLASH: 8MB, Mode 2 (DIO), speed 80MHz.
PSRAM not used.````
- Updated ESP32 targets to use IDF 4.4.3 (thanks tasmota!)
- Fixed a compilation problem in ARTI (WLED_FS instead of LITTLEFS)
- Initial compilation support for ESP32-S3. Warning: there are still many problems to be solved before -S3 becomes usable!
- audioreactive: added #ifdef for features not yet supported on ESP32-S3
- updated mdev config, to use latest arduinoFFT, plus threadsafe LittleFS, plus default to 80Mhz flash speed.
- re-introducing the preset saving fix from SR WLED. Still I don't believe that upstream got that corrected properly.
- remove settings_um2
- remove addToConfigMenu
- settings.htm: add isO and ldS (inspired by settings_um.htm): add usermod buttons to urows
settings_um.htm: check url um var and if set show only this usermod. Only show globalGPIOs if no usermod
General (for CE, but also used by M12_pArc)
- add drawArc
Custom Effects
- add WLEDSR Custom Effects comment to places in WLED where it is hooked in
- move from wled.json to wledv123.json
- rename matrixWidth/Heigth to width/height and use virtualWidth/Height
- remove setPixels
- add drawLine / drawArc
- Un-F() most segment JSON keys, decreases JSON doc usage by 47 B (increases static RAM usage by 32 B),
makes `extractModeDefaults` work without strstr_P
- Removed String from serializeModeData and serializeModeNames
- Set 0.14 version name "Hoshi"
- save 1K of RAM by optimizing out
fftBin[].
- moved several copies of the peak reset code into a single function
- moved peak detection out of getSample().
- call peak detection function as last step of FFTcode. More optimal, and we can be sure that fresh FFT result are available.
Peak detection/reset are now called from both tasks, so I had to move some peak-related vars out of AudioReactive class and make them global (static).
also when user wants less than 16 bands.
Previously when users selected fewer bands (like 4 instead of 16), only the lowest freq channels were displayed.
- put variables with same context next to each other.
- removed a few vars that are not needed any more.
- replaced "16" by a more descriptive constant