Commit Graph

4576 Commits

Author SHA1 Message Date
Frank
ecf331792b de-optimization
first version still cased some flickering.
This de-optimization makes LEDs more stable.
2023-07-03 19:26:02 +02:00
Frank
a84c361fab build number ++ 2023-07-01 20:35:25 +02:00
Frank
3cc1d30090 optimization for ABL hotfix
* adding an optional parameter to setBrightness(). ApplyPostAdjustments() will only be called if `immediate=true`. Only ABL will use immediate=true, to ensure electrical safety of equipment.

This allows some optimizations of performance, as ApplyPostAdjustments() is time consuming.

* busses.setBrightness(bri) --> applied to all future pixels (fast, lossless)
* busses.setBrightness(bri, true) --> applied directly to all previously set pixels (slower, lossy)
2023-07-01 20:23:39 +02:00
Blaz Kristan
1c53f14bd5 Temporary bugfix for #3264 2023-06-25 17:21:49 +02:00
Frank
582b96f846 robustness improvements
* handling of stop = 0 when calculating sizes (avoid unsigned underflow)
* make sure groupLength() is never zero (to avoid div/0)
* gapmaps: check for "(gapSize > 0)" added.

not sure if all the checks are 100% needed, but they will improve robustness in corner cases.
2023-06-21 13:30:40 +02:00
Frank
310daa61a8 improve segment code robustness
* Avoid uint16 underflow in width() and height(): stop > start is possible, and means "inactive segment".

* use size_t for ledsrgbSize, _dataLen and _usedSegmentData -  uint16_t could overflow in some situations.

* try to catch attempts to allocate zero bytes (inactive segment => size 0)
2023-06-21 01:43:26 +02:00
Frank
708cd8e73d free udp receive buffers before parsePacket
robustness improvement - parsepacket() will fail if the udp handler still has an active receive buffer.
2023-06-21 00:29:16 +02:00
Frank
8aef4347a1 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 22:08:55 +02:00
Frank
553f2341d2 npm run build 2023-06-16 12:49:46 +02:00
Frank
a7d627bb97 Merge branch 'mdev' into audio_fastpath 2023-06-16 12:39:38 +02:00
Frank
b3677bd9b9 post merge
index.js: indentation (tabs vs. spaces)
npm run build
increment build number
2023-06-16 12:36:04 +02:00
Blaz Kristan
74b09b8576 Fix for #3251 2023-06-16 11:56:30 +02:00
Frank
d51a41f084 post-merge
* npm run build
* upstream fix for XSS vulnerability
2023-06-15 21:08:03 +02:00
Frank
3127c60b41 Merge branch 'mdev' into audio_fastpath 2023-06-15 20:54:57 +02:00
Ewoud
80df7ac703 Merge branch 'ledmap1D' into mdev 2023-06-15 13:21:57 +02:00
Ewoud
a450334e46 Part 3 2023-06-15 11:51:22 +02:00
Ewoud
3195606ca8 Part 2 2023-06-15 11:41:19 +02:00
Ewoud
117dd52ce4 Ledmap 1D / no width/height 2023-06-15 11:29:41 +02:00
Frank
b53f9ac4b0 2d Lissajous: make fade-out work
"Fade rate" slider works now.
2023-06-14 22:04:32 +02:00
Frank
2410c226f7 2D Lissajous: revive old anti-aliased code
* added option to use original floating point code that features anti-aliasing.
Looks nice, but requires hardware floating point support (ESP32-S3, or "classic" ESP32 dual core).
2023-06-14 21:52:04 +02:00
Frank
47de28ebbb 2D Lissajous improvements
* allow user to control rotation speed (c3 slider)
* preserve accuracy by performing division _after_ multiplication: " (i * speed) / 32", instead of " i * (speed / 32)"
* proper rounding of "map" results, for better visual appearance
* avoid division by zero in map() function
2023-06-14 21:51:22 +02:00
Frank
4f370686e2 2D Lissajous: revive old anti-aliased code
* added option to use original floating point code that features anti-aliasing.
Looks nice, but requires hardware floating point support (ESP32-S3, or "classic" ESP32 dual core).
2023-06-14 21:49:32 +02:00
Frank
bcea5cd148 2D Lissajous improvements
* allow user to control rotation speed (c3 slider)
* preserve accuracy by performing division _after_ multiplication: " (i * speed) / 32", instead of " i * (speed / 32)"
* proper rounding of "map" results, for better visual appearance
* avoid division by zero in map() function
2023-06-14 20:51:14 +02:00
Ewoud
07fdeb3ab7 Ledmaps without width and height specified 2023-06-13 17:58:00 +02:00
Frank
688399660c another mitigation for flickering
in some setups, it helps to use the I2S#1 driver for the LED pin with most LEDs.
2023-06-13 13:19:48 +02:00
Frank
a9cdd21da9 prevent strip flickering
* it seems that NPB is very sensitive when being interrupted during LEDs driving.  This change tries to avoid flash (file) writes when the strip is active.
* minor optimization: yield is completely unnecessary on ESP32 (we have a real OS).
2023-06-12 23:27:09 +02:00
Frank
794e3a8671 Readme: some links added 2023-06-10 23:19:50 +02:00
Frank
7b92cd2fdb Readme: code of conduct 2023-06-10 22:55:08 +02:00
Frank
d4a37ecaea clean up ledmap names when directly reading from file 2023-06-09 17:26:44 +02:00
Frank
64139efc13 clean up ledmap names when directly reading from file 2023-06-09 17:03:04 +02:00
Frank
7dcc8f1d1f enumerateLedmaps improvements
improve reading on ledmap names
* remove trailing " " "," "\r"
* clear buffer between reads
* fix for a 1-byte buffer overflow
2023-06-08 22:31:39 +02:00
Frank
23ea201b43 enumerateLedmaps improvements
improve reading on ledmap names
* remove trailing " " "," "\r"
* clear buffer between reads
* fix for a 1-byte buffer overflow
2023-06-08 22:26:55 +02:00
Frank
d1b2759d47 npm run build 2023-06-08 19:29:23 +02:00
Ewoud
b473a40037 Tiny things 2023-06-08 19:25:38 +02:00
Ewoud
5c7937507b Bug fix segment view, use ledmapMaxSize (TroyHack) 2023-06-08 19:24:37 +02:00
Ewoud
3560b27dc1 Tiny things 2023-06-08 18:47:56 +02:00
Ewoud
8d43af6acc Bug fix segment view, use ledmapMaxSize (TroyHack) 2023-06-08 18:34:10 +02:00
Ewoud
b332204978 Moving to version 0.14.0-b15.27 2023-06-07 23:32:36 +02:00
Frank
9ea7685419 Bugfix in DDP handling
from upstream beta-3 branch, see 92390d1d59
2023-06-07 21:56:55 +02:00
Frank
6fd647ab15 post-merge
* restore WLED_USE_PSRAM_JSON - not existing in upstream
* fix compiler warning about ambiguous "&"
2023-06-07 21:45:52 +02:00
Ewoud
b95ff2d74f Merge remote-tracking branch 'upstream/main' into mdev 2023-06-07 20:54:04 +02:00
TroyHacks
337b117e44 Merge branch 'audio_fastpath' of https://github.com/MoonModules/WLED into audio_fastpath 2023-06-07 12:34:40 -04:00
TroyHacks
82f9be59ca npm run build 2023-06-07 12:34:35 -04:00
Frank
7465be7d42 heap mud scrum
Avoid heap fragmentation.
Use static UDP buffers on ESP32, instead of allocating them from the heap repeatedly.
2023-06-07 18:21:16 +02:00
Frank
d8a68890d4 build fix
removing some bonus colons.
2023-06-07 17:16:49 +02:00
Frank
af6091b493 fixing some memory leaks
* audio_reactive.h: catch memory errors from WiFiUDP
* udp: explicitly flush unused receive buffers.
* wled.cpp: additional debug info about "largest available block"
* FX_fcn.cpp: free _globalLeds before running purgeSegments().
2023-06-07 17:10:32 +02:00
TroyHacks
309e66bf8a Added fallback for ESP8266 to original code. 2023-06-07 10:44:10 -04:00
TroyHacks
7e1d15c87b Merge branch 'audio_fastpath' of https://github.com/MoonModules/WLED into audio_fastpath 2023-06-07 10:35:51 -04:00
TroyHacks
06344aeb41 FFT UDP fush if not read. 2023-06-07 10:35:28 -04:00
TroyHacks
4dc6a388a8 Added code for dealing with low heap, heap debug. 2023-06-07 10:33:26 -04:00