414 Commits

Author SHA1 Message Date
Frank
676cc26171 use Serial.print for important info like wifi stuff
.. and for other important info.
Will be muted automatically in case that serial is in used for other purposes.
2022-12-04 17:52:10 +01:00
Ewoud
e799cb5bd1 CustomFX, platformIO and bin name: small updates
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
2022-11-29 15:32:26 +01:00
Blaž Kristan
9f1a7a1c20 Swap info. 2022-11-29 15:02:56 +01:00
Frank
1f0b53ce7a prepare for merge with upstream
- prepare for merging upstream
--> audiorective files should stay the same after merging!
- makuna just release NeoPixelBus 2.7.1 -> use for "V4" build
2022-11-29 13:49:17 +01:00
Frank
98138a02e3 audioreactive usermod update (align with MoonMod code) (#2907)
* 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.
2022-11-28 20:52:33 +01:00
Ewoud
bf51b0bdf1 addInfo fix and simpler version numbering system
- addInfo: revert back to initial solution to fix mixing up pre and post
- new version: 0.14.0.7 (stop using 2 digits at the end
2022-11-28 20:34:42 +01:00
Ewoud
91c2ce0d8f Merge remote-tracking branch 'origin/ac_main' into mdev 2022-11-28 19:58:51 +01:00
Will Tatam
0a8347fb74 Further work in progress on ES8388 driver 2022-11-27 16:54:05 +00:00
netmindz
91fd6b7a7c Merge branch 'MoonModules:mdev' into ES8388 2022-11-27 14:54:51 +00:00
Frank
4cedcf6ad8 PIO: fix platformV4_packages
It seems that "platformio/framework-arduinoespressif32@ ~3.20004.220825" was removed/renamed very recently.
2022-11-26 22:26:18 +01:00
Ewoud
78e9f5bd1a Clean up UserMod settings: grouping of variables and add preInfo to variables (#2894)
* 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>
2022-11-26 03:44:04 +01:00
Frank
75b4c7e9e9 use WLED_DEBUG for important warnings
* make sure that important warnings are also shown when only WLED_DEBUG is set, but SR_DEBUG not set.
* some extra error messages for ES7243
2022-11-25 13:44:06 +01:00
Frank
3469648340 If MCU does not support analog, hide analog PIN settings
- 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.
2022-11-25 12:53:24 +01:00
Frank
3f4e7a6a77 AudioSource parameter re-ordered
making "i2sMaster" the last optional parameter
2022-11-25 10:35:23 +01:00
Frank
dfd839de87 add braces around potentially-empty (debug) else branches
the compiler advises "suggest braces around empty body in an 'else' statement [-Wempty-body]". We follow.
2022-11-24 16:53:58 +01:00
Frank
8899704f91 Mic Profile for SPM1423
* added mic profile for SPM1423 (a new microphone board with PDM interface).
* npm run build (yo-man).
2022-11-24 12:28:11 +01:00
netmindz
c80e65e106 Merge branch 'MoonModules:mdev' into ES8388S 2022-11-23 21:43:04 +00:00
Frank
17e6a887cb FFT code restructuring, part2
puting mic filter and FFT post-processing into seperate funtions, to improve code clarity.
2022-11-23 14:39:19 +01:00
Frank
068e88453c FFT code restructuring, part1
- FFT code restructuring
- align definition of SR_DEBUG with WLED_DEBUG
2022-11-23 13:12:33 +01:00
Will Tatam
5be6f748bc Merge branch 'mdev' into ES8388S 2022-11-22 20:34:21 +00:00
Will Tatam
8d8153d3ab Add ES8388 as source option 2022-11-22 20:28:09 +00:00
Will Tatam
69ed8084a1 Work in progress on building ES8388Source from es8388arduino library 2022-11-22 20:12:51 +00:00
Will Tatam
e7fd000636 Work in progress on building ES8388Source from es8388arduino library 2022-11-22 20:07:49 +00:00
Frank
1446bab3c5 I2S: another attempt to make "slave mode" work 2022-11-22 17:14:02 +01:00
Ewoud
b0b78a9959 um settings: cpp: lowercase, js: initcap 2022-11-21 17:45:53 +01:00
Frank
18693dc96a CS5343 optimization
-updated Mic Profile (Line-in)
- squelch=2 is enough
2022-11-21 12:13:46 +01:00
Ewoud
ea5ac3f55a SR settings bug fix 2022-11-20 14:57:50 +01:00
Ewoud
e5b54c947b Grouping um settings, add pre and post Info, update SR & 4LD settings
Settings_um.htm: 
- modify addField (grouping)
- addInfo (pre and post texts)
2022-11-20 13:53:47 +01:00
Frank
c57f75c759 small change 2022-11-19 18:14:15 +01:00
Frank
cfe6fbb00c es7243 additional error checking
- es7243: check for valid SCK and MCLK
- minor UI improvements
2022-11-19 17:35:44 +01:00
Frank
a4ab3ee6f1 fix I2C pin alloc, and prep for settngs decluttering
ES7243: fix I2C pin alloc (multi-pin)
AR settings: prepare for de-cluttering
2022-11-19 16:38:53 +01:00
Ewoud
37e88ef08a Merge pull request #4 from netmindz/i2s-labels
Change lables for digital mic to be their name
2022-11-19 14:25:26 +01:00
Will Tatam
c620a50b1d Change lables for digital mic to be their name, with common acronyms listed after rather than assuming everyone uses INMP441 2022-11-19 12:44:26 +00:00
Frank
d593120dae some sanity checks for new MCUs
- warn if I2S does not have analog support
- warn if I2S does not have APLL clock
- compilation error if I2S not supported
2022-11-19 02:55:45 +01:00
Ewoud
aef16b5199 platformio: add squelch, gain, profile defaults and mic / lineIn envs
audio_reactive.h: 
- add SR_SQUELCH, SR_GAIN and SR_FREQ_PROF
- Set AGC default to 1
- Rename DMTYPE to SR_DMTYPE

platformio.ini: 
- _base entries: remove env:
- wemos_shield_esp32_4MB_max_base
- add wemos_shield_esp32_4MB_ICS4343x_max
- add wemos_shield_esp32_4MB_SPM1423_max
- add wemos_shield_esp32_4MB_LineIn_max
- update esp32_pico_4MB_max
2022-11-18 16:57:07 +01:00
Frank
dce3b04695 update for filter coefficient
Seems that I made a small mistake when calculating cut-off frequencies. Updated values make more sense.
2022-11-18 12:55:53 +01:00
Frank
d3af3446f7 add bandpass filter for PDM mics
This introduces an optional band pass filtering step to remove low frequency noise. Very effective for PDM mics - reduces noise floor by a factor of 100 !
2022-11-17 15:09:54 +01:00
Frank
aae50942a2 line-in parameter tuning 2022-11-14 18:14:36 +01:00
Frank
09ce16e6f8 minor cleanup 2022-11-10 11:00:30 +01:00
Frank
06af6f5ad0 don't use aPLL in IDF version 3
seems that this interferes with MCLK routing
2022-11-09 21:08:46 +01:00
Frank
0fdc0d042d small improvements for I2S PDM and I2S Line-in 2022-11-09 18:36:02 +01:00
Frank
20aebf2789 improved support for PDM microphones (SPM1423)
seems that the "swapped channel" workaround is not needed for PDM.
2022-11-09 00:01:40 +01:00
Frank
260740d210 small improvement for analog input
do not disable ADC initially.
2022-11-07 16:26:33 +01:00
Frank
4bd35b780e Some improvements for I2S Line-In
- I2S DAC devices utilize the complete sample range [-32767 ... 32768], while I2S microphones typically deliver  samples in [-2047... 2047]. Down-scaling Line-in samples ensures that filters and AGC operate optimally.
- use aPLL clock source for I2S with MCLK
- experimental: I2S slave mode (however could not get it to work ...)
2022-11-07 15:34:42 +01:00
Frank
52d1e6d197 Merge remote-tracking branch 'origin/audioreactive-prototype' into mdev 2022-10-21 12:16:51 +02:00
Frank
ba0bc31525 UDP sound sync: added decoder for legacy packets
support decoding of sound sync data from SR version > 0.13.0
2022-10-21 12:12:02 +02:00
Frank
8847d47bee cherry-picking from audioreactive development
A few goodies from my development branch, before I continue refactoring so much that I can't extracts nothing anymore.
- GEQ fades a bit slower
- updates to mic profiles
- simple peak detection without FFT (low freqs only)
2022-10-17 18:40:15 +02:00
Frank
19fd5f61db update for ICS-43434 big speaker 2022-10-07 17:44:24 +02:00
Frank
f5b74a2b79 Merge remote-tracking branch 'origin/audioreactive-prototype' into audio-reactive 2022-10-06 18:22:58 +02:00
Frank
64441b39ac critical bugfix
it's possible that volume samples become negative. In this scenario, our simple noise gate does stupid things, and it looks like "effects temporarily lost the sound".
This fix improves the situation, and makes sure that volume samples are always >= 0.
2022-10-06 15:39:28 +02:00