Commit Graph

6307 Commits

Author SHA1 Message Date
Frank
4a33809d66 make waitForIt() timing logic robust against millis() rollover
the timing logic did not work in case that millis()+100 + frametime rolls over; in this case millis() > maxWait, and waiting would be skipped which might lead to crashes.
-> logic slightly adjusted to be robust against rollover.
2025-11-18 22:56:30 +01:00
Damian Schneider
336e074b4a fix for 0byte size files, also made reading ledmaps more efficient
when a ledmap is read from a file, it first parses the keys, putting the in front is more efficient as it will find them in the first 256 byte chunk.
2025-11-18 20:40:04 +01:00
Damian Schneider
aaad450175 show minimum of 0.1KB for small files in file editor 2025-11-18 07:26:17 +01:00
Will Tatam
85b3c5d91b refactor to use a common sha1 function 2025-11-18 05:53:12 +00:00
Will Tatam
4db86ebf7f Add salf and checksum 2025-11-18 05:35:49 +00:00
Damian Schneider
65c43b5224 add ctrl+s support to file editor, also add toast instead of alert 2025-11-17 20:56:49 +01:00
Will Tatam
c649ec1d8c Update wled00/json.cpp
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-11-17 17:40:09 +00:00
Frank
271e9ac7b7 image loader: allow graceful takeover after error
Allow decoder "takeover" by another segment
a) when last segment has decoding error (unsupported file, etc.)
b) when last segment became inactive
2025-11-17 14:45:07 +01:00
Damian Schneider
8348089b50 speed improvements to Aurora FX (#4926)
* improvements to Aurora FX

- converted to integer math, increasing speed on all ESPs, also shrinks code size
- caching values to avoid repeated calculations
- CRGBW instead or CRGB, adds white channel support when not using palette
- fix for new brightness/gamma handling

* overflow & unsigned fix
2025-11-16 21:20:14 +01:00
Damian Schneider
4f968861d6 fix for low heap situations on ESP8266 2025-11-16 12:59:35 +01:00
Will Tatam
66ffd65476 Add deviceId to JSON info respose, to be used for the post-upgrade notfication system 2025-11-15 20:17:23 +00:00
Damian Schneider
194829336f Fix OTA update for C3 from 0.15 (#5072)
* change C3 to DIO, add explicit QIO env for C3, add markOTAvalid() to support OTA from 0.15
2025-11-15 07:41:11 +01:00
Damian Schneider
f1d708ca43 Merge pull request #5073 from DedeHai/ledmap_bugfixes
Bugfix in ledmap generation
2025-11-15 07:39:39 +01:00
Damian Schneider
4f93661865 Improved 1D support for GIF images, bugfixes, blur option by @DedeHai & @softhack007
- add better support for 1D gifs: use the full gif, row by row, scale if needed
- add blur slider to image FX
- improved safety checks to avoid crashes
- add "fast path" if image size matches virtual segment size
2025-11-14 18:22:31 +01:00
Frank
cd2dc437a3 replace magic number by constant
32 => WLED_MAX_SEGNAME_LEN
2025-11-14 11:40:26 +01:00
Frank
f95dae1b1b ensure that lastFilename is always terminated properly 2025-11-14 01:40:46 +01:00
Frank
6ae4b1fc38 comment to prevent future "false improvement" attempts 2025-11-14 01:26:52 +01:00
Frank
fc776eeb16 add comment to explain coordinate packing logic 2025-11-14 01:08:48 +01:00
Damian Schneider
79376bbc58 improved lastCoordinate calculation 2025-11-13 18:26:00 +01:00
Damian Schneider
3b14c31e00 fix noScale callback, allow for more blur, removed some whitespaces 2025-11-11 21:09:48 +01:00
Damian Schneider
a666f07340 fix off-by-one bug, remove unnecessary 16384 restriction 2025-11-11 20:00:22 +01:00
Frank
bd933ff230 fix for "missing esp32 build flag"
In my previous commit I've overlooked that build_flags from esp32_idf_V4 are inherited by esp32S2, esp32s3 and esp32c3 --> clashed with USB-CTC settings of these boards.

So the correct way to propagate esp32-only flags is to add them in the "lower level" build envs individually.
2025-11-10 18:03:11 +01:00
Frank
7addae9c24 restore missing build flag for esp32
this flag got lost between 0.15 and 0.16.

Even when NO classic esp32 has USB-CDC., it seems that omitting the flag can cause strange behavior in the arduino-esp32 framework.
2025-11-10 16:52:24 +01:00
Frank
a73a2aaa33 restore missing platform_packages references
- restores compatibility with platformio_override.sample.ini
- best practice is to always define platform_packages, even when its empty = use default
2025-11-10 16:42:46 +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
Will Tatam
7aedf77d83 Merge pull request #4984 from wled/copilot/fix-d4f5fc55-f916-458a-9155-deb9bbff6662
Add ESP32 bootloader upgrade capability to OTA update page with JSON API support and ESP-IDF validation
2025-11-09 17:28:39 +00: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
Will Tatam
50d33c5bf4 Only supports ESP32 and ESP32-S2 2025-11-09 14:20:30 +00:00
Will Tatam
c7c379f962 match all esp32 types 2025-11-09 13:24:15 +00:00
Will Tatam
af8c851cc6 Privilege checks must run before bootloader init 2025-11-09 12:18:16 +00:00
Will Tatam
88466c7d1f Truncated bootloader images slip through verification and get flashed 2025-11-09 12:14:32 +00:00
Will Tatam
a36638ee6d Stop processing once an error is detected during bootloader upload 2025-11-09 12:04:56 +00:00
Will Tatam
ff93a48926 optimise fetching of bootloaderSHA256 2025-11-09 11:57:41 +00:00
Will Tatam
9474c29946 single definition of BOOTLOADER_OFFSET 2025-11-09 11:53:42 +00:00
Will Tatam
8097c7c86d refactor current bootloader reading out of the server ino ota 2025-11-09 11:41:51 +00:00
Will Tatam
abfe91d47b tidy up imports in wled_server.cpp 2025-11-09 11:31:56 +00:00
Will Tatam
a4109c7ea8 tidy up merge conflict on update.htm 2025-11-09 11:28:30 +00:00
Will Tatam
34445dbe0f working upgrade! (for esp32 classic) 2025-11-09 11:17:59 +00:00
Will Tatam
c5631b8fe3 remove null checks 2025-11-09 10:33:32 +00:00
Will Tatam
4cddd3face refactor bootloader update to pattern used by main ota update 2025-11-09 10:29:16 +00:00
Will Tatam
5250a0fe2c move verifyBootloaderImage to ota_update 2025-11-09 10:21:39 +00:00
Will Tatam
95611f19c0 Improve error handling 2025-11-09 10:14:17 +00:00
Will Tatam
b98ee3e7b6 remove duplicate updatebootloader handler 2025-11-09 09:53:05 +00:00
Will Tatam
90d4dd79de remove duplicate call for validation - isValidBootloader 2025-11-09 09:52:50 +00:00
Will Tatam
00904d8862 Merge branch 'copilot/fix-d4f5fc55-f916-458a-9155-deb9bbff6662' of https://github.com/wled/WLED into copilot/fix-d4f5fc55-f916-458a-9155-deb9bbff6662 2025-11-09 09:18:00 +00:00
copilot-swe-agent[bot]
2e7b6b79bf Initial plan 2025-11-09 09:17:06 +00:00