Commit Graph

4490 Commits

Author SHA1 Message Date
ca1319462e Add PCA9685 Usermod
Some checks failed
WLED CI / wled_build (push) Has been cancelled
2026-02-19 22:09:06 +08:00
Frank
1ee42f0206 change version scheme to Major.minor, drop leading "0."
as agreed in #5249
2026-02-14 23:31:28 +01:00
Damian Schneider
d1ed547a7c Improved bus handling: free choice of bus driver in any order and improved memory calculations (#5303)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>
2026-02-14 19:00:37 +01:00
Frank Möhle
f830ea498c Clean up global variables namespace, save a few 100 bytes of flash (#5368)
* reduce scope of some variables to "static"

these are not used anywhere else. Making them static avoid name conflicts, cleans up the global scope and in some cases allows for better  optimization by the compiler.

* remove unused reference ``tz``from analog clock usermod

* side-catch: remove two "local var shadows global var" warnings

* reduce scope of functions declared globally, but not used anywhere else
Safe to make static
* declared in fcn_declare.h, only used locally in one file
* not declared in fcn_declare.h, only used locally

* HUB75 small optimization
make bit array functions "static inline"
-> better for optimization, saves some bytes because the compiler does not need to preserve a non-inline function copy for external references.

* a few more static functions
as suggested by the rabbit.
2026-02-11 22:24:06 +01:00
Frank
f09c449ad5 clarification
according to espressif docs, this is "maximum TX power" not "TX power"
2026-02-11 00:38:40 +01:00
Frank Möhle
6bebb8b4a8 Merge pull request #5338 from wled-install/patch-3
Classic ESP32: GPIO17 is not needed to be reserved for chips with in-package PSRAM (ESP32-D0WDR2-V3 and ESP32-D0WDHR2-V3)
2026-02-10 17:31:40 +01:00
Frank Möhle
e3bc32a823 remove dead (and dangerous) mutex macros in bus_manager.cpp (#5364)
these macros are
* not used any more
* dangerous because they don't time out
* dangerous because they use an internal mutex of the ledc driver (not part of the LEDC API)
2026-02-09 11:14:58 +01:00
Damian Schneider
6b70c6ae91 Remove FRAMETIME return value from all FX (#5314)
* remove "return FRAMETIME" from all FX, fix timing for some FX

- all FX now render every frame, no more "speed up" during transitions

* fix missing return by adding FS_FALLBACK_STATIC macro

* add FX_FALLBACK_STATIC also to user_fx

* remove obsolete seg.next_time
2026-02-09 07:57:49 +01:00
Frank
b9138b4300 show experimental MCUs in nodes list
add decoding for experimental MCUs to nodes list, instead of just showing "?".
2026-02-09 00:55:30 +01:00
flo269
7387baace4 Remove gamma value lower limit to enable inverse gamma correction (#5187)
* Enable inverse gamma correction (gamma < 1.0)

Allow gamma values from 0.1 to 3.0 instead of restricting to > 1.0.
This enables inverse gamma curves for use cases requiring brightened
mid-tones and compressed highlights.

Changes:
- Update backend validation in set.cpp and cfg.cpp to accept 0.1-3.0
- Update HTML form min value from 1 to 0.1

Co-authored-by: Flo <flo@Mac.lan>
Co-authored-by: Damian Schneider <daedae@gmx.ch>
2026-02-08 17:53:54 +01:00
Damian Schneider
80e75139c6 Full WiFi scan and apply BSSID if used (#5351)
* use extended wifi scan (fix Arduino bug for ESP32 family), apply BSSID
* if BSSID changed: force reconnect, add comment to BSSID check
2026-02-08 09:26:36 +01:00
Will Tatam
2102bb12f0 Tweak the welcome page to be more appropriate 2026-02-07 15:15:05 +00:00
Will Tatam
4d63b3c8a0 Merge pull request #5353 from netmindz/dmx-output-enabled-error
DMX Output support exclude message incorrectly displayed on builds *with* support
2026-02-06 20:00:17 +00:00
Will Tatam
147384074d Fix the hiding of the lack of dmx output support message for builds that do have support 2026-02-06 19:50:45 +00:00
Damian Schneider
2676ac771d apply inverse gamma to segment brightness for better color preservation (#5343) 2026-02-04 06:57:14 +01:00
wled-install
680ef26f4d Update pin_manager.cpp 2026-02-02 20:55:38 +01:00
wled-install
eb4bd6fbb1 Update pin_manager.cpp 2026-02-02 18:55:29 +01:00
Will Miles
6b953d96eb Fix 5168 (#5181)
* Fix slop from 5168

Remove the redundant field from the info structure and report what we
actually want to know.

* Fix psram size estimate

Shorten the name, and round up --  getPsramSize() is the usable size,
not the total size (the difference is allocator overhead).

* Let psram builds work without it

* Remove impossible cases in psram reports
2026-01-31 19:54:03 -05:00
Benjamin Kraus
3d33bae2b8 Add support for WPA-Enterprise (#5194)
* Squashed commit of the following:

commit 70fe1fc76d3d88947d4c9f8b43d58ea90f944230
Author: Benjamin Kraus <ben@benkraus.com>
Date:   Fri Oct 31 20:52:13 2025 -0400

    Added support for enterprise WiFi.

* Updated based on feedback from CodeRabbit.

* Fixed issue with strncmp identified by CodeRabbit.

* Replaced split declaration-then-assignment with a single statement.

* Revert whitespace only changes.

* Move WPA enterprise behind a feature flag.
2026-01-31 19:51:59 -05:00
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