Commit Graph

6529 Commits

Author SHA1 Message Date
Frank
64f3aa96dd replace depricated ADC constant
according to espressif docs:
`ADC_ATTEN_DB_12` is deprecated, it behaves the same as `ADC_ATTEN_DB_12`
2026-03-12 16:01:43 +01:00
Frank
f816b5fa98 bugfix #5295 - change remaining references to strip.paletteBlend into paletteBlend
these were leftover after refactoring paletteBlend into a global variable.

see #5295 for details
2026-03-12 16:00:20 +01:00
Frank Möhle
e4cd730654 Info page: Total LEDs, GitHub repo, minor re-styling (#5418)
* Info page updates and minor re-styling
  * added GitHub repo (link)
  * added Total LEDs
  *  removed lwip major version on esp32
  * two horizontal lines for better readability

* add rel="noopener noreferrer" for improved security
  * When using target="_blank", it's a security best practice to include rel="noopener noreferrer" to prevent the new page from accessing window.opener.
2026-03-11 18:07:19 +01:00
BobLoeffler68
c7fa496fda Spinning Wheel FX in the user_fx usermod (#5293)
* Added the Spinning Wheel effect into the user_fx usermod

* Fixed integer overflow when storing color scale in aux1. And added a comment about the velocity scaling.

* Additions/changes:
* Added Color Per Block checkbox. Enabled will set the spinner LEDs to the same color (instead of changing colors depending on the palette and LED position).
* Added Sync Restart checkbox.  Enabled means that all spinners will restart together (instead of individually) after they have all stopped spinning.
* Added resizing the spinner slider (between 1 and 10 LEDs).
* Changed how we do random speed and slowdown start time (sliders set to 0 = random).
* tweaks here and there

* One minor fix for the spinner colors

* Changed the two analogRead() to hw_random16()

* Changes from SEGLEN to vstripLen suggested by coderabbitai, but it's not working correctly now. Committing and pushing so coderabbitai can check the latest code.

* Rolled back changes from vstripLen to SEGLEN as that is what works correctly.  Also changed to the global paletteBlend.

* Fixed a color issue by using ColorFromPaletteWLED() instead of color_from_palette(). Also removed color_wheel() and the Color Mode option as it's very similar to the new color function. And now using strips variable instead of SEGMENT.nrOfVStrips() after the initial assignment at the top of the code.

* Added the ability to spin the wheel(s)/spinner(s) with a push button or the new Spin Me checkbox.

* Set default of check1 to 1 so it will automatically spin.
2026-03-11 18:01:56 +01:00
Joachim Dick
40442551ef New smooth effect: Color Clouds (#5268)
* New Effect: Color Clouds

ColorClouds: Random start points for clouds and color

ColorClouds: new config option 'More red'

* ColorClouds: Incorporated review comments

- Support for color palettes
- Use perlin16() instead of inoise16()
- Use cos8_t() instead of cos8()

* ColorClouds: incorporated more review comments

* ColorClouds: incorporated final review comment
2026-03-11 08:19:42 +01:00
Will Miles
cfa93c9778 Merge pull request #5416 from willmmiles/usermod-validation-path-matching
Fix usermod validation portability
2026-03-10 16:01:51 -04:00
Will Tatam
c35358c005 Display relase on info page 2026-03-10 19:07:19 +00:00
Will Miles
2ab9659332 Speed up usermod validation
Avoid checking usermods we've already matched, and exit early if we've
got everything.

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-10 10:29:56 -04:00
Will Miles
3bfdb736e3 Fix usermod validation portability
Use proper path analysis instead of bare text matching.

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-10 10:11:44 -04:00
Will Tatam
53d6c4b059 Merge pull request #5172 from wled/copilot/update-install-prompt-messaging
Simplify upgrade reporting prompt with checkbox-based preference
2026-03-08 20:06:05 +00:00
Will Tatam
5beafe0a7d Merge pull request #5403 from willmmiles/custom-usermods-better
custom_usermod improvements
2026-03-08 15:39:15 +00:00
Will Miles
7f44396f7f validate_modules: Support LTO
When LTO is enabled, the map file no longer provides a positive
indication of whether a given object file has contributed to the final
binary.  Instead use nm to parse the debug data in the .elf file.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-08 10:04:38 -04:00
Will Miles
1da5dc7d18 Merge pull request #5213 from willmmiles/update-source-version-check
Fix upward compatibility of OTA structure version check
2026-03-07 09:35:05 -05:00
Will Miles
05498f2ae4 Apply fixes from code review
h/t @coderabbitai
2026-03-06 23:21:04 -05:00
Damian Schneider
b07cd45642 Bugfix in PS particle size for advanced particles
perParticleSize was disabled by default which is wrong. Fixed some bugs regarding to this new parameter: it is now set by default in PS, adusted FX accordingly
2026-03-04 20:38:17 +01:00
BobLoeffler68
278a1fb6c1 Lava Lamp FX in the user_fx usermod (#5253)
* Added Lava Lamp effect to user_fx usermod
2026-03-04 10:05:52 +01:00
BobLoeffler68
0e1da4f004 Magma FX in the user_fx usermod (#5360)
* Added Magma effect to user_fx usermod

* Get color from current palette for lava bombs
2026-03-04 06:21:49 +01:00
BobLoeffler68
5f5f468983 Ants FX in the user_fx usermod (#5251)
* Added the Ants effect to the user_fx usermod
2026-03-03 17:13:55 +01:00
GLEDOPTO
c604b99a4c add 3 more standard buttons to ESP-NOW Remote (#5400)
maps codes 20, 21 and 22 to presets 5, 6 and 7
2026-03-03 13:18:39 +01:00
BobLoeffler68
5f28406f42 Morse Code FX in the user_fx usermod (#5252)
* Added Morse Code effect to the user_fx usermod

* Added a few comments

* Added punctuation and end-of-message codes, and changing them will force a re-draw.

* Fixed mode name in addEffect

* cosmetic changes

* * removed PROGMEM from letters and numbers arrays.
* changed 1024 to a constexpr named MORSECODE_MAX_PATTERN_SIZE.
* added MORSECODE_MAX_PATTERN_SIZE to build_morsecode_pattern().
* added boundary checked when adding patterns to the array.
*  changed code to allocate per-segment storage for pattern.

* More bounds checking added.

* Added a lookup table for punctuation morse codes.

* Removed PALETTE_MOVING_WRAP macro as it's not used in this effect.

* Moved all static variables to SEGENV.data

* Now using a bit array instead of a bool array

* added a check to see if the pattern is empty

* Added "color by word" option, moved Color modes to a slider and added a couple comments to top comment block.

* Removed return FRAMETIME

* A few changes suggested by coderabbit.

* A few changes suggested by coderabbit
2026-03-02 19:16:43 +01:00
gustebeast
bc229b8cb6 Add flashing effect on line clear in TetrisAI_v2. (#5320)
* Add flashing effect on line clear in TetrisAI_v2.
See https://imgur.com/1dsNCVd for a demo.

* Address feedback for tetris flashing effect.

* Address width == 32 case for isLineFull
2026-03-02 19:11:26 +01:00
gustebeast
5790309371 Introduce comet effect usermod with fire particle system (#5347)
* Introduce comet effect usermod with fire particle system

* Introduce comet effect usermod with fire particle system
2026-03-02 19:10:31 +01:00
Will Miles
210b4d8f54 Add external usermod example 2026-03-01 21:35:16 -05:00
Will Miles
19292675d8 Support lib_deps syntax in custom_usermods
Expand the parsing of custom_usermods to accept the same syntax as
lib_deps.  This allows external usermods to appear on the
custom_usermods lines.  Also includes comment handling.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 21:35:16 -05:00
Will Miles
ac1a4dfbfd validate_modules: Remove obsolete code 2026-03-01 19:27:14 -05:00
Frank
7fa15761ae bugfix: prevent array bounds violations due to short WS payload data
Guard against zero-length binary payloads before dereferencing data[0] or data[1]
2026-03-01 22:30:04 +01:00
Frank
35d267109f bugfix: right shift on signed char is unsafe
Fix signed-byte handling in SHA256 hex conversion.

When bootloaderSHA256Cache bytes >= 0x80 are assigned to a signed char, they sign-extend to negative values. Right-shifting negative values produces incorrect results (e.g., 0xFF becomes -1, which shifts incorrectly). This causes wrong hex digit output for non-ASCII hash bytes.
2026-03-01 22:08:09 +01:00
Will Miles
3bfbbab807 Formalize dynarray system
Break out the dynamic array macros to a re-usable component and fix
the implementation.
2026-02-28 22:47:48 -05:00
Will Miles
b97b46ae12 Use new section for dynamic arrays
Use a custom linker section to hold dynamic arrays such as the
usermod list.  This provides an extensible solution for wider use
in the future (such as FX or Bus drivers), as well as IDF v5
compatibility.
2026-02-28 22:47:48 -05:00
Frank Möhle
26d2cc971a Merge pull request #5396 from wled/bugfix_5391
avoid I2S resource conflict (aPLL) with ethernet - V4 builds only (fixes #5391)
2026-02-27 17:30:23 +01:00
Will Tatam
3972b6e8fb Merge pull request #5401 from wled/dependabot/npm_and_yarn/minimatch-10.2.4
Bump minimatch from 10.2.2 to 10.2.4
2026-02-27 08:13:54 +00:00
dependabot[bot]
3116e88cdc Bump minimatch from 10.2.2 to 10.2.4
Bumps [minimatch](https://github.com/isaacs/minimatch) from 10.2.2 to 10.2.4.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v10.2.2...v10.2.4)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 10.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-27 07:45:41 +00:00
Will Tatam
1c2f70598a Update version from 16.0-alpha to 16.0.0-alpha 2026-02-27 07:44:38 +00:00
copilot-swe-agent[bot]
6f65b46b14 Save version when skipping reporting to prevent re-prompting
When users click "Skip reporting" without the checkbox, now saves
the current version to version-info.json. This prevents the prompt
from appearing again until the version actually changes.

Behavior:
- Skip without checkbox: Saves version, will prompt on next version
- Skip with checkbox: Sets neverAsk=true, never prompts again

Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>
2026-02-26 14:24:25 +00:00
Damian Schneider
1c8dd8ecd2 extended CCT blending: exclusive blend, bugfix in CCT calculation (fixes color jump) (#5382)
- negative blend values create "exclusive" zones where only one channel is on, blending happens in the center, total is always 255 (non additive)
- CCT from RGB has to be calculated from original color to be accurate
- Fixed CCT brightness ad calculate colorbalance before white
- allow new exclusive blending for 2-wire CCT
2026-02-26 10:42:19 +01:00
Will Tatam
55c4288cb6 Merge pull request #5128 from willmmiles/cleanup-bootloader-sha
Cleanup bootloader SHA256 calculation from #4984
2026-02-26 08:54:16 +00:00
Will Tatam
231fb5a7ca Remove default checked state from versionSaveChoice 2026-02-26 08:52:34 +00:00
Damian Schneider
536b40c6f1 Fix start & end of segment not "flowing" in Flow FX (#5392) 2026-02-26 09:07:37 +01:00
Frank
d3a8da212c UI improvement: PDM is not a standard I2S microphone
to avoid user confusion, UI now shows "PDM" instead of "I2S PDM"
2026-02-24 12:56:52 +01:00
Frank
522927ea94 fix for I2S ressource conflict with ethernet (aPLL) - V4 builds only
Don't use aPLL clock for I2S (and PDM) microphones.

Ethernet with internal RMII clock (typically on GPIO 0/16/17) uses the Audio PLL (APLL) to generate the 50 MHz reference clock for RMII.

see https://github.com/wled/WLED/issues/5391
2026-02-24 12:35:38 +01:00
Will Tatam
4178d05c6a Merge pull request #5393 from wled/dependabot/npm_and_yarn/multi-8e762eef80
Bump minimatch and nodemon
2026-02-23 20:18:41 +00:00
dependabot[bot]
2d1315f9dc Bump minimatch and nodemon
Bumps [minimatch](https://github.com/isaacs/minimatch) to 10.2.2 and updates ancestor dependency [nodemon](https://github.com/remy/nodemon). These dependencies need to be updated together.


Updates `minimatch` from 3.1.2 to 10.2.2
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v10.2.2)

Updates `nodemon` from 3.1.9 to 3.1.14
- [Release notes](https://github.com/remy/nodemon/releases)
- [Commits](https://github.com/remy/nodemon/compare/v3.1.9...v3.1.14)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 10.2.2
  dependency-type: indirect
- dependency-name: nodemon
  dependency-version: 3.1.14
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-23 09:43:29 +00:00
Damian Schneider
822e07d9f5 fix boot-up wifi pause even with extended scanning
forgot to push this update before merging #5337
2026-02-21 10:12:34 +01:00
Will Tatam
439d4a0e98 Merge pull request #5357 from netmindz/idf_4_4_8
Upgrade platform to 4.4.8
2026-02-20 19:04:39 +00:00
Damian Schneider
1f102ca832 Fix LED-animations briefly pausing at bootup (ESP32 only) (#5337)
* fix bootup output glitch by using NVM stored credentials
* add ifdef guards for ESP8266
2026-02-20 19:57:19 +01:00
Damian Schneider
43e86d0f4d Add Pin Info: overview of used and available Pins (#5361)
* Add pin manager feature with serializePins() API and UI
* update comment about ESP8266 A0 deficiency
* moved pin capabilities to pinmanager

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-20 19:52:57 +01:00
Damian Schneider
29e9c73274 Make omggif.js available as an independent resource, improved sequential loading in cpal (#5362)
* take omggif out of pixelforge.htm, improved sequential loading in cpal

* add js_omggif.h to build output list
2026-02-20 19:44:51 +01:00
Frank Möhle
6240ee69fc Merge pull request #5381 from wled/ui_lang_en
fix for missing lang="en" in some UI pages
2026-02-19 22:26:30 +01:00
Damian Schneider
14bd5d615b Improvements to UI settings readability (#5328)
* update all config pages with sections
* some renamig
* reordered LED settings with more natural "workflow"
* add titles and changed some wording / outdated comments
2026-02-19 19:50:55 +01:00
Frank
e0441c8876 Bugfix: some UI pages were missing lang="en"
stops some _smart_ browsers from suggesting to "translate from Danish".
2026-02-19 14:11:51 +01:00