Commit Graph

235 Commits

Author SHA1 Message Date
Frank
51a23bd62c parameter tuning
minor tweaks.
2023-06-19 11:16:35 +02:00
Frank
e0cb636706 re-enable old peak detect algo, plus ripplepeak bugfix
* re-enabled old detector which does not detect beats. However something bad may still be better than nothing...

* fixed a typo in RipplePeak and Waterfall effect, which cased wrong configuration of the peak detector.

resolves https://github.com/MoonModules/WLED/issues/43
2023-06-18 21:55:51 +02:00
Frank
74f75b1124 global buffer for UDP sound sync
to prevent memory fragmentation.
* use global (static) buffer for receiving
* added missing flush()
2023-06-07 12:27:39 +02:00
Frank
8c5e589020 arduinoFFT hash update
to fix the gh build, following latest dev.
2023-05-27 00:00:08 +02:00
Frank
4407f8a71b audioreactive: replace dynamic buffer with static buffer
using a dynamic array for newSamples[num_samples] was never needed. It was a risks as the buffer was allcated/deallocated with every call of getSamples().
2023-05-25 21:45:46 +02:00
Troy
0ff5918e9c Merge branch 'MoonModules:mdev' into ES8388-Lyra-T-Fixes-Test 2023-05-23 12:34:01 -04:00
Frank
477aae95fd swapped-channel workaround needed a bit longer
It seems that ESP-IDF 4.4.5 will (finally) fix this old bug.  hallelujah.

73ca054b80 (diff-02a5aef0ab7d8485b0a165910efaab3dfc450b473eef0bab1b32bccb4ea85c69)
2023-05-11 22:57:18 +02:00
TroyHacks
3df2272791 Warnings about AudioKit rubbish 2023-05-04 08:55:00 -04:00
TroyHacks
1713204bfe Better ES8388 init and mic support 2023-05-01 21:07:33 -04:00
TroyHacks
32a501c2e3 It's offically the LyraT, not Lyra-T. 2023-04-25 23:47:28 -03:00
TroyHacks
00e3f5e5fa Mic settings for ES8388. Also ALC, pass-thru, etc. 2023-04-25 23:45:09 -03:00
TroyHacks
0fd9596860 Fixes for LyraT 2023-04-22 08:35:03 -04:00
TroyHacks
58e2a3992b Some fixes for LyraT and also better inits/docs 2023-04-21 13:58:41 -04:00
Frank
a1bdb47c30 trying to make sound pressure less boring for line-in
"sound pressure" for line-in was always close to max - which is expected, because the ADC chip utilize the full 24/16bit sample range.
The new calculation leads to some more "movement".
2023-04-10 23:57:44 +02:00
Frank
8ba43b63ec Sound pressure: modified correction factors for PDM and analog 2023-04-10 03:29:59 +02:00
Frank
61949cfdc8 Sound Pressure - some optimizations
- slightly extend input range
- add correction factors for some sound sources
- gravimeter: tweaking
2023-04-10 02:04:53 +02:00
Frank
197e120e3b estimated audio sound pressure 2023-04-06 18:58:20 +02:00
Frank
b09077627e low-cut audio input filtering
* 40Hz low-cut and DC blocker filter - will remove any signal offsets and also removes rumbling noise up to 12db
* DC blocker set as default for all sources (prerequisite for later measuring sound pressure)

additional filtering options are in the making :-)
2023-04-06 17:56:32 +02:00
TroyHacks
95d6d186c7 ES8388 init optimizations and fixes 2023-04-05 11:00:14 -04:00
Ewoud
cae1c00467 ARTIFX add support for pixelart + small changes
arti_wled.h:
- add jsonToPixels and frameTime
- change printf to print

usermod_v2_artifx
- return MAX(frameTime,FRAMETIME); 

FX.h and FX_2Dfcn.cpp
- add jsonToPixels

audioreactive.h
- ES8388 allow for default and add moon
2023-04-05 13:22:50 +02:00
TroyHacks
111c8c9202 Merge branch 'ES8388-troyhacks' of https://github.com/troyhacks/WLED into ES8388-troyhacks 2023-04-04 17:04:55 -04:00
TroyHacks
f44f307f89 Comments and typos, init optimization and shortening. 2023-04-04 17:04:18 -04:00
Troy
7d32bc5f97 Merge branch 'ES8388' into ES8388-troyhacks 2023-04-04 14:10:04 -04:00
TroyHacks
d775f7fb28 Removed reliance on the ES8388 library and made things more in line with similar boards with I2C init. 2023-04-04 14:01:47 -04:00
TroyHacks
bd477624f0 Working proof of concept for ES8388 2023-04-03 22:41:29 -04:00
Will Tatam
03570848f4 Merge branch 'mdev' into ES8388 2023-04-03 19:20:41 +01:00
Will Tatam
760ff836c3 Merge branch 'mdev' into ES8388 2023-04-03 19:15:28 +01:00
Frank
df9df5e4c8 audireactive: fix for missing dropdowns on -S3/-S2/-C3
these MCUs do not support analog mics, however some code was still existing that tried to add 'AudioReactive:analogmic:pin'.
2023-03-24 17:16:10 +01:00
Frank
5c6e627d28 update for ICS big speaker MIC profile
- reduce reaction to bass
- improved "pink noise" response in mid range
- enhance reaction to higher frequencies
- Lupo is back
2023-03-24 13:17:40 +01:00
Ewoud
d452da2642 NetDebug fix and small changes
AudioReactive: show ☾ specific
IR: cleanup
json.cpp: bugfix: NetDebug not in presets
wled.cpp and wled_server.cpp: show servername in DEBUG INFO
2023-03-22 16:31:07 +01:00
Frank
78f55bce70 small change
parameter tinkering
2023-03-22 16:10:52 +01:00
Frank
691ad17b04 Small oops 2023-03-20 22:33:10 +01:00
Frank
87069ef7c0 audio processing: MicLevel "FAST freeze mode"
This mode freezes MicLev even fast. However it makes some assumptions that may not always be true:
* At least 12 seconds of silence during start
* a high quality microphone with very low noise level.
--> If you are not sure about these preconditions, better use normal "Freeze" mode.
2023-03-20 22:16:35 +01:00
Frank
fc9f3a1c24 audio processing: minor updates
- small optimizations
- remove overlapping in fft bin -> geq channel mapping
- move "freqRMS" to last position in the UI list
2023-03-20 21:43:58 +01:00
Ewoud
b30438ab1a AR: Add Frequency Distribution Normal and RightShift
Experimental setting
2023-03-20 15:15:04 +01:00
Frank
c0be44e07f audioreactive: experimental options for sound processing
- micLev:  "freeze" mode - should help to prevent short "dropout" wen music is playing
- freqRMS: if set to "On", will use a different method for averaging higher frequencies. May give you more action in GEQ. Could lead to GEQ "overshooting" as Mic Profiles are not adjusted to this method.

* const.h: static json buffer (usermod settings pages) was getting tight, added some margin
2023-03-20 14:11:12 +01:00
Frank
feb5542046 enable filters for legacy PDM 2023-03-19 20:52:36 +01:00
Frank
a525c0633a legacy PDM driver option
for low-cost PDM mics that do not have enough volume when used with the standard PDM driver.
2023-03-19 20:29:09 +01:00
Frank
559716867a minor rewording
seems that nobody understands what "GPIO config" means 😜 maybe "pin settings" is clearer.
2023-03-12 14:59:50 +01:00
Ewoud
bb6662ee35 NetDebug: switch between serial/netdebug, store ip and port in settings
pio.ini: enable WLED_DEBUG_HOST in esp32_4MB_M_debug and esp32_16MB_M_debug

audio_reactive, um6050, wled.h
- replace DEBUGOUT.print(x) by DEBUGOUT(x) etc

wled.h: switch between serial/netdebug

cfg.cpp, set.cpp, wled.cpp, xml.cpp
- store netDebugPrintIP and netDebugPrintPort in cfg.json

index.js: rename info tab on off to Net Debug

settings.sync: add netdebug

net_debug.h/cpp: use global netDebugPrintIP remove debugPrintHostIP
2023-02-24 15:40:16 +01:00
Ewoud
6437cc8c7e 4ld and ar um: default pins -1, if set, show in pin dropdown
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
2023-01-27 11:09:08 +01:00
Ewoud
15d753aa4a Show analog pins in pin dropdown and show only if analog signal
- 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
2023-01-23 20:44:12 +01:00
Frank
b27f70f423 AR: small fix for debug statistics
"smooting" does nor work in integer. we need float.
2023-01-19 17:45:16 +01:00
Frank
72168d28b1 new build flag SR_ENABLE_DEFAULT
for boards with builtin microphone (like PICO)
2023-01-18 23:09:37 +01:00
Frank
5575d6ab11 audioreactive optimization for -C3
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)
2023-01-18 18:40:37 +01:00
Ewoud
10f006ef18 Small changes on pin dropdowns / usermod help
platformio.ini: add wemos_shield_esp32_4MB_all_base

usermods:
- rename disableROPins to disableRO
- bme280: add appendConfigData, info and disableRO
- PWM Fan: add appendConfigData

Settings_um.htm
- add 🟢
2023-01-16 15:07:41 +01:00
Ewoud
90c0870e74 pinDropDown: make reserved and read only aware and disable if needed
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
2023-01-14 17:30:43 +01:00
Ewoud
642d7d91ea i2c_sda, i2c_scl, spi_mosi, spi_miso, spi_sclk without HW_PIN_*, bh1750
platformio: 
- add bh1750 to _max
- define rotary defaults for wemos

usermod_bh1750
- Remove HW_PIN_* and replace by i2c_sda etc
- add appendConfigData

usermods mpu6050_imu, rtc, 4ld, pinmanager
- Remove HW_PIN_* 

change SDA2:pin (etc) to SDA:pin
2023-01-05 16:35:49 +01:00
Ewoud
23663a46f9 Refactor global pins settings using dropdowns and add to rotary_encoder
- 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
2023-01-04 12:17:14 +01:00
Ewoud
9bc6451145 appendConfigData only for usermod + optimizations
- 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
2023-01-03 13:08:14 +01:00