Commit Graph

4523 Commits

Author SHA1 Message Date
Frank
57d63b7362 ESPDMX robustness improvements
* clamp channel to dmxMaxChannel (write)
* ensure that all data get sent, including start byte
2026-01-25 17:45:08 +01:00
Frank Möhle
0718a6d265 comment clarification
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-25 17:30:03 +01:00
Frank Möhle
e6e2348483 protect start byte
If Channel is less than 0, it's clamped to 0 on line 134. Then on line 138, dmxData[0] is written with the value, overwriting the start byte that was just set on line 137. DMX Channel numbers should be 1-based (1-512). The bounds check should clamp Channel to a minimum of 1, not 0, to prevent corrupting the start byte

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-25 17:29:10 +01:00
Frank
3150f3b448 use correct DMXSerial object on -S2 and -C3 2026-01-25 17:12:04 +01:00
Frank
8faa88e05b chanSize expansion must account for start byte 2026-01-25 17:02:06 +01:00
Frank
f0753d6cf6 robustness improvement
bounds check before changing global variables
2026-01-25 16:18:30 +01:00
Frank
2628e9167d fix max number of bytes to be sent 2026-01-25 16:15:24 +01:00
Frank
82f713093e indentation 2026-01-25 15:46:57 +01:00
Frank
279d48a3d1 (minor) clarify compile-time messages for DMX drivers 2026-01-25 15:44:40 +01:00
Frank
fb738883fa safeguards against array bounds violation 2026-01-25 15:43:53 +01:00
Frank
900178cd70 only build DMX drivers when WLED_ENABLE_DMX
both ESPDMX and SparkFunDMX have their own global buffers. Conditional compile prevents that these buffers are consuming RAM when not needed.
2026-01-25 15:08:40 +01:00
Frank
6ad6acfe08 align DMX output drivers with upstream
imports a few DMX serial output improvement from upstream
2026-01-25 15:06:27 +01:00
Frank
88acb54241 some more attributes
for better optimization by the compiler
2026-01-17 14:08:11 +01:00
Frank
6aea3b5a77 align 2D particleFX with upstream
minor improvements from upstream
2026-01-17 13:58:04 +01:00
Frank
d987206d3b make wled_math functions IRAM_ATTR (faster) 2026-01-17 13:56:29 +01:00
Frank
1f065f69c2 post-merge
* replace all remaining sqrt16() with sqrt32_bw()
* align particleGalaxy effects with upstream
2026-01-17 13:21:02 +01:00
netmindz
729f623953 Merge pull request #4558 from DedeHai/wifi_hardware_timing_fix
Bugfix for incorrect wifi-hardware timing
2026-01-17 12:19:17 +01:00
Damian Schneider
532c9b762c replacement for fastled sqrt16() (#4426)
* added bitwise operation based sqrt16

- replacement for fastled, it is about 10% slower for numbers smaller 128 but faster for larger numbers. speed difference is irrelevant to WLED but it saves some flash.

* updated to 32bit, improved for typical WLED use

- making it 32bits allows for larger numbers
- added another initial condition check for medium sized numbers
- increased the "small number" optimization to larger numbers: the function is currently only used to calculate sqrt(x^2+y^2) which even for small segments is larger than the initially used 64, so optimizing for 1024 makes more sense, although the value is arbitrarily chosen
2026-01-17 12:18:35 +01:00
netmindz
bf4aae8e60 Merge pull request #4682 from DedeHai/PS_galaxy
Add new effect: PS Galaxy
2026-01-17 11:52:46 +01:00
netmindz
2b543f2199 Merge pull request #4577 from DevJogger/main
Add apple-touch-icon Link Tag
2026-01-17 11:43:52 +01:00
Damian Schneider
3259b3acb0 Bugfix for brightness factor upon save: fixes #4824 (#4827) 2026-01-17 11:17:07 +01:00
Frank Möhle
caa8cba38e Merge pull request #317 from MoonModules/copilot/update-nightly-build-version
Automate nightly build VERSION from build date, update Changelog generator to v2.4
2026-01-15 20:34:09 +01:00
Frank
0fb07b9d07 (hotfix) DMX-output rate limiting to prevent watchdog reset
this is a quick workaround for custom builds with WLED_ENABLE_DMX. it adds rate limiting to the dmx-output handler function.

still waiting for a good solution from upstream
* https://github.com/wled/WLED/pull/5216
* https://github.com/wled/WLED/pull/5287
2026-01-15 12:39:26 +01:00
Frank Möhle
5cfca1b340 fix indentation
minor
2026-01-15 11:38:55 +01:00
Frank Möhle
5a8d45b6d3 use WLED_BUILD_VERSION for override by CI actions
avoids potential name clashes with used libraries
2026-01-15 11:23:57 +01:00
Frank
1bda6ba072 align improv chip and version reporting with upstream
* allows for easier support of other MCUs (p4, c6, etc)
* removes a second place where the version strings had to be maintained
* use the same codename "next step" for v14.8
2026-01-15 10:56:29 +01:00
Frank
a1a7eb6007 bump version to 14.7.2-mdev (development) build 2601151 2026-01-15 10:53:20 +01:00
Frank
143c6d1620 release 14.7.1 2026-01-13 16:35:01 +01:00
Frank
5431ab85fa build 2601131 2026-01-13 16:31:52 +01:00
Frank
81f9716aca PixelForge WLED-MM specific adjustments 2026-01-13 14:40:24 +01:00
Frank Möhle
bf44a0dd21 Remove bad extra "#endif" 2026-01-12 23:03:39 +01:00
Frank
650651e7cc show user message once
don't repeat slowMode warning when several busses overlap
2026-01-12 22:59:35 +01:00
Frank
e5d7d7aacc extra protection 2026-01-12 19:47:40 +01:00
Frank
05fb246af9 small optimization
* moved newStart and newEnd calculations into lower scope (``if (newBus->isOk())``)
* removed duplicate nullptr check
2026-01-12 19:40:22 +01:00
Frank
58281b4cd5 handle zero-length edge case 2026-01-12 19:31:53 +01:00
Frank
9cdbc7ad3c fix typo 2026-01-12 19:26:40 +01:00
Frank
45500d8481 newline 2026-01-12 19:21:32 +01:00
Frank
cb73d4b3de robustness improvement 2026-01-12 19:18:50 +01:00
Frank
eaec389ef4 disable SPC optimizations when busses overlap
support for "custom bus indices" that lead to overlaping output pixel ranges
2026-01-12 18:55:27 +01:00
Frank
75fe5b747c removing a flicker-protection delay
this is not necessary if we use the RMTHI flicker-free driver
2026-01-12 18:20:27 +01:00
Frank Möhle
5c10d60022 build 2601111 2026-01-11 20:15:38 +01:00
Frank
428becc301 inline segment palette functions for speed
* make currentMode() inline
* move currentColor() to FX.h
* move Segment::color_wheel() and Segment::color_from_palette() to FX.h
* add a little helper function to fx.h, so it can access strip.paletteBlend which is not defined yet
2026-01-10 01:25:24 +01:00
Frank
0541a1f5b4 make manual and dual auto-white mode work with palettes (upstream backport)
extract white channel from first custom color, instead of setting it to black
2026-01-09 23:50:30 +01:00
Frank
7e104ba414 UX improvement: don't blur GIF images by default
solves a problem when activating images from PixelForge: in case users had "don't load defaults" set, images were always loaded with a strong blur.
2026-01-09 21:29:21 +01:00
Frank
6af7ee9df8 UX improvement: Kept the Colors column visible when toggling GFX button 2026-01-09 21:26:59 +01:00
Frank
22cfc9fdf5 post-merge fix 2026-01-09 17:38:02 +01:00
Will Tatam
69fa3378a4 Merge pull request #5273 from nomis52/awst
Add support for Australian Western Time
2026-01-09 17:34:22 +01:00
AlexeyMal
ce56755416 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-09 17:30:08 +01:00
Frank
80032bfe1c statusled: stop the blinking 2026-01-09 17:18:45 +01:00
Frank
c6ba1d3684 show github repo on Info Page 2026-01-09 17:08:47 +01:00