Commit Graph

5916 Commits

Author SHA1 Message Date
Damian Schneider
8cc5d64819 Merge pull request #4853 from willmmiles/bootloop-platform-simplification
Bootloop detection platform factoring
2025-09-01 22:17:07 +02:00
netmindz
4c948cca13 Merge pull request #4860 from tarontop/main
support iotorero ethernet controller
2025-09-01 10:03:54 +01:00
Aiden
5cb8dc3978 Delete the same define 2025-09-01 11:05:31 +08:00
netmindz
8fc87aa17d Merge pull request #4844 from Arcitec/0_16-fix-sync
Fix broken Sync button after 0.15 refactor
2025-08-31 12:30:19 +01:00
Liliputech
da7f107273 fix POV Display usermod (#4427)
* POV Display usermod

this usermod adds a new effect called "POV Image".
To get it to work:
- read the README :)
- upload a bmp image to the ESP filesystem using "/edit" url.
- select "POV Image" effect.
- set the filename (ie: "/myimage.bmp") as segment name.
- rotate the segment at approximately 20 RPM.
- enjoy the show!
* improve file extension checks
* improve README, remove PNGdec reference, clean usermod
* restrain to esp32 platform + reduce memory footprint with malloc
2025-08-29 20:42:54 +02:00
Damian Schneider
d5d7fde30f use video scaling instead of NPB luminance & new ABL (#4798)
* updated color scaling to preserve hue at low brightness resulting in much better colors
* replace NPBlg with NPB, moved brightness scaling to bus manager
* improved gamma table calculation: fixed mismatch in inverting gamma table calculation: inversion should now be as good as it gets
* code cleanup, fixed gamma being applied in unnecessary places

Improvements to ABL handling:
- removed strip level handling, ist now all done on bus level
- limiter now respects pixel mapping
- proper handling of white channel
- improved current estimation
- current is now always correctly reported to UI
- minimal FPS impact if the ABL is not limiting but slighly higher impact for global ABL limit due to double-scaling

- moved brightness scaling to BusDigital
- created new header file colors.h to be able to access color functions in bus-manager.
- updated colo_fade() with better video scaling to preserve hue's at low brightness
- added IRAM_ATTR to color_fade (negligible speed impact when compared to inline and benefits other functions)
- added IRAM_ATTR to color_blend as it is used a lot throughout the code, did not test speed impact but adding it to color_fade made it almost on-par with an inlined function

Additional changes:
- fixes for properly handling `scaledBri()` (by @blazoncek)
- also use bit-shift instead of division in blending for ESP8266
- improvements for faster "softlight" calculation in blending
- changed some variables to uint8_t to maybe let the compiler optimize better, uint8_t can be faster if read, store and set are all done in uint8_t, which is the case in the ones I changed
- various minor code formatting changes
2025-08-29 17:12:10 +02:00
Will Miles
6f914d79b1 Increase boot loop timeout
Any repeating crash that prevents a human from logging in and fixing
the config should be treated as a boot loop.  Increase the detection
timeout, so anything that's fast enough to preclude a user fix will
trigger the recovery behaviour.
2025-08-28 21:17:12 -04:00
Will Miles
dd13c2df47 Reset crash counter after long interval
Don't treat consecutive but infrequent crashes as bootloops.  The
bootloop recovery actions only make sense when there is no opportunity
for a user to reconfigure their system.

Suggested by @coderabbitai
2025-08-28 21:10:39 -04:00
Damian Schneider
8aeb9e1abe bugfix in PS pointer alignment
- bug was leading to crashes when heap is low
2025-08-28 18:57:11 +02:00
Damian Schneider
cfad0b8a52 bugfix to prevent "almost infinite" loops in palette blend (#4841)
this fixes a very long loop when an overflow was happening in palette blending.
- reset prevPaletteBlends to prevent overflow
- add safety check in case overflow should still happen in another combination (or in future changes)
2025-08-28 18:08:31 +02:00
netmindz
f15c1fbca6 Merge pull request #4880 from wled/copilot/fix-4879
Fix pr-merge.yaml to include PR title and link in Discord notifications
2025-08-28 08:43:28 +01:00
copilot-swe-agent[bot]
708baf1ed7 Fix pr-merge.yaml to include PR title and link in Discord notifications
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-08-28 06:51:22 +00:00
copilot-swe-agent[bot]
4155a6bc23 Initial plan 2025-08-28 06:45:52 +00:00
netmindz
c92f0a9d90 Merge pull request #4878 from willmmiles/fix-pwm
Fix operation of length 1 strips, such as PWM LEDs
2025-08-28 06:31:39 +01:00
Will Miles
5fa901c37c Fix operation of length 1 strips, such as PWM LEDs
This reverts commit e5ba97bbe2.
2025-08-27 22:28:24 -04:00
Will Miles
46f3bc0ced Bootloop: Include soft wdt on ESP8266 2025-08-26 21:00:54 -04:00
Aiden
8baa6a4616 support iotorero ethernet controller 2025-08-21 12:51:48 +08:00
netmindz
1fb9eb771e Merge pull request #4856 from wled/copilot/fix-4855
Fix GitHub workflow secret access from forked PRs
2025-08-21 00:23:02 +01:00
netmindz
dee581f58d Merge pull request #4858 from wled/copilot/fix-4857
Add comprehensive GitHub Copilot instructions for WLED development workflow
2025-08-21 00:18:41 +01:00
copilot-swe-agent[bot]
7943b00017 Add comprehensive GitHub Copilot instructions for WLED development
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-08-20 23:07:03 +00:00
copilot-swe-agent[bot]
cd8ddb81e1 Fix GitHub workflow secret access from forked PRs
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-08-20 22:58:29 +00:00
copilot-swe-agent[bot]
890860ebf6 Initial plan 2025-08-20 22:55:59 +00:00
copilot-swe-agent[bot]
624042d97e Initial plan 2025-08-20 22:54:33 +00:00
Will Miles
85d4db83ed Isolate platform differences in bootloop check
Separate the platform-specific code from the logic, so any future
changes can be made in fewer places.
2025-08-20 11:32:32 -04:00
Will Miles
5146926723 Use direct references to RTC RAM on ESP8266
ESP8266 RTC RAM requires 32-bit accesses, but there's no need to jump
through a bunch of functions for it.  Use references to simplify access
and harmonize the implementation with ESP32.
2025-08-20 10:22:42 -04:00
Will Miles
3b5c6ca284 Fix bootloop if config is reset (#4852)
* Fix bootloop if config missing/reset

Can't reset the config if there's nothing to reset!

* ESP8266: Commit ACTIONT_TRACKER

* Use consistent naming for backups and reset cfgs

Use 'rst.cfg.json' instead of 'cfg.json.rst.json' for configs that were
reset.

* Add a little more PSTR to bootloop handling
2025-08-20 07:37:14 +02:00
netmindz
dcc1fbc96e Merge pull request #4846 from Arcitec/improve-version-info
Make version information consistent across update interfaces
2025-08-19 09:20:21 +01:00
Arcitec
7865985eeb Make version information consistent across update interfaces
The duplication of logic and the formatting differences between the "OTA Updates" and "Security & Updates" pages made it very difficult to find the exact version details.

With this change, both update-pages now share the same consistent and detailed formatting, making it easy for users to identify which exact version and binary of WLED they've installed.

The version format has also been improved to make it much easier to understand.
2025-08-17 22:45:20 +02:00
Arcitec
4ac7eb7eb2 Fix broken Sync button after 0.15 refactor
In the past, the "notify direct" flag controlled all network syncing, propagating all color changes to other devices on the network. Pressing the UI Sync button only toggled this flag, so "notify direct" was set to false by default.

In version 0.15, a separate "master" sync flag was introduced, and the UI Sync button now only activates this master flag. However, the rest of the flag defaults weren't configured to sync anything at all. As a result, users pressing Sync saw *no* syncing at all, leading to multiple bug reports.

Defaults are now user-friendly: Enabling Sync on a WLED device syncs all of *its* color changes, whether made via the UI, API or remote button, providing a consistent experience which matches the intended behavior from past WLED versions.

Philips Hue sync is now also disabled by default, making the stock defaults focused on WLED devices. Users with other RGB ecosystems can manually enable the Hue or Alexa syncing in the settings.
2025-08-17 18:12:22 +02:00
netmindz
7285efebca Merge pull request #4836 from netmindz/V4-cleanup
Remove old V3 IDF
2025-08-16 14:29:27 +01:00
Will Tatam
af2d46c30d Set VERSION 2025-08-16 12:23:21 +01:00
Damian Schneider
f4d89c4196 add IDF V3 support for bootloop detection 2025-08-16 08:45:41 +02:00
Damian Schneider
c9c442a933 Bootloop detection & recovery (#4793)
* added boot loop detection and config backup
* automatic OTA rollback if loading backup does not fix it
* added new file handling functions
* adding verification of json files, added config restore at bootup if broken
* added function to compare contents of two files for future use (currently not used)
2025-08-15 20:43:04 +02:00
TripleWhy
b8b59b2bb1 Make rainbow effects more colorful (#3681)
* Make color_wheel rotate in HSV sapce instead of linearly interpolating R->G->B
* Remove the rainbow wheel option, as that is the same as the rainbow palette
* Use hsv2rgb for color_wheel

This is the current result of the discussion in https://github.com/wled/WLED/pull/3681
2025-08-15 20:19:18 +02:00
Will Tatam
c33e303323 Fix eth build, update lib_deps for v4 2025-08-14 17:56:17 +01:00
Will Tatam
caf3c7a2f9 Remove old V3 IDF 2025-08-14 17:50:21 +01:00
Will Tatam
c8d8ab020e ARDUINO_USB_CDC_ON_BOOT should not be in common esp32_idf_V4 2025-08-14 14:52:49 +01:00
Will Tatam
297d5ced75 Use esp32_idf_V4.build_flags and esp32_idf_V4.lib_deps for all V4 builds 2025-08-14 14:52:49 +01:00
Will Miles
3f90366aa8 Merge pull request #4796 from willmmiles/asynctcp-update
Update AsyncTCP (and AsyncWebServer)
2025-08-09 12:05:13 -04:00
Damian Schneider
e3653baf74 Segment fixes (#4811)
* Pulling in proper segment memory handling&fixes from @blazoncek dev branch
2025-08-07 21:11:10 +02:00
Will Miles
f74d1459b9 Downtune AsyncTCP stack size
We downtuned the stack usage of AsyncTCP, and at some point in the
history of our fork, this got folded in to the default.  Re-apply the
stack size we've been using and recover that RAM.
2025-08-04 14:21:11 -04:00
Blaž Kristan
93e011d403 Merge pull request #4769 from wled/fix-4671
Add mDNS support for MQTT server
2025-08-02 23:15:58 +02:00
Blaž Kristan
374d90629d Merge pull request #4768 from wled/fix-4268
Add mDNS resolution for network bus
2025-08-02 23:12:23 +02:00
Blaž Kristan
bfe5cd52e7 Merge pull request #4748 from wled/aOTA
Revert disable OTA logic & optional Arduino OTA
2025-08-02 23:11:37 +02:00
Will Miles
e374c7ae55 Update to AsyncTCP 3.4.7
Bugfix on 3.4.6
2025-08-02 15:49:47 -04:00
Will Miles
9e4675ef46 Update AsyncWebServer and AsyncTCP
This should fix (or at least improve) some of the crash cases under
excessive web server load.
2025-07-30 22:17:44 -04:00
Damian Schneider
b76ef231fc PS Bugfix: revert gamma correction for color, not brightness setting 2025-07-29 19:35:12 +02:00
netmindz
591dbe387c Merge pull request #4780 from jasonsomers/main
Update settings_wifi.htm
2025-07-27 13:52:31 +01:00
Will Tatam
e5ba97bbe2 Prevent crash during blend if led init fails, https://github.com/wled/WLED/issues/4782 2025-07-27 13:15:42 +01:00
Will Tatam
b79e81f3be maxIssues for release notes 2025-07-27 11:43:44 +01:00