Commit Graph

6147 Commits

Author SHA1 Message Date
Damian Schneider
3b14c31e00 fix noScale callback, allow for more blur, removed some whitespaces 2025-11-11 21:09:48 +01:00
Frank
a96e88043d remove commented code for no-PSRAM boards
*sigh* changing gifdecoder parameters seems to have _no_ effect on RAM needed
2025-11-09 20:24:57 +01:00
Frank
29d2f7fc1b debug print for decodeFrame error codes 2025-11-09 19:06:59 +01:00
Frank
1324d49098 revert smaller gif size limits for board without PSRAM
see discussion in PR#5040
2025-11-09 18:28:12 +01:00
Frank
79a52a60ff small optimization: fast 2D drawing without scaling
for 2D segments, setPixelColorXY() should be used because it is faster than  setPixelColor().
2025-11-09 18:14:50 +01:00
Frank
6581dd6ff9 add blur option 2025-11-09 17:33:04 +01:00
Frank
4659939547 error handling and robustness improvements
* catch some error that would lead to undefined behavior
* additional debug messages in case of errors
* robustness: handle OOM exception from  decoder.alloc() gracefully
2025-11-09 17:29:56 +01:00
Damian Schneider
790be35ab8 make all globals static 2025-11-08 16:04:08 +01:00
Damian Schneider
0eef321f88 uising is2D() to check if segment is 2D, use vLength() on 1D setups 2025-11-08 12:54:25 +01:00
Damian Schneider
69dfe6c8a1 speed optimizations: skip setting multiple times, "fastpath" if no scaling needed 2025-11-08 12:01:40 +01:00
Damian Schneider
0e043b2a1b changed to vWidth/vHeight
- since we draw on a segment, we need to use virtual segment dimensions or scaling will be off when using any virtualisation like grouping/spacing/mirror etc.
2025-11-06 15:23:43 +01:00
Damian Schneider
01c84b0140 add better 1D support for gif images
Instead of showing a scaled, single line of the GIF: map the full gif to the strip
2025-11-06 14:55:26 +01:00
Will Tatam
b60313e1f8 Merge pull request #5012 from DedeHai/improved_welcompage_check
Improvement to "Welcome Page" check
2025-10-22 20:40:06 +01:00
Will Tatam
1fff61b726 Merge pull request #4995 from Brandon502/GoLRework
Game of Life Rework
2025-10-21 20:43:28 +01:00
Damian Schneider
c4850aed08 Adding DDP over WS, moving duplicate WS-connection to common.js (#4997)
- Enabling DDP over WebSocket: this allows for UI or html tools to stream data to the LEDs much faster than through the JSON API.
- first byte of data array is used to determine protocol for future use
- Moved the duplicate function to establish a WS connection from the live-view htm files to common.js
- add better safety check for DDP: prevent OOB reads of buffer
2025-10-21 19:41:57 +02:00
Damian Schneider
43eb2d6f47 check config backup as welcome page gate 2025-10-19 07:10:05 +02:00
Damian Schneider
0ec4488dd1 adding function to check if a backup exists 2025-10-19 07:08:18 +02:00
Benjam Welker
ca5debef32 Fix blank area issue with Twinkle (#5005)
* Fix blank area issue with Twinkle
2025-10-17 07:31:00 +02:00
Brandon502
cc0230f83f Game of Life Optimizations
Adjust mutation logic. Use 1D get/set. Reduce code size.
2025-10-14 22:58:22 -04:00
Damian Schneider
3bc728e068 fix low brightness gradient "jumpyness"
during testing at low brightness I noticed that gradients can be "jumping" in colors quite wildly, turning a smooth gradient into a flickering mess. This is due to the color hue preservation being inaccurate and a bit too aggressive. This can be seen for example using a gradient palette and "Running" FX.
Removing the hue preservation completely fixes it but leaves color artefacts for example visible in PS Fire at very low brightness: the bright part of the flames gets a pink hue. This change is a compromise to fix both problems to a "good enough" state
2025-10-12 15:18:48 +02:00
Damian Schneider
7f1f986f13 safety check for bootloop action tracker: bring it back on track if out of bounds 2025-10-09 22:08:18 +02:00
Brandon502
65b91762fd Game of Life Rework
RAM and speed optimizations. Better repeat detection. Mutation toggle. Blur option added.
2025-10-08 22:48:53 -04:00
Will Tatam
91fdb5822b Merge pull request #4985 from wled-compile/patch-1
Correct broken esp32dev_8M enviroment
2025-10-07 07:42:33 +01:00
Will Tatam
e4cabf8de6 Merge pull request #4987 from wled/copilot/fix-e93598cf-9ce2-4b3d-82dd-393eaf538463
Fix copilot-instructions.md to require mandatory hardware build validation
2025-10-05 16:23:00 +01:00
copilot-swe-agent[bot]
f034601512 Reference Hardware Compilation section for common environments list
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-10-05 15:12:07 +00:00
copilot-swe-agent[bot]
151a974607 Fix copilot-instructions.md to require mandatory build validation
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-10-05 15:04:44 +00:00
copilot-swe-agent[bot]
9f583f16f8 Initial plan 2025-10-05 14:54:28 +00:00
wled-compile
4c4436f48c Update platformio.ini
esp32dev_8M: add flash_mode
2025-10-05 16:32:22 +02:00
Damian Schneider
3562fa264e Bugfix for gif player WRT inactive segment and bugfix in copy FX
- if a segment is destroyed or turned inactive, disable the gif player: only one gif player instance can run at a time, if a inactive or destroyed segment uses it, the effect is broken for other segments.

- copy FX ironically copied the source segment on each call, should use reference not a copy!
2025-10-02 20:40:43 +02:00
Damian Schneider
359d46c3e1 Bugfix for gif playback and segment destruction, bugfix in copy FX
- if a segment is destroyed or turned inactive, disable the gif player: only one gif player instance can run at a time, if a inactive or destroyed segment uses it, the effect is broken for other segments.
- copy FX ironically copied the source segment on each call, should use reference not a copy!
2025-10-02 20:06:01 +02:00
Damian Schneider
2b73a349dd Bugfix for FX: Tri Fade
Bugfix for FX: Tri Fade
2025-09-28 19:52:20 +02:00
Damian Schneider
d86ae7db40 Merge pull request #4968 from MathijsG/patch-1
Fix typo changable > changeable
2025-09-28 17:08:14 +02:00
Mathijs Groothuis
f096320e63 Fix typo changable > changeable
Fix typo that I discovered while tinkering in Wled.
2025-09-28 16:55:03 +02:00
Damian Schneider
e23751bd1d Bugfix in custom palette color picker, fixes #4963 2025-09-27 13:23:36 +02:00
danewhero
d5002cce25 Update user_fx usermod README.md (#4754)
* turned into a fully fletched tutorial
2025-09-25 16:26:05 +02:00
Damian Schneider
daa833f33d Adding Shimmer FX (#4923)
Sends a shimmer across the strip at defined (or random) intervals
Optional brightness modulators: sine or perlin noise
Can be used as an overlay to other effects.
2025-09-24 20:49:40 +02:00
Will Tatam
7fe831c5e3 Remove outdated references to esp32.AR_build_flags and esp32.AR_lib_deps 2025-09-23 21:53:15 +01:00
Will Tatam
66069245a1 Remove default LED_TYPES=65 for hub75 envs as not possible without setting the pins as can not be used without also setting the "pins" used - which is really the dimensions, as PinManager validates these in first-boot senario 2025-09-23 21:48:26 +01:00
Damian Schneider
8b3975752c speed optimisations, fix for restoreColorLossy, code cleanup (#4895)
- speed optimization in color_add, PS fast_color_add and blur functions
- applying more bit and shift manipulation tricks to squeeze out just a bit more speed on color manipulation functions.
- Optimization on blur is based on work by @blazoncek
- Renamed PS fast_color_add() to fast_color_scaleAdd()
2025-09-23 20:15:42 +02:00
Will Tatam
c6b4c77387 Merge pull request #4953 from LordMike/lordmike/wled-tools-backup-ir
Extend `wled-tools.sh` backup with optional `ir.json`, refactor fetch logic, add timeouts
2025-09-22 20:56:36 +01:00
Michael Bisbjerg
9152d9d2ed Accept change by coderabbit, move only 2xx files 2025-09-22 21:16:02 +02:00
Michael Bisbjerg
5a4a50415e Merge branch 'wled:main' into lordmike/wled-tools-backup-ir 2025-09-22 20:52:28 +02:00
Michael Bisbjerg
640d0ee133 Updates 2025-09-22 20:52:08 +02:00
Damian Schneider
529edfc39b "unrestricted" number of custom palettes (#4932)
- allow more than 10 custom palettes
- move palettes into CPP file
- Fix for minimizing cpal.htm (saves 2k of flash)
- shortened names in cpal, saves about 400 bytes of Flash after packing
- removed async from common.js loading to prevent errors on page loads if the file is not cached
- restricted nubmer of user palettes on ESP8266 to 10
- unrestricted number of user palettes on all other platforms (total max palettes: 256)
- added a warning when adding more than 10 palettes to let the user decide to risk it
- Bugfixes in palette enumeration, fixed AR palette adding
- AR palettes are now also added if there are more than 10 custom palettes

Co-authored-by: Blaž Kristan <blaz@kristan-sp.si>
2025-09-22 20:09:54 +02:00
Damian Schneider
4b1b0fe045 Adding center bin selection to 2D GEQ (#4764)
* adding center bin selection to 2D GEQ: this makes it possible to use subsets of the GEQ on distributed strips

setting custom3 to 0 gives the "old" behaviour, this is the default. existing presets will have the custom3 slider at the center, changing presets that do not use the full width so this is a breaking change for those but I assume theser are rare.
2025-09-22 20:01:54 +02:00
Michael Bisbjerg
4bfc9a9514 Add backing up of ir.json to wled-tools 2025-09-22 19:01:52 +02:00
Damian Schneider
4d39dd0a5e Fix LED buffer size calculation (#4928)
* Attempt at better bus memory calculation and estimation
* Remov double buffer count for ESP8266 (thanks @dedehai)
* improve UI calculation
* adding mendatory LED buffers to UI memory calculation
* adding buffer for transitions to memory calculation, change "error" to "warning"
* bugfixes in settings_leds.htm
* fix getDataSize() forESP8266, ESP8266 does not use double buffering.
* update led settings: fix parsing by @blazoncek
* new warnings for LED buffer use, deny adding a bus if it exceeds limits
* adds recommendations for users (reboot, disable transitions)

Co-authored-by: Blaž Kristan <blaz@kristan-sp.si>
2025-09-21 22:48:09 +02:00
Soeren
15ba01a1c6 Fix Discord webhook message to show the detailed embed
To get the detailed embed in the message there has to be a space between the link and the following dot
2025-09-21 22:02:44 +02:00
Will Tatam
2593b11aba Merge pull request #4950 from netmindz/HUB75-AC-Fixes
Hub75  fixes
2025-09-21 20:55:39 +01:00
Will Tatam
e7652e389f Merge pull request #4949 from wled/copilot/fix-4948
Fix HUB75 panel dimensions not loading in LED Preferences page
2025-09-20 20:00:50 +01:00