Commit Graph

6300 Commits

Author SHA1 Message Date
Will Miles
d538736411 Always use package.json for WLED_VERSION
Ensures consistency between UI and metadata; fixes release bin names.
2025-10-26 17:58:23 -04:00
Will Miles
b268aea0ab set_metadata: Apply code fixes from @coderabbit 2025-10-25 13:43:10 -04:00
Will Miles
a04d70293d Fix set_metadata script 2025-10-25 09:58:01 -04:00
Will Miles
c66d67dd19 Fix metadata includes 2025-10-25 09:57:18 -04:00
Will Miles
0c22163fd9 Fix unaligned reads during metadata search 2025-10-25 09:57:03 -04:00
Damian Schneider
50c0f41508 fix timing issue when changing 1D <-> 2D credits to @blazoncek 2025-10-24 19:30:28 +02: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 Miles
5ca10f35d1 Process metadata only in metadata.cpp
Improves cache utilization as fewer things are passed via CFLAGS to
all files.  In the event that no metadata is available, let the cpp
file handle warning about default usage.
2025-10-06 21:52:16 -04:00
copilot-swe-agent[bot]
a073bf32e4 Implement OTA release compatibility checking system
Implement a comprehensive solution for validating a firmware before an
OTA updated is committed.  WLED metadata such as version and release
is moved to a data structure located at near the start of the firmware
binary, where it can be identified and validated.

Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-10-06 21:50:23 -04:00
copilot-swe-agent[bot]
d79b02379e Fix: Move bootloader JavaScript to separate script block to avoid GetV() injection removal
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-10-05 15:39:43 +00: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]
f5f3fc338f Fix: Cast min() arguments to size_t for ESP32-C3 compatibility
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-10-05 15:12:46 +00: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]
042ed39464 Fix: Remove static keyword from getBootloaderSHA256Hex() to match declaration
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-10-05 14:57:24 +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
copilot-swe-agent[bot]
c3e18905c1 Improve bootloader flash implementation with proper erase and write operations
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-10-05 14:24:29 +00:00
copilot-swe-agent[bot]
a18a661c73 Add esp_flash.h include for ESP32 bootloader flash operations
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-10-05 14:20:14 +00:00
copilot-swe-agent[bot]
93908e758f Add ESP32 bootloader upgrade functionality with JSON API support
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-10-05 14:17:51 +00:00
copilot-swe-agent[bot]
30fbf55b9a Initial plan 2025-10-05 14:09:10 +00: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