Commit Graph

3217 Commits

Author SHA1 Message Date
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
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
d4a37ecaea clean up ledmap names when directly reading from file 2023-06-09 17:26:44 +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
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
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
4dc6a388a8 Added code for dealing with low heap, heap debug. 2023-06-07 10:33:26 -04:00
Frank
e6334d8e3d hide "slow strip" when compiling with HEAP_DEBUG 2023-06-07 12:25:41 +02:00
TroyHacks
143f84238f WLED_DEBUG_MAPS flag added 2023-06-06 19:44:02 -04:00
Frank
aded74d8b1 suspendStripService improvements
* also suspend Transitions, Notifications and Live LED updates while strip or segments are under update from the Web UI.
2023-06-04 20:30:03 +02:00
Frank
4d64efa5cb sendLiveLedsWs: don't kick clients
... on low memory conditions, as a lot of UI communication depends on web-sockets (thanks @ewoudwijma for pointing this out).
2023-06-04 17:11:26 +02:00
Troy
35f3f2859a Oops. Bonus brace.
Typo.
2023-06-02 08:16:03 -04:00
Troy
cfc1116249 Force reconnect via Serial input
Type "X" into the serial console to force the network to reconnect.
2023-06-02 08:12:30 -04:00
Troy
62990cda9c Minor edit: typo 2023-06-02 08:10:34 -04:00
Frank
be2da7b3e9 minor edit: tab inserted 2023-06-02 01:48:55 +02:00
Troy
53c8f9f8fd Minor edit to remove a space for clarity
Replaced a space with an underscore in heap caps debug for clarity.
2023-06-01 19:40:06 -04:00
Frank
55b0463aa8 heap debug: show total free + fragmentation level 2023-06-02 01:25:06 +02:00
Frank
0f45b4f04a webserver: removing JSON_BUFFER_SIZE for esp32
the default buffer is 16Kb, which should be sufficient.
With PSRAM enabled, we habe JSON_BUFFER_SIZE up to 60Kb.
2023-06-01 23:12:45 +02:00
Frank
dc77c172b2 Merge branch 'mdev' into audio_fastpath 2023-06-01 22:59:20 +02:00
Frank
f300ffdbe9 debug out: flush serial buffer after dumping out ledmap. 2023-06-01 22:57:15 +02:00
Frank
c052da9d0d Merge pull request #50 from troyhacks/heap_debug
Heap debug via WLED_DEBUG_HEAP
2023-06-01 22:05:36 +02:00
Frank
63b03a4139 Merge branch 'mdev' into audio_fastpath 2023-06-01 21:58:34 +02:00
Frank
404fb566fa partly disable waitUntilIdle() as its still work-in-progress
This disables parts of the new feature that might lead to delays, so basicially there is some detection, but no protection any more.

further development needed --> audio_fastpath branch

compile with -D WLEDMM_PROTECT_SERVICE to enable full protection.
2023-06-01 21:55:46 +02:00
TroyHacks
1b8ebfd652 Added heap debug - enable with WLED_DEBUG_HEAP 2023-06-01 15:34:34 -04:00
Frank
333f5ac2a1 waitUntilIdle() improvements
* protect deserializeMap()
* better handling of recursion in deserializeSegment() and deserializeState
* don't use yield() on esp32
2023-06-01 21:28:46 +02:00
Frank
52fe8e28a3 Merge branch 'mdev' into audio_fastpath 2023-06-01 17:44:36 +02:00
Frank
0a5bfb656d avoid updating strip / segments while draving effects (ESP32 only)
💫 this is the way🌟
A new locking mechanism that allows to wait until strip.service() has completed.
2023-06-01 17:41:36 +02:00
Ewoud
bd7f1678d0 Hack to show Animartrix effects last in effects list 2023-05-31 21:34:19 +02:00
Frank
c13a5d7070 post-merge
npm run build
2023-05-30 20:49:58 +02:00
Frank
1daeecc7dd Merge branch 'mdev' into audio_fastpath 2023-05-30 20:44:10 +02:00
Ewoud
d8bc5e2bce Dynamic Peek framerates 🎉 2023-05-29 22:54:23 +02:00
Ewoud
e9a2777ee5 Dynamic Peek framerates 🎉 2023-05-29 21:53:48 +02:00
Ewoud
5081cfb891 Bug fix, allocate string to store ledmap name 2023-05-29 19:16:17 +02:00
Ewoud
b1e9f825ca Bug fix, allocate string to store ledmap name 2023-05-29 18:33:49 +02:00
Frank
6d78e46a47 strip.service() optimization
to have more stable frame times, the minimum delay should be calculated from the time BEFORE strip.show() not after.

This optimization increases CPU load and potentially has negative impact on usermods that check for strip.isUpdating(), so its only enabled with WLEDMM_FASTPATH.
2023-05-26 23:37:01 +02:00
Frank
9cb6189611 minor speedup for 2D
* robustness: Segment::height() should never return 0
* Segment::XY(), Segment::virtualWidth() and Segment::virtualHeight() declared inline in fx.h. The compiler will always inline these functions now, avoiding overhead of call/return. "Knowing" the function body might also enable other optimizations.
--> up to 10% speedup in 2D effects.
2023-05-26 23:12:49 +02:00
Frank
e2eb3e8ab4 npm run build
npm run build
comment added in platformio.ini
2023-05-25 22:13:41 +02:00
Frank
71153ee832 small debug improvements
- don't set -DNDEBUG -> this flag is "not recommended"
- minor change in deserializeMap() WLED_DEBUG code
2023-05-25 21:50:44 +02:00
Ewoud
5edd5e6592 tiny 2023-05-25 21:50:44 +02:00
Ewoud
4197f98afe package.json and cdata.js: set urls to MoonModules
index.js: add logging (temp) and improve segment view redrawing
wled00.ini: add lps (temp)
wledserver.cpp: show client request done after its done
ws.cpp: show websocket events (temp?)
2023-05-25 21:50:43 +02:00
Frank
0a826f10ad small debug improvements
- don't set -DNDEBUG -> this flag is "not recommended"
- minor change in deserializeMap() WLED_DEBUG code
2023-05-25 21:38:08 +02:00
Ewoud
ae209e0d31 tiny 2023-05-24 15:25:41 +02:00