Blaz Kristan
753ae51dd5
Stop & restart UDP on pause/update.
2022-08-18 20:42:58 +02:00
Frank
3e494cc551
removed broken frequency squelch, added frequency scaling options
...
- removed broken FFTResult "squelch" feature. It was completely broken, and caused flashes in GEQ.
- added Frequency scaling options: linear and logarithmic
- fixed a few numerical accidents in FX.cpp (bouncing_balls, ripplepeak, freqmap, gravfreq, waterfall)
2022-08-18 19:07:37 +02:00
Blaz Kristan
67a51be9ee
Merge branch 'audioreactive-prototype' into merge-audio
2022-08-17 20:14:11 +02:00
Blaz Kristan
2149bbb8ea
Remove CS from global interface pins.
...
Fixes.
2022-08-17 19:44:32 +02:00
Frank
d92a93f1d5
AR: added dynamics limiter usermod cfg options
...
- On/Off controls the complete feature
- Rise Time and Fall Time are the minimum times (in milliseconds) for "volume" to go from 0% to 80% and back.
- when "On" we also use some filtering to smooth FFTResults[]. Rise and Fall Times do not affect Frequency reactive effects otherwise.
2022-08-17 13:40:54 +02:00
Frank
1336de12a0
Info Page: added status info for audioreactive
...
- Current sound source - including "failed to initialize"
- Current AGC or Manual Gain
- Sound Sync Status
2022-08-17 00:15:06 +02:00
Blaz Kristan
0f78bd3785
PWM fan manual speed override.
2022-08-16 20:57:24 +02:00
Frank
1a2701561b
AR: bugfix for audio sync receive, and a few robustness improvements
...
* Header checking for sound sync receiver: removed wrong "!"
* make sure all member vars have initial values
* some robustness improvements in case of receiving bad UDP data.
2022-08-16 12:02:22 +02:00
Frank
91fe80334b
Merge remote-tracking branch 'origin/segment-api' into audioreactive-prototype
2022-08-15 21:33:30 +02:00
Blaz Kristan
7125d19af1
Bugfix for saving usermod settings.
...
Modification of global interface pin allocation.
Code relocation in 4LD.
2022-08-15 20:23:47 +02:00
Frank
873e41dcfb
AR: change smoothing of FFTResult
...
FFTResult smoothing changed; rising edges will be very quick, falling down is slower.
2022-08-15 14:28:51 +02:00
Frank
5a4713950c
improved ADCsample processing (from SR WLED)
...
improved ADCsample processing, including replacement of "rogue" samples from other channels (this happens at least once in 5 seconds !!).
It compiles, don't ship it yet - needs more testing.
2022-08-14 16:17:34 +02:00
Frank
c6691564a5
removing dead code from getSamples()
2022-08-14 14:47:03 +02:00
Frank
8acb44b202
small improvement for limitSampleDynamics
...
support the case when only attackTime XOR decayTime is defined
2022-08-14 14:38:27 +02:00
Frank
72770e5809
Merge remote-tracking branch 'origin/segment-api' into audioreactive-prototype
2022-08-14 14:19:57 +02:00
Frank
968721a515
some audio processing improvements and bugfixes from SR WLED
...
- smoothing FFTResult (don't have a matrix to test)
- UDP sound sync improvements
- some bugfixes from SR WLED
- button.cpp: avoid starvation: strip.isUpdating() can be true for a long time.
work in progress - still needs testing!!
2022-08-14 13:58:07 +02:00
Blaz Kristan
1de009a80d
I2C & SPI fixes. Global interface.
2022-08-14 13:05:59 +02:00
Blaž Kristan
d05b49496c
Merge branch 'segment-api' into audioreactive-prototype
2022-08-11 13:24:01 +02:00
Blaz Kristan
e0a954caa2
4LD refresh task.
...
Scrolling text improvement.
LED settings bugfix.
Audioreactive disabled by default.
2022-08-10 20:20:36 +02:00
Frank
ecce3243de
save 1KB of RAM
...
save one KB (4*256 bytes) by not storing the "upper half" of FFT results. Only the lower half has interesting results.
2022-08-10 18:14:28 +02:00
Frank
5e6532959b
AudioSource improvements (work in progress)
...
-new methods: getType(), isInitailized(), postProcessSample()
- allow users to compile for RIGHT audio channel (-D I2S_USE_RIGHT_CHANNEL)
- better handling in case audio input driver failed to initialize
- removed some unneeded code and unneeded parameters
2022-08-10 17:18:43 +02:00
Blaž Kristan
d8b7cfb36b
Display task (background refresh) in 4LD
2022-08-10 14:00:04 +02:00
Blaz Kristan
957948f906
Code optimisations in effects.
...
Remove Wire initialisation from RTC.
Peek fix.
2022-08-09 21:14:37 +02:00
Frank
924073424f
AR FFT task optimization - wait so I2S can fill its buffers
...
It seems that waiting first (before reading I2S) is much better than waiting after FFT is completed.
2022-08-08 13:53:46 +02:00
Frank
3a8c99d43c
AR: removed two unneeded variables
...
some cleanup - no functional impact.
2022-08-08 10:51:46 +02:00
Frank
58987989da
experimetal: limit rate at which the FFT task runs
...
this should do the trick.
Needs some more testing.
2022-08-07 22:19:38 +02:00
Frank
86e8ee334f
future support: reading a single sample on 8266
...
audioreactive will still not work on 8266. This is just experimental code that allows to read a single sample from ADC every 20 millis.
2022-08-07 22:04:26 +02:00
Frank
8694e7a6bf
AR: loop hickup protection (from SR WLED)
...
same "hickup protection" as implemented in SR WLED.
2022-08-06 18:17:45 +02:00
Frank
b46a6ed094
AR: samples dynamics limiter (experimental)
...
to enable, compile with -D SOUND_DYNAMICS_LIMITER.
still missing UI integration, and more testing.
2022-08-06 17:53:35 +02:00
Frank
d0f53cb14a
AR: removing some old debug code
...
Align with SR WLED code:
- removed old debug code that did not work any more
- removed experimental MAJORPEAK_SUPPRESS_NOISE code
2022-08-06 17:24:39 +02:00
Frank
96d497a5cd
AR: optimize sound sync, and code improvements
...
UDP audio sync: introduced new header version, because the new struct (without myvals[]) is not compatible with the previous struct. Also optimized structure size.
UDP audio sync: sender decides is AGC or non-AGC samples are transmitted.
getsamples: move volumeSmth/volumeRaw code out of AGC core function.
2022-08-06 16:48:26 +02:00
Blaz Kristan
eb8710df81
Merge branch 'audioreactive-prototype' into segment-api
2022-08-05 16:29:32 +02:00
Blaz Kristan
d328db543e
Bugfixes.
...
- gamma on *Color palettes
- gamma moved out of WS2812FX
- palette fade (JSON) fix
2022-07-30 23:58:29 +02:00
ewowi
84750e2605
Refactor um_data: remove fftBin
2022-07-29 15:50:09 +02:00
ewowi
dfa1a3ad90
Refactor um_data: remove inputLevel
2022-07-29 15:43:27 +02:00
ewowi
c1f9445e9d
Refactor um_data variables for audio reactive
...
- change sample to sampleRaw
- add volumeSmth, volumeRaw, my_magnitude and calculate in agcAvg
- remove sampleAvg, soundAgc, sampleAgc, sampleRaw, rawSampleAgc, FFT_Magnitude, multAgc, sampleReal, sampleGain, (myVals), soundSquelch from um_data interface
- refactor all effects using above variables
2022-07-29 15:24:04 +02:00
ewowi
bc67bf6826
Replace myVals from audio_reactive.h to SEGMENT.data
...
(position in um_data reserved as free, could be cleaned up later)
2022-07-29 10:04:10 +02:00
Blaz Kristan
a6f31a577a
Merge branch 'segment-api' into audioreactive-prototype
2022-07-27 21:35:29 +02:00
Blaz Kristan
cb44d45eeb
Merge branch 'dev' into segment-api
2022-07-22 14:41:39 +02:00
Blaz Kristan
c15ffca48c
Merge branch 'master' into master-merge
2022-07-22 14:34:02 +02:00
Blaz Kristan
bda3c4ab7a
Minor optimisations.
2022-07-21 18:38:07 +02:00
albarlow
c96f83b076
Registered Usermod and Pins
...
Implemented PinManager and rerun setup of usermod after updating pins/
Registered in const.h and pin_manager.h I tried to follow the existing formatting/numbering in these files.
Wrapped any strings I could in F()
2022-07-21 09:48:37 +01:00
albarlow
7308f5993c
Added changelog
2022-07-20 22:53:45 +01:00
Blaz Kristan
1e4f8be74b
Merge branch 'mapping12soundsim' into segment-api
2022-07-20 21:22:23 +02:00
albarlow
22ac12dc36
Remove compile-time variables and revamp readme.md
2022-07-20 13:06:27 +01:00
albarlow
866296fefd
Update usermod bme280 rounding
...
Apply rounding per usermod settings
2022-07-19 22:15:26 +01:00
albarlow
9d574397bc
usermod bme280
...
Added public variables to the BME280 usermod based on those in the Temperature usermod. Only complication is that this usermod utilises different function calls depending on whether user defines celsius or not. I have handled this for the temperature, but the Dew Point and Heat Index are relative to the temperature.
I've also addressed some areas where I'd previously assumed Celsius for reporting purposes as my test case is using Farenheit.
2022-07-19 21:47:56 +01:00
Blaz Kristan
a46894f395
Bugfixes.
2022-07-19 16:16:43 +02:00
albarlow
bee48dae7e
Update readme
2022-07-19 14:52:39 +01:00
albarlow
e12f7b67e5
Usermod BME280 Enhancements
...
I added a Usermod interface for key settings. I used a PinArray for the SDA/SCL pins, but you can't name these individually.
I have also made a display to show the temperature/humidity values in the web interface's Info screen.
I had to change the definition of those items in order to allow these new functions to work. I have not noticed any negative side effects to this change.
At the moment, I've not figured out how to make Celsius/Farenheit toggleable due to the way the #define setup works.
Finally, I have added a routine to publish MQTT Discovery Topics for Home Assistant (toggleable in the Usermod screen).
I've been testing this on the only suitable device I have for a few months and haven't noticed any problems.
2022-07-19 14:52:10 +01:00
Blaz Kristan
6c6849d8d7
Vectors & dynamic loadJS.
...
- Segments
- Modes
NOTE: crashes ESP if effect is running while deleting segment.
2022-07-17 15:58:41 +02:00
Frank
ce32ac19dd
AR: better default values
...
gain =1 does not make much senses, at it means "0.0825"; 40 internally translates to "1". 60 seems to be a good start.
- Don't use ADC analog microphone as default, to avoid well-known conflicts with other stuff hooked up onto ADC1,
- re-enabled a forgotten delay (overlooked that in my last commit)
2022-07-11 14:30:03 +02:00
Frank
ff5d899a92
AR: gracefull suspend when under external control
...
- same fix as in SR-WLED upstream
- if strip.isupdating() is true for more than 12ms, run audio filter loop regardlessly. The userloop is very fast, so I'm expect no bad side-effects from this.
2022-07-10 22:47:42 +02:00
Blaz Kristan
d9f2c2b968
Segment API
...
- moved all drawing logic to segment
- moved transitions to segment
Conditional 2D compile.
Rearranged effect IDs.
Implemented dynamic effect arrays.
2022-07-10 22:23:25 +02:00
Blaz Kristan
f0992d56c1
Added global I2C & SPI HW pin defines
...
Fixed default values fo custom sliders.
Fix for color selector.
Changed fading for 2D GEQ
Audioreactive fix send/receive option
2022-07-07 23:07:20 +02:00
Frank
67bcf42125
audioreactive: typo
...
oops.
2022-07-07 19:29:36 +02:00
Frank
935ddd12ec
audioreactive: allow compiling with newer IDF versions
...
same as my last patch in original WLED-SR
2022-07-07 19:27:22 +02:00
Blaz Kristan
377a11b160
Fix for enable/disable FFT task.
2022-07-06 19:46:32 +02:00
Blaz Kristan
9519c8edbd
Fix disbling AudioReactive usermod
...
Reduce IRAM pressure for ESP8266
2022-07-06 19:42:48 +02:00
Blaz Kristan
64fd207533
Refactoring WS2812FX class.
...
- effect functions no longer part of class
- methods to access private members
- separate Segment, Segment_runtime, ColorTransition from WS2812FX
2022-07-06 13:13:54 +02:00
Frank
96e04f1c54
AR: option to use new (template-based) ArduinoFFT
...
Additonal build_flags: -D UM_AUDIOREACTIVE_USE_NEW_FFT
Additional lib_deps: https://github.com/kosme/arduinoFFT#develop @ 1.9.2
2022-07-04 17:09:20 +02:00
Frank
bfbff723ac
AR: use more accurate timer for benchmarking
...
use esp_timer_get_time() because it is more accurate. Actually I don't trust millis() so much ;-)
2022-07-04 13:58:25 +02:00
Frank
03dba4d7d0
restoring a few doubles
...
a few doubles are currently necessary, due to high speed of the control loops (see discord discussion).
2022-07-04 12:34:32 +02:00
Blaz Kristan
8b58d96aea
Float variables instead of double.
2022-07-03 23:00:32 +02:00
Blaz Kristan
0a2e01a616
Multiple changes:
...
- change arduinoFFT to float (custom)
- update audioreactive to use float
- update effects to use float
- info slider (usermod)
- hide Peek in 2D
- minor bugfixes
2022-07-03 22:55:37 +02:00
Blaz Kristan
cf3faa1170
Merge branch 'audioreactive-prototype' into 2D-support
2022-06-29 16:30:50 +02:00
Blaz Kristan
ae50374d55
Prevent analog button from working.
...
If analog input selected.
2022-06-29 14:12:07 +02:00
Blaz Kristan
a3b0b8b3d0
Change on/off button for Sataicase usermod.
2022-06-28 12:33:00 +02:00
Blaz Kristan
84106d6282
Merge branch 'dev' into audioreactive-prototype
2022-06-22 18:04:40 +02:00
Blaz Kristan
4c759083be
Multiple changes.
...
Added:
- introduced addEffect() and setupEffectData()
- conditional compile for audio effects
- introduced getModeData() and getModeDataSrc() instead of public var
- changed _modeData[] to private non-static
Fixes:
- DMTYPE use
- add reboot info to DMTYPE
- transpose & reverse with mirroring
2022-06-21 22:49:45 +02:00
Blaz Kristan
d3bb079be4
Muliple enhancements:
...
- Smarter on/off buttons in Info panel (usermods)
- On/Off bus in bus_manager
- 2D GEQ fix (2D CenterBars obsolete)
- hide unused palettes & modes
2022-06-20 22:17:01 +02:00
Blaz Kristan
7ebb58b1fa
Code shuffling (making bugs)
2022-06-19 19:15:34 +02:00
Blaz Kristan
ac5b3110f2
Code cleanup (reduced globals).
2022-06-18 12:57:54 +02:00
Blaz Kristan
48259b4ffe
Reorganised exchange array.
...
Updated effects to reflect reorganisation.
Provide feedback to UI for maxVol and binNum.
2022-06-18 12:36:10 +02:00
Blaz Kristan
36503f0417
Fix CRLF
2022-06-17 16:24:25 +02:00
Blaz Kristan
0daddf9896
Some fixes.
...
Remove (*) palettes if not all 3 color selectors shown
Updated comments
2022-06-17 16:18:35 +02:00
Blaz Kristan
f3364e1327
Scrolling text #DATETIME bugfix.
...
Cosmetic changes.
2022-06-16 21:52:14 +02:00
Blaz Kristan
cf54115077
Sync bug fixes.
...
Analog input fix.
Code cleanup.
2022-06-16 19:20:04 +02:00
Blaz Kristan
12a94c50b8
Various fixes.
...
Added support for no audio to some effects.
2022-06-16 16:10:38 +02:00
Blaž Kristan
f92c336ae4
Fix for fftCalc
2022-06-16 07:47:58 +02:00
Blaz Kristan
477c9ef577
Cosmetic fixes.
2022-06-15 22:17:34 +02:00
Blaz Kristan
e146a476bd
Effect ID compatibility with WLED-SR
...
Updated some SR effects.
2022-06-15 17:21:32 +02:00
Blaž Kristan
f32a39e79f
Finalised used variables in effects
2022-06-14 14:48:13 +02:00
Blaž Kristan
e7d311d23c
I2S SD pin output type fix
2022-06-14 11:26:52 +02:00
Blaz Kristan
2b259f3704
Usermod API enhancements
...
- data exchage getUMData()
- usermod configuration helper appendConfigData()
- notification on updates onUpdateBegin()
2022-06-13 22:11:55 +02:00
Blaz Kristan
cdef8472e3
Gav... efects to test audio
...
Anti-aliased setPixelColor() with support for normalized x & y
2022-06-13 21:28:10 +02:00
Blaz Kristan
f9c933bf3b
AudioSource classes cleanup
2022-06-13 17:34:49 +02:00
Blaz Kristan
cc995ecef8
2D Waverly audio reactive.
2022-06-12 22:17:17 +02:00
Blaz Kristan
8c759cb65a
Usermod config info & data.
2022-06-11 18:55:23 +02:00
Blaz Kristan
bd45c67528
Virtual fixes.
...
Pins.
2022-06-11 12:35:29 +02:00
Blaz Kristan
562a206508
It compiles!
...
Cleaned (and possibly broken) AudioSource
Added:
- usermod notification about update
- strip.getMinShowDelay()
- pin manager updates
Changed:
- data exchange
2022-06-11 00:50:29 +02:00
Blaz Kristan
dd584e929f
Added audioreactive to usermod_list
...
Formatting in usermod
2022-06-10 16:37:55 +02:00
Blaz Kristan
1828a2a81c
Addec config save/load.
...
Changed double to float.
2022-06-09 18:55:35 +02:00
Blaž Kristan
a6746f77f0
Var fixes.
2022-06-09 14:44:48 +02:00
Blaz Kristan
184ff7a3b3
Audioreactive usermod.
2022-06-08 21:14:01 +02:00
Blaz Kristan
9db872db56
Fixes:
...
- mirroring
- FX memory allocations
- preset loading if WS request too big
Changes:
- remove "pt" in favor of "ps" in JSON
- fading in Ghost rider
2022-06-05 10:16:56 +02:00
Blaz Kristan
f1a1b89d13
Fixes.
...
- correct preset cycling
- updated rotary encoder preset selection
2022-06-03 22:22:18 +02:00
Blaz Kristan
793c878c66
Added display information for hue/sat/preset/cct
2022-06-02 18:30:23 +02:00
Blaz Kristan
e9cd4d95a7
Merge branch 'master' into master-merge
2022-05-29 18:22:33 +02:00
srg74
43c5de074f
Update usermod_temperature.h
...
Typo in line 149
2022-05-27 15:42:03 -04:00