Audio reactive usermod: add pio.ini build flags defaults (⎌) for mclk, sda and scl (if set)
4ld usermod:
- if pio.ini build flags not set, make them -1 (undefined is even better but then problems with allocate pins, to be done later)
- pio.ini build flags defaults (⎌) different if spi (clockspi and mosispi instead of scl and sda)
- add pio.ini build flags defaults (⎌) for SPI CS, DC and RESET
- shorten oappend MM function names
- add aOpt: analog options only
- add pin 17 for esp8266 (analog pin)
- add a.pins array to show analog pins in pin dropdown
some optimizations for -C3.
* skip every second FFT, and use interpolation instead.
* reduce sampling rate from 22Khz to 18Khz
* new debug measurement for I2S cycle times (FFTTask)
--> in total, this brings CPU load for sound processing down to 60% (from >100% previously)
AudioReactive: add disableROPins on WS, SCK, MCLK and SCL
4LD: add disableROPins on CLK
settingsum:
- addfield: max 49 pins, if (global interface) also disabled, rename if to global, show 🔴 if pin claimed
- add disableROPins
- pinDropdownsPost
- rename SDA to if:SDA (etc) so it is part of claimed pins (also in set.cpp and xml.cpp)
xml.cpp:
- appendGPIOinfo(): get rsvd and ro_gpio from pinManager.isPinOk instead of hardcoded
- getSettingsJS: add pinDropdownsPost
- replace rOption by xOption (extend option) to show default value (⎌)
- Usermod rotary_encoder: add appendConfigData function and show help and default functions
- Settings.htm: Move Usermods(pins) below the usermods
Settings_um.htm
- remove SDAPin etc
- comment check(0,k) as not used anymore
- add xOption
- add generated global pin fields (using addField) in ldS
- remove hard coded global pin fields
set.cpp: set i2c_sda etc using new generated fields
xml.cpp: set generated fields values using i2c_sda etc and show defaults
- rename replaceOption to rOption
- rename removeOptions to dOptions
- set oAppend buffer size back to 3096
- WLEDMM warning on settings2D Populate
- add AppendConfig per usermod
- add request parameter to getSettinsJS
- add lookupName
make the serial plotter graphs easier to read:
* physical samples scaled down to 50%
* added 256 for all effect vars, so their graph will always be above the physical samples lines
got myself an adafruit "qt py -S2" with tinyUF2 bootloader. So I wanted to get that working. And it does work :-).
FFT time = 10ms (instead of 2ms on classic ESP32) is a very good result, also virtual USB runs much better now.
- new partition table for boards with UF2 boot (Adafruit qt py S2)
- better treatment of debug out using "USBCDC" native port
- workarounds for watchdog crashes on -S2
- Add missing but mandatory build flags for -S2 and -C3
Analog input seems to sometime have a very strong negative DC offset, when the signal is not centered at 1.8V. The bandpass filter should help to reenter such "off limits" signals.
See discussions in issue #10 .
const.h: increase SETTINGS_STACK_BUF_SIZE
audio_reactive, 4ld and usermod (xml.cpp)
- add defaults in settings
index.htm: add moon
settings_sec: add WLEDMM about
settings_um: add <br> so comment can be shown decently
platformio:
- remove ABL_MILLIAMPS_DEFAULT from build_flags_min, set default 1500 in const.h
- add default in wemos_shield_esp32_4MB_max_base
- add wemos_shield_esp32_16MB_SPM1423_max
arti_wled.h: bugfix use all leds in 2D
usermod_v2_customeffects.h: fill black if call==0
index.js and xml.cpp: bin name: replace one _ by ' ' to enable line wrap in info tab and ota update
- prepare for merging upstream
--> audiorective files should stay the same after merging!
- makuna just release NeoPixelBus 2.7.1 -> use for "V4" build
* audioreactive driver update
- Better handling of PDM and I2S Line-in
- Bugfixes for ES7243 (allocateMultiplePins)
- More error messages for ES7243
- sample scaling (needed for sources that use full scale of samples)
* audiorective update
* align SR_DEBUG with WLED_DEBUG
* optional bandpass filter (needed for PDM mics)
* sample scaling for PDM and Line-In
* small improvements for analog input
* bugfixes and small performance improvements
* code for FFT task refactored, for better readablity. Introduces separate functions for filtering and post-processing
* small improvement for beat detection
* default mic settings can be configured at compile time
* correct mic type if MCU does not support PDM or ADC
* hide analog PIN config if not supported by MCU
* audioreactive updates
- minor updates to source code (see discussion in PR #2907)
- usermod readme improvements
* small readme update
* one think I overlooked
* ok, another edit. Now its final. Hopefully.
* small upps
wrong parameter order in debug message.
* Grouping um settings, add pre and post Info, update SR & 4LD settings
Settings_um.htm:
- modify addField (grouping)
- addInfo (pre and post texts)
Add preInfo to audio reactive and 4ld usermod
Extra:
platformio: wemos_shield: add audio reactive usermod and update to alt display
* um settings: cpp: lowercase, js: initcap
* um settings: txt only pre, txt2 only post and initCap as function
* Fix rotary encoder info string
Co-authored-by: Blaž Kristan <blaz@kristan-sp.si>
- hide "Analog Mic PIN" setting if I2S-ADC is not supported by the hardware
- In case of usupported config (PDM or ADC), overwrite dmType with default.