Wykres commitów

879 Commity (secure-api)

Autor SHA1 Wiadomość Data
Will Tatam b29611509e AC lacks ERRORSR_PRINTLN 2023-06-19 13:33:16 +01:00
Will Tatam dd1cf0ec56 AC lacks ERRORSR_PRINTF 2023-06-19 13:27:54 +01:00
Blaz Kristan 4ea5723b7f Enhance pin dropdowns.
- add pins for PCF8574 (POC)
- bugfix for saving
Reduced maximum relays to 8.
Changed MultiRelay config parameter name.
2023-06-16 22:06:26 +02:00
Blaz Kristan 31efbe915e Minor string optimisation. 2023-06-14 20:45:00 +02:00
Blaz Kristan 189d145393 Merge branch 'main' into beta-3 2023-06-04 18:43:28 +02:00
Blaz Kristan b9b072119b Add pin mode. 2023-06-03 22:46:17 +02:00
Blaz Kristan b6d9fd8030 Usermod fixes
- 4LD: prevent corruption on fast Rotary changes
- Rotary: implement ISR for I2C reading
2023-06-03 17:01:29 +02:00
Blaz Kristan 24537c4fdc Debug data for rotary. 2023-06-01 22:19:09 +02:00
Blaz Kristan 130f495fb6 Bugfix multi relay. 2023-06-01 22:17:41 +02:00
dvdavide e3783e0236
Fix for displaying 1bpp bmp files (usermod EleksTube IPS) (#2988)
* Fix for displaying 1bpp bmp files

* EleksTubeIPS optimizations

* Fixed incorrect paletteSize

* stray tab

---------

Co-authored-by: Aircoookie <21045690+Aircoookie@users.noreply.github.com>
2023-05-31 20:11:30 +02:00
Blaz Kristan 82e448de7c Beta-3 changes
- remove I2C init  from usermods
- PCF8574 (&co) port expander support
- refactor PIR &  Rotary encoder & 4LD
- reboot race condition
- optimisations
2023-05-30 19:36:14 +02:00
Blaz Kristan b2df7981a9 Add support for PCF8574 I2C port expander
- for Multi Relay usermod.
2023-05-24 23:40:23 +02:00
TroyHacks 9831e7bc3b Warnings about AudioKit rubbish 2023-05-23 23:49:57 +01:00
TroyHacks 90e37439e5 Better ES8388 init and mic support 2023-05-23 23:49:40 +01:00
TroyHacks 65f2490e89 It's offically the LyraT, not Lyra-T. 2023-05-23 23:49:29 +01:00
TroyHacks c14a921e5a Mic settings for ES8388. Also ALC, pass-thru, etc. 2023-05-23 23:49:14 +01:00
TroyHacks 2bc8ffefce Some fixes for LyraT and also better inits/docs 2023-05-23 23:46:37 +01:00
TroyHacks b88d8c85cb ES8388 init optimizations and fixes 2023-05-23 23:42:01 +01:00
Ewoud 693f52d984 Merge pull request #5 from netmindz/ES8388
WiP - ES8388
2023-05-23 23:41:46 +01:00
Blaz Kristan cdfc0f6b71 Temperature usermod rewrite 2023-05-11 17:33:09 +02:00
Blaz Kristan bf6a18a414 Bugfix
- SHT enable/disable crash
2023-05-10 21:09:28 +02:00
Frank 52c4093fb0
minor bugfix for usermod_v2_Battery.h
missing semicolon - caused compile errorsin debug mode.
2023-05-08 20:59:57 +02:00
Blaž Kristan fb14bc6016
Merge pull request #3116 from Erwin-Repolust/main
Changing voltage calculation to a weighted running average
2023-05-07 10:20:26 +02:00
Stefan Riese 3a28935bfe
Wordclock - Issue with "Norddeutsch" (#3161)
* - fix word clock for "viertel vor" and "viertel nach"
- adjust wording of parameters

* - revert changes for parameter names

* enclose JSON property strings in F() macro to reduce RAM usage.

* add parameter info for "norddeutsch" and "LedOffset"
2023-04-26 10:53:18 +02:00
Christian Schwinne fb1999c474
Merge pull request #3107 from Aircoookie/onepx-segment
Tweaks & bugfixes.
2023-03-20 23:42:30 +01:00
Blaz Kristan 2e362fbb64 Fix for #3074 2023-03-19 14:26:54 +01:00
Ryan Horricks 7789379914 Fix typing to resolve build errors after installing the mpu6050_imu usermod. 2023-03-18 18:29:19 -06:00
Erwin Repolust 2c3fa0fd8f added function for voltage reads 2023-03-16 01:33:57 +01:00
Erwin Repolust ec08432f92 added voltage multiplier to gui and set defaults 2023-03-14 01:44:41 +01:00
Erwin Repolust 8b61b9ebfe Added code for esp8266 2023-03-10 01:28:04 +01:00
Erwin Repolust e00e778bce Less operations and better readable 2023-03-08 03:54:48 +01:00
Erwin Repolust 81e70925c4 Changed to running average to improve accuracy 2023-03-08 03:24:16 +01:00
lost-hope cb931d7af0 Merge branch 'main' of https://github.com/Aircoookie/WLED into klipper 2023-02-27 21:21:45 +01:00
lost-hope 339d2a7bf3 Added spreading from center and fixed the enable 2023-02-23 19:47:27 +01:00
Christian Schwinne 220718cb58
Remove Blynk support (#3102)
Change default palette for Railway to Colors 1 and 2
2023-02-21 17:07:32 +01:00
lost-hope 2b87817ba2 enabled IP Change and updated the Readme 2023-02-19 09:08:40 +01:00
Blaž Kristan a7cded21f7 Merge branch 'main' into led-gaps 2023-02-14 14:28:10 +01:00
Blaz Kristan 821f320347 Add user selectable Gamma
Add panel visualisation (@ewoudwijma, #3090)

Bugfix:
- PIR onStateChange() ignored until inited
- remove matrix orientation
- ignore removing ledmap 0 if 2D
- _globalLeds size
2023-02-12 13:18:30 +01:00
Blaž Kristan f2459ea904 Add ability to use SHT temp. sensor in PWM fan 2023-02-10 09:33:27 +01:00
Ulrich Baumann e2215ced34
allow alternative northern style ("viertel vor ..." instead of (#3085)
"dreiviertel ..")

Co-authored-by: Uli Baumann <github@uli-baumann.de>
2023-02-09 00:23:53 +01:00
Blaz Kristan 48c267c5c1 Bugfix. 2023-02-05 17:57:22 +01:00
Blaz Kristan c041d39cab Usermod enhancements
- added onStateChange() callback
- added examples & comments to usermod_v2_example.h
- PIR sensor cancels countdown on state change
2023-02-05 12:23:05 +01:00
Maximilian Mewes f78f8b6b12 Exposing the Battery state to JSON API - Part 2 2023-01-21 01:44:50 +01:00
Maximilian Mewes f97b79bc16 Exposing the Battery state to JSON API - Part 1 2023-01-21 00:39:51 +01:00
Maximilian Mewes 42c8a77755 Merge branch 'main' into usermod-battery-update2023 2023-01-20 23:25:13 +01:00
Blaz Kristan 2ae8032ace Compile fix. 2023-01-20 16:22:19 +01:00
Blaz Kristan 1b52d8065e Ecternal MOSFET for parasite DS18B20 2023-01-18 17:36:04 +01:00
Maximilian Mewes bb82bf762f Update Readme, my_config type config options with examples 2023-01-12 21:50:46 +01:00
Blaz Kristan d78bef72ea Disable MQTT more.
Disable Alexa more.
2023-01-12 20:35:34 +01:00
Maximilian Mewes d16f9efeec Added forgotten file 😥 2023-01-06 19:09:12 +01:00
Maximilian Mewes 8ba5dfe447 Another Bugfx 🧑‍🔧 2023-01-06 19:07:39 +01:00
Maximilian Mewes 3759071449 Fix previous bug again 🐛, Add Type Dropdown to config page 2023-01-06 17:00:29 +01:00
Maximilian Mewes 85d59945a0 runtime exception fix 🐛 2023-01-06 00:19:16 +01:00
Blaz Kristan 98be19b29f Fix switching off for PIR usermod. 2023-01-05 22:46:30 +01:00
Maximilian Mewes 4c8b490c89 minor changes 2023-01-05 20:38:55 +01:00
Maximilian Mewes 8dd1745149 Add base battery 🔋 class, Add Lipo, Lion class 2023-01-05 19:48:53 +01:00
Frank 35832b07b9 UM Battery: basic support for LiPo cells
* Lipo cells (1S) should not be discharged below 3V
* LiPo cells have a different voltage/discharge rate curve
2023-01-04 19:57:33 +01:00
Frank 357683cbb9 UM Battery: more bugfixing, and improvements for esp32
- improved support for esp32 (read calibrated voltage)
- corrected config saving (measurement pin, and battery min/max were lost)
2023-01-04 17:30:08 +01:00
Frank 15bc6159f9 UM Battery: fix for deprecated function call
wled00/../usermods/Battery/usermod_v2_Battery.h:446:48: warning: 'void PinManagerClass::deallocatePin(byte)' is deprecated: Replaced by two-parameter deallocatePin(gpio, ownerTag)
2023-01-04 12:54:02 +01:00
Frank 7cdafa76a5 UM Battery - improvements for esp32
* added missing pinMode(.., INPUT) on esp32
* do not try reading from pin = -1 (ESP32-S2 shows very allergic reactions to this)
* Info page - show "n/a" when pin = -1
* readme: esp32 default pin = 35
2023-01-04 12:32:31 +01:00
cschwinne cecffee3d3 Merge branch 'main' of https://github.com/Aircoookie/WLED 2023-01-03 17:16:14 +01:00
cschwinne d039a40d7c Invert pull up config value, fixes #2996
Cronixie usermod format change fix
2023-01-03 17:15:55 +01:00
Blaz Kristan 90463d8613 Battery UM fix for MQTT voltage topic. 2023-01-03 17:14:24 +01:00
Frank 4a09e18d9a
UM Battery: fix compilation error + bad snprintf 2023-01-02 22:52:37 +01:00
lost-hope 0ab35a3ca3 added klipper usermod 2023-01-01 15:13:57 +01:00
Dustin Miller 1b4d92007e
updates strings to use `F()` 2022-12-31 15:24:35 -06:00
Dustin Miller 4101d7664d
fixes typo in Analog_Clock.h
Retrieving the config in `readFromConfig()` results in defaults being set to both `hourMarksEnabled` (`false`) and `hourMarkColor` (`#0000FF`) due to differences in capitalization compared to how they're saved in `addToConfig()`
2022-12-31 13:47:48 -06:00
Mark Breen 1e157e95b6
minor spelling fix (#2991) 2022-12-30 12:29:02 +01:00
Maximilian Mewes 73440e2287
Update Usermod Battery (#2975)
* auto-off feature and usermod rename
* low-power-indicator, voltage fine tuning, clean-up

* corrected small mistakes
* Bugfixes, added usermod logo, update readme
* minor changes, implemented change requests, optimizationz
2022-12-28 22:40:13 +01:00
Blaz Kristan 6f67132f4b PROGMEM string optimisation. 2022-12-26 10:20:45 +01:00
Blaz Kristan c739a7ea2f Erroneous ) 2022-12-25 11:05:25 +01:00
Blaz Kristan 7e48875fd4 Minor optimisation. 2022-12-25 11:02:50 +01:00
ezcGman 4ecad65926 UM SHT: Codestyle 2022-12-21 00:34:22 +01:00
ezcGman f12025b86e UM SHT: Added getters and isEnabled check 2022-12-21 00:05:26 +01:00
ezcGman 5cfea54b06 UM SHT: Apply PR feedback 2022-12-20 23:58:11 +01:00
ezcGman f3d52f4932 UM SHT: MQTT re-publish values on unit change 2022-12-19 22:30:11 +01:00
ezcGman ea6d339b9c UM SHT: Fixed MQTT discovery using correct unit 2022-12-19 22:15:39 +01:00
ezcGman b7034d3213 UM SHT: Check for IOs gt zero 2022-12-18 21:33:25 +01:00
ezcGman 9217e8336d Merge branch 'um-sht' of github.com:ezcGman/WLED into um-sht 2022-12-16 02:22:44 +01:00
ezcGman 13cfc2d7bc UM SHT: Improved pin de/allocation 2022-12-16 02:22:13 +01:00
Andy Hofmann 1dcef87e1c
UM SHT: Fixed typo in readme 2022-12-15 11:27:35 +01:00
ezcGman 23fb602a33 Merge branch 'main' of https://github.com/Aircoookie/WLED into um-sht 2022-12-15 01:38:54 +01:00
ezcGman a8a549e8fc UM SHT: Lots of documentation added 2022-12-15 01:38:41 +01:00
ezcGman 44790e99ea UM SHT: use snprintf_P instead of sprintf_P 2022-12-15 00:52:21 +01:00
ezcGman a3f6717c59 UM SHT: Avoid inline methods 2022-12-15 00:42:27 +01:00
ezcGman 9587480e29 UM SHT: Updated ReadMe 2022-12-15 00:41:08 +01:00
Eduardo Ibanez 3653666ffe Update wizlights user mod so it compiles 2022-12-12 22:04:25 -06:00
ezcGman 2123e43490 UM SHT: Added Fahrenheit support 2022-12-12 02:33:31 +01:00
ezcGman 19146d8012 UM SHT: Made type a setting instead of buildflag 2022-12-12 02:05:02 +01:00
ezcGman 987dd36401 UM SHT: Using F() helper on some strings 2022-12-11 22:32:03 +01:00
Blaz Kristan 6bb158786b Fix for switching WLED off when in nighttime only mode. 2022-12-11 20:10:24 +01:00
Bill Thomson f66d091717
Update README.md (#2943)
This change corrects of one of my earlier edits. (removes an extra word in the sentence)
2022-12-11 18:03:35 +01:00
ezcGman e8edb99bb0 UM SHT: Added SHT usermod 2022-12-11 01:16:14 +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
Blaž Kristan b24c8b3410
BobLight protocol (#2917)
* BobLight ambilight protocol implementation for WLED

* Added usermod ID

* Add realtime locking
Add port config
Bugfixes

* Minor optimisation.

* Fix WiFiServer start.

* Bugfix

* Working boblight.

* npm run

* Add readme

* Undo PIR sensor modification.
Undo npm run build.

* Fix parentheses.

* Comments.
Cancel realtime when disabled.
2022-12-08 19:41:50 +01:00
cschwinne efc476e50b Disable register keyword to reduce compiler warnings
Minor formatting improvements
"ps" string optimization
Removed travis envs
2022-12-03 20:55:17 +01:00
Ardi Loot bd601ad2da
PWM outputs usermod (#2912)
* first commit of PWM outputs

* fix pin deallocation issue

* refactoring

* removed debug prints

* fix compile error

* added readme

* added compile error for ESP8266

* added overloaded SetDuty method

* convert state to separate nested object

* Revert "added overloaded SetDuty method"

This reverts commit e8ea32f577.

* move constant strings to flash

* reworked json info and config

* bugfixes

* more bugfixes

* updated readme

* use C strings instead of String

* added uint8 and uint16 overloads for SetDuty

* removed ambiguous overload
2022-11-30 09:15:07 +01:00
Blaž Kristan 9f1a7a1c20 Swap info. 2022-11-29 15:02:56 +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 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
Blaz Kristan 8899684092 Select custom palette bugfix. 2022-11-25 17:33:29 +01:00
Blaz Kristan 8e30e4925c BME280 fixes and optimisations
- MQTT not required
- minor string optimisations
- added enable option
2022-11-25 16:45:21 +01:00
Blaz Kristan caef289b9b Autosave enable/disable UI button 2022-11-20 15:50:42 +01:00
Constantin Wolf f104fb0586
SD card support: MMC or configurable SPI (#2877)
Co-authored-by: constantin wolf <constantin.wolf@pwc.com>
2022-11-14 02:30:35 +01:00
degraafm76 75e410e4b4
Analog clock time offset bugfix + optional hour mark feature (#2860)
* Implement optional hour marks
Time offset did not work

* removed undefined error int in hexstringtocolor

* revert cosmetic changes

* minor cosmetic changes

Co-authored-by: mdegraaf <mdegraaf@proxsys.nl>
2022-11-14 02:30:18 +01:00
Blaz Kristan 1e104bdd9e Compile time option for PIR sensor off timer 2022-11-07 16:56:41 +01:00
Blaž Kristan d30e219d7b Faster strip updates. 2022-11-04 08:27:35 +01:00
Blaz Kristan 17d1ca82a6 Update Animated Staircas for 0.14 2022-11-03 21:04:40 +01:00
Blaz Kristan e88d34ea19 Correct HA discovery topic & minor adjutments.
Publish on MQTT connect.
2022-10-25 21:47:25 +02:00
Blaz Kristan 535f285287 Add HA discovery option to PIR sermod 2022-10-24 21:25:23 +02:00
Alex Barlow 7288e5a8fd Fix Enabled Toggle
Adjusted inherited 'disabled' to fix saving bug.
2022-10-24 18:17:37 +01:00
bwente fe09c417ff
Create v2 usermod_word_clock_matrix.h (#2473)
* Create usermod_word_clock_matrix.h

Tried using the old usermod on the new build, found out a lot has changed since then. My best attempt to update it. Still needs some help, but it is working. I would like to preconfigure some of the default settings. I am also having an issue with  Error 12: Preset Not Found

* Update readme.md
2022-10-22 11:21:46 +02:00
Blaz Kristan ca891b0e70 Merge branch 'audioreactive-prototype' of https://github.com/blazoncek/WLED into audio-fix 2022-10-22 11:13:02 +02:00
Blaz Kristan af3ee35c50 Merge branch 'dev' into audioreactive-prototype 2022-10-21 23:47:31 +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
albarlow 30a029c19f
BH1750 upgrades (#2725)
* BH1750 upgrades

Moved the definitions into the main usermods_list.cpp instead of having a section to copy across.

Added Home Assistant Discovery topic for light sensor.  This is toggleable from the usermod menu.

* Configure pin, other enhancements, readme

Implemented pin manager
Made pins configurable at runtime
Improved info screen outputs
Added F() around strings
Updated readme

* Resolve conflict

* Merge branch 'main'

* Missing comma

Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
Co-authored-by: Christian Schwinne <cschwinne@gmail.com>
2022-10-21 03:32:44 +02:00
Dimitry 7cac609c06
Add ADS1115 usermod (#2752)
Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
2022-10-21 03:25:36 +02:00
Sebastian Schmailzl c2ac215d43
Usermod: Ping Pong Clock (#2746)
* Starting on Ping Pong Clock Usermod, still having to check the led indices and test the stuff out of it

* Adding some attributes to be configured, Added platformio_override

* Fixed LED Numbering, Changed Color to RGB to Work with Settings

* Removing LED Positions from Config

* Some documenting

* Removed example comments to make ping pong clock mod more readable

Co-authored-by: Schmailzl, Sebastian <sebastian.schmailzl@wk-it.com>
Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
Co-authored-by: Christian Schwinne <cschwinne@gmail.com>
2022-10-21 01:47:25 +02:00
Egor c47972d500
Adapting for the new WLED release: (#2802)
Removed longPressMacro call
  Fix debug calls
  Fix typos
2022-10-21 01:31:43 +02:00
lordjaxom 7b2836c63c
Usermod: Analog clock (#2736)
* implement analog clock as a usermod

* fix some bugs, use toki for time measurement, implement fading seconds

* added timezone handling to analog clock

* fixed looping second pointer, lower refresh rate

* removed mqtt debug code

* implement seconds effect choice

* adapt to 0_14 branch

Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
2022-10-20 10:12:17 +02:00
Steven Dashevsky 38e2fc6812
Implemented usermod for integration with smartnest.cz (#2800)
Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
2022-10-20 01:07:32 +02:00
Bartłomiej Wiśniewski b0037c75a3
Upgrade DHT usermod (#2833)
* Implent publishing DHT data to MQTT broker

* Fix naming and add description
2022-10-20 01:02:52 +02:00
Christian Schwinne 0de928a674
Merge branch 'main' into 0_14 2022-10-20 00:44:40 +02:00
Renaud11232 cd0471386d
Fix SSDR usermod compilation (#2825) 2022-10-12 18:18:43 +02:00
Blaz Kristan d00a708177 Minor string optimisations. 2022-10-09 12:09:46 +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
Blaž Kristan 6a3ef2a2e4
Merge pull request #2809 from ingDIY/0_14
defines improvement
2022-10-06 12:15:30 +02:00
srg74 5038e4396e
Update usermod_PWM_fan.h
Changed values for proper work.
2022-10-05 15:30:09 -04:00
Frank 1ae0dd574d fix for ADC analog
the "wait until I2S buffer fills" trick does not work for ADC sources, as the I2S sampling does not run in background for ADC.
2022-10-04 16:00:36 +02:00
Frank 78e0c3dcca make MIC_LOGGER work again
- EVERY_N_MILLIS somehow does not work. Replaced it,
- make sure that WLED_DEBUG does not report "fake FFT times" whrn FFT code was not running
2022-10-04 13:47:07 +02:00
ingDIY bdb1e839ed Update readme.md
added description about the configuration of setting:
-D USERMOD_ROTARY_ENCODER_GPIO
2022-10-03 19:22:52 +02:00
ingDIY 503835d47e submitting PR
Here they are the PR #2776, #2803 and #2804 rebased for 0_14 branch,
I hope that now they are OK!
2022-10-02 23:23:24 +02:00
Blaž Kristan f385af595a Add setMode() and setPalette() methods
- automatically start transition
Implement load FX defaults for HTTP API (FXD)
2022-09-29 12:49:12 +02:00
Stefan Riese b6adbc926f
Usermod wordclock: support for upfront LEDs (#2668)
* - add ledOffset to support LEDs that are not effected by the usermode before the wordclock LEDs

* - adjust readme
2022-09-26 09:35:42 +02:00
Patrick 1daa97545b
Usermod Wordclock update to use an alternatve wiring pattern (#2757)
* Update

* update readme file

* readme update

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update platformio.ini
2022-09-22 20:43:40 +02:00
Frank fb00bef05f AR - necessary constants for 166Khz sampling rate
16kHz might be a good compromise on small MCU's:
- GEQ will show frequencies up to ~6Khz
- FFT process may use up to 32millis (-> 100% CPU load). Try to stay below <60% so FreeRTOS can schedule all tasks properly.

- more CPU time is left for other WLED, so it maintains LED FPS and stays responsive on web UI.
2022-09-20 18:29:27 +02:00
Frank d7bc6b1be7 AR: optimization for small MCUs, part2
Only run FFT when the result will be used.
Please note that this also means that `FFTTime` shown in Info is only meaningful when there is sound input and not silence.

--> To get exact FFT times, the optimization can be disabled by compiling with `-D SR_DEBUG`
2022-09-19 14:09:45 +02:00
Frank 79776ae8bc AR: optimization for smaller MCUs
- this reduces "lagging behind" of I2S sampling on smaller MCU's. The maximum time for FFT is now ~20 millis.
- small improvement for SR_DEBUG
2022-09-19 13:38:52 +02:00
Frank 90b3f009af AR: small improvement for ADC analog mics
ensure that ADC parameters are properly configured.
2022-09-19 13:30:13 +02:00
Frank 6f8deb83e3 some relaxations for S2 and C3
- AR: changed "error" into warning.
- reducing max_busses (for AR) not needed on S2
2022-09-17 22:00:33 +02:00
Frank 85fc8710dd mics that need MCLK should work 2022-09-17 20:39:23 +02:00
Frank a766ddbebc make I2S microphones work with buggy IDF4.4.x
I2S microphones were not working any more in with the newest framework - only delivers silence.
Ther reason is stupid bug in espressif I2S "compatibility" driver: RIGHT and LEFT channel are swapped, so when only asking for LEFT, we get silence from RIGHT.

Workaround: simply change LEFT to RIGHT, until the problem is fixed in ESP-IDF --> Fix tested on "classic ESP32", but still need to check behavior on -S3.
Code compiles also on -S3, -S2, and -C3.

smaller changes:
- a few changes to use new APIs (MCLK, rouing and sample resolution)
- a few additional debug messages
- put correct value into _pinConfig.mck_io_num
2022-09-16 16:58:04 +02:00
Frank 01acb08c83 minor fix (typo) 2022-09-16 16:38:24 +02:00
Blaz Kristan dfe4d70198 Merge branch 'audioreactive-prototype' into esp32-s2 2022-09-16 15:38:44 +02:00
Soren Singh Dary 8bd8975e0a
Fixed the dependency (#2782) 2022-09-14 23:29:35 +02:00
Soren Singh Dary 2847921e5a
Fixed a type in the file name (#2781) 2022-09-14 13:56:16 +02:00
Frank 925bc3b3dd AR: get rid of annoying "type conversion" warning 2022-09-11 14:32:00 +02:00
Frank ac10b3a5c7 compilation support for audioreactive
putting all parts that will not compile between #ifdef .... #endif
Tested on S3, cannot say what will happen on other MCUs
2022-09-11 00:12:51 +02:00
Blaz Kristan e4fbf70568 Preset loading tuning.
Multi-relay toggle support.
Fire2012 tuning.
2D functions tuning.
Global SPI comments & tuning.
Bugfix in 4LD usermod.
On & bri support fix.
2022-09-09 17:16:52 +02:00
Frank cf93d6bb65 more precision for debug info (FFT timing)
keep more detailed timing info for FFT and I2S (WLED_DEBUG)
2022-09-08 22:45:32 +02:00
Blaz Kristan e8942c2968 fix for repeating debug message 2022-09-06 15:52:09 +02:00
Blaz Kristan 42d1ab8a87 Separator in Info dialog. 2022-09-03 00:01:11 +02:00
Frank 77ace76e32 Bugfix: make UDP sound sync work in AP mode
- the connected() method only get called once a Wifi STA connection is established. UDP Sound Sync should also work when sender is in AP Mode.
- added a few comments that should help to understand the code structure.
2022-09-02 13:49:12 +02:00
Frank 37ba649930 audioreactive effect improvements
- Info Page: add a small horizontal line below usermod specific part. Improves readability.
- updated 2D mapping mode of some  1D soundreactive effects
- alllow some effects to fade slowly, even slower that possible with SEGMENT.fade_out(). Looks nice.

not sure why - most effects only fade when using SEGMENT.fade_out(), while some need SEGMENT.fadeToBlackBy().
2022-09-01 14:56:01 +02:00
Blaz Kristan 26793c8428 Merge branch 'dev' into audioreactive-prototype 2022-08-30 20:13:25 +02:00
Frank 64970772c7 optimization, and moving peak detection into own function
- save 1K of RAM by optimizing out
 fftBin[].
- moved several copies of the peak reset code into a single function
- moved peak detection out of getSample().
 - call peak detection function as last step of FFTcode. More optimal, and we can be sure that fresh FFT result are available.

Peak detection/reset are now called from both tasks, so I had to move some peak-related vars out of AudioReactive class and make them global (static).
2022-08-28 16:26:34 +02:00
Frank 5c792eb869 some cleanup and re-grouping of variables
- put variables with same context next to each other.
- removed a few vars that are not needed any more.
- replaced "16" by a more descriptive constant
2022-08-28 13:13:25 +02:00
Blaz Kristan daf67d9cf7 Whitespace cleanup.
Revert legacy effects to 1D and use mapping instead.
2022-08-24 23:04:51 +02:00
Blaž Kristan cf0f0d77be Merge branch 'audioreactive-prototype' of https://github.com/blazoncek/WLED into merge-audio 2022-08-22 10:34:10 +02:00
Frank be7e7ac274 AR: documentation
- clarified a misleading comment in FFTCode
- added a few more comments to describe steps of the processing
- removed some commented-out code
2022-08-22 10:08:22 +02:00
Blaz Kristan 720fae8720 Code sanitation.
Default analog pin -1
2022-08-21 19:15:42 +02:00
Frank d053bc562f code cleanup, few optimizations, and fixing more overflows
- code cleanup in audio_reactive.h
- fixing some more under/overflows in fx.cpp
2022-08-21 13:10:16 +02:00
Blaz Kristan 450a0180f8 Merge branch 'dev' into audioreactive-prototype 2022-08-21 09:54:33 +02:00
Blaz Kristan ea363a8764 Minor cleanup & fix for connected(). 2022-08-21 09:51:15 +02:00
Frank bbc8049832 The Right Thing to Do (makes GEQ look awesome)
... found that stupid commit messages get more attention ;-)

- use 22050 Hz for sampling, as it is a standard frequency. I think this is the best choise.
- redesigned the GEQ channels (fftResult[]) for 22Khz, based on channels found on old HiFi equalizer equipment. 1Kzh is now at the center; Bass/Trebble channels are using 1/4 on left/right side respectively - similar to real equalizers. Looks nice :-)

- adjusted effects that use FFT_MajorPeak so that the maximum frequency is supported.
2022-08-20 22:14:54 +02:00
Blaz Kristan 66acd60406 PWM Fan usermod UI enhancement. 2022-08-19 21:38:48 +02:00
Blaz Kristan 5927332a5f UI enhancement in PWM Fan usermod. 2022-08-19 21:25:44 +02:00
Frank b8db47e528 AR: new freq scaling option "square root"
also looks nice. It's a compromise between log() and linear. OK enough tinkering for today :-)
2022-08-19 16:11:50 +02:00
Blaz Kristan f7652bd2ef Fix audio sync check 2022-08-19 15:17:04 +02:00
Frank 3c57e2e2b9 AR: special gain for GEO, some bugfixes andparameter tinkering
- new feature: "Input Level" (info page) can be used as global "GEQ gain" - only when AGC is ON (was already possible when AGC=off)

- some parameter tweaking in FFT function
- hidden feature: FFT decay  is slower when setting a high "dynamics Limiter Fall time" (steps: <1000, <2000, <3000, >3000)

- FFT_MajorPeak default 1.0f (as log(0.0) is invalid)
- FX.cppp: ensure that fftResult[] is always used inside array bounds
2022-08-19 14:36:47 +02:00
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