Commit Graph

4471 Commits

Author SHA1 Message Date
Damian Schneider
1ca55e42af fix relay not turning on at boot (#5315)
These changes eliminate an elaborate race condition
* add dedicated function to handle on/off and relay
* add clarifying comment on output set order
* add define for relay delay, honor forceOff in all cases
2026-01-31 17:40:53 +01:00
Damian Schneider
2c4ed4249d New custom palettes editor (#5010)
* full refactoring, added live preview, better minifying in cdata.js
* update main UI buttons, support for gaps in cpal files, cpal UI cleanup
* fixed some layout issues, added un-ordered cpal deletion
* changed to tab indentation, paste button border color now holds stored color
* fix preview to work properly and some other fixes in UI
* always unfreeze
* new approach to loading iro.js, add harmonic random palette, many fixes.
* decoupling iro.j, update UI of cpal.htm
- load iro.js sequentially
- no parallel requests in cpal.htm
- update UI buttons
- fix showing sequential loading of palettes (using opacity)
- better UX for mobile (larger markers, larger editor)
- various fixes
* small change to buttons
* load iro.js dynamically, remove iro.js from index.htm, revert changes to cdata.js
* improved visibility for very dark/black palettes and markers
2026-01-30 20:35:15 +01:00
Damian Schneider
f19d29cd64 add json validation to file inputs in UI and minify before upload (#5248)
* also updated edit.htm to do the same
2026-01-30 08:18:17 +01:00
Damian Schneider
1031e70d70 Replace buffer lock magic numbers with defines (#5217)
* replace magic numbers with defines
2026-01-30 08:14:53 +01:00
Frank Möhle
c9f47d4b5c new ESP32 node types
Added new node types for unsupported ESP32 variants, based on same file from ESP Easy.

Just to be prepared for new nodes (future support)
2026-01-28 23:37:22 +01:00
Damian Schneider
857e73ab25 adding image rotation to PixelForge gif tool (#5309) 2026-01-28 19:15:28 +01:00
Frank
81af160be6 disable repeating warning, set all AR pins to "unused"
* ethernet warning was repeating too often
* make sure that AR usermod will not grab any PINs at startup
2026-01-28 15:24:40 +01:00
Frank Möhle
e867fcab1a Change default LED pin to 4 in Ethernet builds
GPIO 4 seems to be one of the few pins that is not used in ANY supported ethernet config.

See https://github.com/wled/WLED/issues/5155#issuecomment-3614391561
2026-01-27 23:14:06 +01:00
Copilot
df94a8d5af Remove MAX_LEDS_PER_BUS limitation for virtual buses (#5238)
- Frontend: Updated settings_leds.htm to allow virtual buses up to 16384 LEDs
- Backend: Modified BusConfig::adjustBounds() to skip MAX_LEDS_PER_BUS check for virtual buses

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>
2026-01-23 06:58:27 +01:00
Damian Schneider
d9cc751db4 Adding sequential resource loading to edit.htm (#5306)
Avoids multiple parallel connections which is helpful in low heap situations, especially on ESP8266
2026-01-23 06:45:45 +01:00
ChuckMash
be900737d2 fix button byte comment 2026-01-21 16:25:22 -08:00
Damian Schneider
af8db57f02 Fix for cfg exceeding LED limit (#4939)
* Safety Checks for UI, fix for cfg exceeding LED limit
* improvements to low heap check
* add `isPlaceholder()` to bus, some fixes
* remove `disableForceReconnect` for better future implementation
* add "glitch gating" for C3 and check heapy every 5 seconds instead of every secondd
* replace magic number with the correct define, more robust bus defer by look-ahead

In the event that a Bus fails to initialize, or the memory validation
fails, keep the configuration around so the settings contents don't
change out from under the user.

---------

Co-authored-by: Will Miles <will@willmiles.net>
2026-01-19 19:33:06 +01:00
Damian Schneider
1773f61ded bugfix: do not disable "unused" pin type - um_p[] always contains "-1" as a placeholder 2026-01-18 08:37:56 +01:00
Copilot
d1d9dec402 Fix gamma correction for color not enabled on fresh install (#5225)
Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>
2026-01-12 07:55:05 +01:00
Damian Schneider
6e9dc181e1 deepsleep cleanup, use toki to check for valid time 2026-01-10 12:36:07 +01:00
elanworld
fe3a158264 Improvements to deepsleep UM (#4456)
- add touch pin option
- add wake-up on timer macro
- fix powerup behaviour: now works as intended i.e. if no sleep delay set, it enters deepsleep on powerup but only then
- apply macro after wake up even if the window is missed
- respect date-range setting of macro
- removed non-existing pin from touch list
- removed non existing voltageCheck setting
- fixed incorrect threshold setting
- code cleanup
- fix pullup/pulldown for deep-sleep GPIOs

pin init is now working correctly, tested on all platforms

* remove unused statement

---------

Co-authored-by: Damian Schneider <daedae@gmx.ch>
2026-01-10 11:28:07 +01:00
Will Tatam
e2de1af6f4 Merge pull request #5262 from brettbear/brettbear/ethernet-static-ip-ignored
Fixes ethernet initialisation of static IP settings and modified some debug info
2026-01-10 10:22:44 +00:00
Will Tatam
22ab62d090 Merge pull request #5273 from nomis52/awst
Add support for Australian Western Time
2026-01-07 18:21:47 +00:00
AlexeyMal
254e0099ca Random colors via JSON API in Segment object like "col":["r","r","r"] #4996 (#5000)
Add support for random colors via JSON API in Segment object like col=["r","r","r"] #4996
2026-01-06 22:47:04 -05:00
Frank
a870474b49 Removed redundant check before closing the file handle 2026-01-05 19:26:39 +01:00
Frank
8e27fe4c0c bufgix: prevent file data loss due to replacing an open file pointer
partial fix for #5275
2026-01-05 13:21:37 +01:00
Simon Newton
407c9fd72f Add support for Australian Western Time 2026-01-05 09:13:49 +08:00
Damian Schneider
e95450b318 replace cos8 with cos8_t correcting an oversight 2026-01-03 15:45:44 +01:00
Copilot
b556da8b36 Bugfix: GPIO0 always gets assigned to a button (#5259)
if button pin arg is missing, it defaults to 0 assigning a button to that pin. This change fixes that.

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>
2026-01-03 12:19:56 +01:00
Damian Schneider
5cfb6f984b Palettes fix (#5263)
* Fix for #5201
- use constants instead of magic numbers

Authored-by: Blaž Kristan <blaz@kristan-sp.si>
2026-01-03 10:07:04 +01:00
Damian Schneider
60e1698ed2 Improvements & fixes for HUB75 (#5026)
* Improvements & fixes for HUB75

- added proper config parameters to allow multiple panels
- added config checks
- fixed crashes on S3
- changed constant variables to constexpr
- added "wled.h" to bus_manager.cpp and removed local function prototypes (needed for buffer allocations)
- speed optimisations: yields about 10% higher FPS
- updated platformio_override.sample.ini
- some code cleanup
2026-01-03 09:56:10 +01:00
brettbear
60b2c3bb54 Fixes ethernet initialisation of static IP settings. Also corrected some debug messages. 2026-01-02 18:25:46 +11:00
Damian Schneider
787d8a7342 fix FX checkmark sync (#5239)
this fixes an ancient copy-paste bug that apparently went under the radar for years. Now FX checkmarks sync correctly.
2025-12-29 14:54:38 +01:00
Damian Schneider
46e77ea203 revert change to extractModeName, add comment for clarification 2025-12-29 14:50:58 +01:00
Damian Schneider
fa868568af minor bugfixes as suggested by the rabbit
- PulLightControl UM: dont release a lock you do not own
- off-by-one error in extractModeSlider (used only in rotary in UM)
- safety check in playlist in case something goes horribly wrong
2025-12-29 12:56:06 +01:00
Damian Schneider
1c2cacf185 adding link to WLED VidoLab 2025-12-27 19:27:35 +01:00
Damian Schneider
f1f067e93a bugfix in particle collision binning 2025-12-27 09:37:09 +01:00
Damian Schneider
b821e20fd6 use constant instead of magic number in pixelforge 2025-12-22 20:06:20 +01:00
Will Miles
304c59e09b Revert "Add old version check to OTA update" (#5212) 2025-12-19 20:24:26 -05:00
Blaž Kristan
fdb85d82da 2D fix for #5206 2025-12-19 21:01:53 +01:00
Damian Schneider
c8a03817ed remove EEPROM support (#5191) 2025-12-19 17:36:40 +01:00
Blaž Kristan
dc76ff669b Fix for #5206 2025-12-19 14:15:42 +01:00
Will Tatam
71c8a30f42 Merge pull request #5057 from willmmiles/update-source-version-check
Add old version check to OTA update
2025-12-19 08:16:19 +00:00
Copilot
65f1d8d836 Fix TypeError when loading UI with custom palette selected (#5205)
* Add null check to fix circular dependency with custom palettes

Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>

* Refactor: move null check earlier for better efficiency

Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>
2025-12-18 20:20:15 +01:00
Damian Schneider
af7c91057e revert gamma change: it was actually correct 2025-12-17 18:47:03 +01:00
Damian Schneider
dd3edf1a3c improved 2D collisions, fixed duplicate line in fireworks 1D, remove additional dimming if gamma is active
Adding symmetrical but random pushing leads to better stacking, also pushing more if large particles are too close helps to separate them better. Pushing them every frame also helps.
Pushing only particle1 as it was tends to lead to more collapsing and some random movement within a pile. There was also a bug which applied way to much velocity unnecessarily.
2025-12-16 20:25:24 +01:00
Damian Schneider
7f4e0f74ba nicer random distribution in PS emitter
makes "explosions" in fireworks and impact FX circular instead of square, looking much better.
2025-12-16 08:26:37 +01:00
BobLoeffler68
bb6114e8aa PacMan effect (#4891)
* PacMan effect added
2025-12-14 12:36:51 +01:00
Will Tatam
c097cb1f27 Merge pull request #5185 from wled/copilot/add-repo-field-to-upgradedata
Add repo field to upgradeData in upgrade event reporting
2025-12-14 09:58:20 +00:00
Damian Schneider
9094b3130d Display gaps in peek, fix segment overflow bug (#5105)
- display gaps in peek 
- fix segment overflow bug when loading preset with larger bounds than current setup
2025-12-14 10:26:38 +01:00
Damian Schneider
32b104e1a9 Use sequential loading and requests for all UI resources (#5013)
* use sequential loading for all UI resources

- load common.js and style.css sequentially for all config pages
- restrict all requrests in index.js to single connection
- retry more than once if requests fail
- incremental timeouts to make them faster and still more robust
- bugfix in connectWs()
- on page load, presets are loaded from localStorage if controller was not rebooted
- remove hiding of segment freeze button when not collapsed
2025-12-14 10:13:00 +01:00
Damian Schneider
d1260ccf8b clear enable bit on unused time macros (#5134)
disables the checkmark in UI on unused macros
2025-12-14 10:00:28 +01:00
Damian Schneider
c35140e763 "WLEDPixelForge": new image & scrolling text interface (#4982)
replaces the pixel magic tool with a much more feature-rich tool for handling gif images. Also adds a scrolling text interface and the possibility to add more tools with a single button click like the classic pixel magic tool and the pixel-painter tool.
2025-12-13 23:49:53 +01:00
copilot-swe-agent[bot]
6632a35339 Remove unnecessary conditional for repo field
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2025-12-13 22:14:27 +00:00
Damian Schneider
6388b8f4bb Merge pull request #5188 from DedeHai/PS_ellipseRendering
Enhanced particle system rendering & 1D collision handling
- added improved and faster large size rendering to 1D and 2D system
- better size control as size is now exactly mappable to pixels so it can be matched exactly to the collision distance
- no more gaps due to collision distance mismatch
- much faster: saw up to 30% improvement in FPS (2D system)
- adding mass-ratio to collisions for different sized particles
- also adjusted some of the FX to make better use of the new rendering
- added per-particle size rendering to 1D system
- improved and simplified collision handling in 1D system, much more accurate and (almost) no pass-throughs
- removed local blurring functions in PS as they are not needed anymore for particle rendering
- fixed outdated AR handling in PS FX
- fixed infinite loop if not enough memory
- updated PS Hourglass drop interval to simpler math: speed / 10 = time in seconds and improved particle handling
- reduced speed in PS Pinball to fix collision slip-through
- PS Box now auto-adjusts number of particles based on matrix size and particle size
- added safety check to 2D particle rendering to not crash if something goes wrong with out-of bounds particle rendering
- improved binning for particle collisions: dont use binning for small number of particles (faster)
- Some cleanup
2025-12-13 23:14:08 +01:00