Commit Graph

177 Commits

Author SHA1 Message Date
Frank
a3c2f4a0ec fixing UDP sound sync startup problems
sometimes sound sync only worked after disable + enable audioreactive. This hopefully improves the situation.
2023-01-02 20:34:13 +01:00
Frank
d02bdb8a82 UDP sound sync improvement
improving the new auto-reconnect mode.
Only disconnect receiver on network change, or when idle after receiving something.
2023-01-02 20:06:54 +01:00
Frank
6716265469 audio core tuning, UDP sync stabilization
* FFT parameter tuning -> speedup  ~50% on ESP32
* UDP sound sync - try to reconnect if idle
2023-01-01 21:29:45 +01:00
Frank
ac898cb163 small improvement to MIC_LOGGER
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
2022-12-29 23:53:59 +01:00
Ewoud
5c161db062 Add dropdowns for pins (part 1 of 2)
Set for Audioreactive and 4linedisplay usermods

Prepare for globals (part2):
Rename SDA to SDApin etc
2022-12-23 17:21:35 +01:00
Frank
e6bd66d35d improve support for -S2
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.
2022-12-22 23:22:58 +01:00
Frank
f9b9716fdd Improvements for -S2
- 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
2022-12-21 17:25:41 +01:00
Ewoud
fb5c057f94 More usermod help 2022-12-21 13:16:55 +01:00
Ewoud
2af9fc3755 Add mm.kno.wled.ge
Change https://kno.wled.ge to https://mm.kno.wled.ge
Change help to ?  button in usermods
Change WeatherUserMod to Weather
2022-12-21 12:30:40 +01:00
Frank
95e6f471ce miclogger - added average signal (optional) 2022-12-19 18:29:22 +01:00
Ewoud
949373df91 Add usermod help links for AR, 4LD and weather
Other usermods: 

void appendConfigData()
{
... 
 oappend(SET_F("addInfo('<modname>:help',0,'<a href=\"https:// \">Help</a>');"));
   ...
}
2022-12-19 16:42:07 +01:00
Frank
465c032535 audio mic logger improvement
added min/max of raw samples to the plot.
This will help for debugging microphones with strong negative DC offset.
2022-12-19 16:29:49 +01:00
Frank
42cc302159 enable bandpass filter for analog input
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 .
2022-12-19 11:15:37 +01:00
Ewoud
ffe52fcbf5 Merge remote-tracking branch 'origin/ac_main' into mdev 2022-12-16 11:43:27 +01:00
srg74
8caeddde15 Spelling check by @wthomson (#2940)
A lot of spelling corrections. Now repo will sound like educated person :)

Co-authored-by: Bill Thomson <bt@kattt.org>
2022-12-10 16:12:55 +01:00
Ewoud
44b4ced6a3 Platformio defaults in settings: change default by ⎌ 2022-12-08 09:40:52 +01:00
Ewoud
5a97a6a448 Bugfix 2022-12-07 16:09:29 +01:00
Ewoud
84de8dd0a2 Add platformio defaults to 4ld and SR, add moon, add MM in about
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
2022-12-07 15:42:48 +01:00
Ewoud
3160a0b090 Merge remote-tracking branch 'origin/ac_main' into mdev 2022-12-06 14:38:49 +01:00
Frank
0c3adf1f8a pin info small improvements 2022-12-04 20:09:10 +01:00
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
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
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
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