Commit Graph

747 Commits

Author SHA1 Message Date
Frank
462e4cb805 post-merge
* add missing "cool" option in twinklefox
* upstream compatibility defines for gamma32inv() and gamma8inv()
2025-12-16 01:11:40 +01:00
Benjam Welker
1e57262171 Add reverse checkmark for Twinklecat (#4728)
reverse slowly fades in random lights, and then instantly turns them off.
2025-12-16 00:41:50 +01:00
Frank
cdd1141867 post-merge fixes
* fx.cpp: replace FastLED inoise() with optimized perlin() functions
* minor updates for util.cpp and fcn_declare.h
2025-12-16 00:28:10 +01:00
Damian Schneider
1cb7ebfd6e Fixed "Flow Stripe" FX and added palette support 2025-12-15 23:38:48 +01:00
Frank
71aa32dc21 perlin16 -> FastLED inoise16
we don't have the replacement function from upstream
2025-12-15 22:59:15 +01:00
Damian Schneider
b08f5a43c4 Adding Shimmer FX (#4923)
Sends a shimmer across the strip at defined (or random) intervals
Optional brightness modulators: sine or perlin noise
Can be used as an overlay to other effects.
2025-12-15 22:52:34 +01:00
Frank
04c466cd6f improved and very fast map()
added map0() that should be used when the input value range is starting at 0. fast and very accurate, much better than map() or map2().
2025-11-26 19:41:13 +01:00
Frank
e0c7d254bb fix outdated URLs
Aircoookie Wiki => mm.kno.wled.ge
MoonModules/WLED => MoonModules/WLED-MM
Aircoookie/WLED => wled/WLED
2024 => 2025
2025-11-23 17:18:10 +01:00
Frank
e6676372d8 refactor / cleanup font selection logic
* centralize font selection logic into  getFontInfo()
* removed unneeded parameter "numberOfChars" from drawText()
* new file: wled_fonts.hpp to centralize font management logic (inline)
* only compile wchar16ToCodepage437 when WLED_ENABLE_FULL_FONTS
* minor cleanup
2025-11-21 17:04:08 +01:00
Frank
aea83a352f bugfix: incomplete time/date in full font mode
maxLen = numberOfChars
2025-11-21 00:55:03 +01:00
Frank
053551d61d scrolling text blur moved to where it should be
accidentally put it into the "full font" ifdef
2025-11-21 00:36:09 +01:00
Frank
e63dc7e71e longer segment names
* introducing WLED_MAX_SEGNAME_LEN from upstream
* default: max name length = 48
* hopefully found all places where the segment name length was hardcoded (32, 33, 34)
* some comments still refer to "32" but wtf
2025-11-20 23:49:26 +01:00
Frank
207b197d04 scrolling text minor exhancements
* scroll faster !
* add softening (=blur) option
2025-11-20 18:08:18 +01:00
Frank
4a4887aaba scrolling text scrolling, unicode-aware strlen 2025-11-20 18:05:53 +01:00
Frank
45f793b338 first light 👍😅
* idea seems to work
* scrolling is broken, probably I need to create a unicode-aware ``strlen``
2025-11-20 13:57:55 +01:00
Frank
10b3ac0eb1 gifdecoder speedup and bugfixes
* fixed a bug that caused wrong behavior with segment mirroring
    (effects must use virtualHeight() /  virtualWidth() instead of height() / width())
* added image blur as an option (second slider)
* added very basic error reporting for users
*  up to 25% faster, especially with big animated gifs

* made all local variables "static" (don't pollute global namespace)
* drawPixelCallback: cache calculation that do not depend on x/y position
* reduced memory allocations on boards without PSRAM, to avoid crashes
2025-11-06 22:50:59 +01:00
Frank
c4f6d3d2cb ParticleFX better defaults for 64 pixel height
change default sliders of PS Fireworks, PS Volcano and PS GEQ 2D for better visibility on 64x64 panel
2025-10-27 19:34:51 +01:00
Frank
c896768c0b small correction
mode_oops() should not call mode_oops()
2025-10-27 11:43:23 +01:00
Frank
3752409b46 no more ORANGE on effect memory failure
For maintainers of custom effects: replace "return mode_solid()" with "return mode_oops()"

Effect errors fall back to Akemi (2D) or Rainbow(1D) instead of SOLID ORANGE.
2025-10-27 11:24:12 +01:00
Damian Schneider
4eb9f0855d Merge pull request #4913 from DedeHai/percentFX_UI_fix
fix ancient UI bug that hides the speed slider in percent FX
2025-10-25 22:37:53 +02:00
Damian Schneider
d856749bea fix change that got lost 2025-10-25 20:56:15 +02:00
Frank
1af94dc9a2 add error message when effects cannot be added 2025-10-24 19:11:06 +02:00
netmindz
a9cdc56f51 Merge pull request #226 from netmindz/gif-MM
GIF Playback
2025-06-29 20:12:20 +01:00
Damian Schneider
f7eba5506f Bugfixes in PS, improvements to PS Fireworks 1D (#4673)
- fixed inconsitencies in size rendering
- fixed palette being wrapped in color by position and color by age modes
- Fixed bug in memory layout: for some unknown reason, if flags come before particles, last flag is sometimes overwritten, changing memory laout seems to fix that
- New color modes in PS Fireworks 1D:
 - custom3 slider < 16: lower saturation (check1: single color or multi-color explosions)
 - custom3 slider <= 23: full saturation (check1: single color or multi-color explosions)
 - custom3 slider > 23: color by speed (check 1 has not effect here)
 - custom slider = max: color by age or color by position (depends on check1)
2025-05-04 12:24:28 +02:00
Damian Schneider
1cb2a6658e fixed wrong gravity setting, added option for no trail (#4665) 2025-05-04 12:21:06 +02:00
Damian Schneider
56d7d84110 cleanup and minor improvements
- removed local buffer for ESP8266 in 1D system to save on RAM
- increased particle brightness in PS Impact
- minor tweak in collision binning (might improve speed)
- removed comments and some other unused stuff
- fixed a few compiler wranings
2025-04-19 10:30:04 +02:00
Damian Schneider
66e2e4d900 Adding Particle System (port from AC)
- port from AC
- also adding hardware random functions
2025-04-18 17:04:14 +02:00
Will Tatam
d9ab878503 Swap to WLED_ENABLE_GIF 2025-02-22 12:56:47 +00:00
Christian Schwinne
9caa7cb4e9 Fix missing GIF enable macros 2025-02-22 12:40:42 +00:00
Christian Schwinne
255be30b38 Working GIF support 2025-02-22 12:37:59 +00:00
Christian Schwinne
b8a29bcbf8 GIFs work again in principle 2025-02-22 12:37:13 +00:00
Frank
6e14dac049 ripple and rain effect fixes (for large fixtures)
* made timing calculations work with large led counts
* improve randomness by injecting esp_random()
* ripple 2D: avoid ugly artifacts, by limiting circles to on-screen coordibnates
2024-12-12 17:25:46 +01:00
Frank
972257a7ee minor code cleanup
* removed dead code
* prevent promotion to double
* made constants constexpr
* made some methods const
* fixed a few typo's
2024-12-04 22:18:39 +01:00
Frank
9ea2303ecb DNA effect optimization (phases)
* non-breaking - reproduces the old behavior at phases = 127
* minor math optimizations
* phase boost for large values (good for small panels)
2024-12-03 20:00:26 +01:00
Frank
86ed5a82e3 DNA effect: additional parameter "phases" (thanks @ewoudwijma )
controls the number of phases shown by the effect

breaking - the old code was using a fixed width per wave,  while the new one always fits the same number waves into the panel width.
2024-12-03 16:31:52 +01:00
Frank
0dbde5a257 audioreactive multi-comet (backported from WELD-SR 0.13.4) 2024-12-03 13:06:47 +01:00
Frank
f2f621befc minor FX improvements
Fire2012: better randomness
Julia: avoid darkening when using "blur"
2024-12-03 12:48:11 +01:00
Frank
a0e03766ef blends effect bugfix
quick fix for "missing pixel 256" problem
2024-12-01 20:02:44 +01:00
Frank
b0b6ec37fd support for benchmarking FastLed vs. WLED triginometry 2024-11-29 15:05:47 +01:00
Frank
b2364bf4a5 chunchun effect bugfixes (for strips >256 pixels)
* avoid 16bit overflows
* improve time resolution
* limit to 32 birds (=max for 256 pixels)
* fix fade_out
2024-11-29 11:56:35 +01:00
Frank
6c87799ce5 post merge 2024-11-29 00:48:27 +01:00
Damian Schneider
e914417c74 Merge pull request #4181 from DedeHai/0_15_trig_math
Added integer based `sin()/cos()` functions, changed all trig functions to wled_math
2024-11-29 00:23:43 +01:00
Frank
5ea9cb1907 Octopus code improvements
* removed dead code
* merge octopusStep and radialStep --> octoSpeed
* improve speed slider resolution by first multiplying, then dividing

Thanks @ewoudwijma
2024-11-28 22:21:47 +01:00
Frank
9046ec4bde Octopus minor optimization
replacing "map" with direct computation
2024-11-28 18:15:17 +01:00
Frank
1670330b1b Octopus Radial Wave mode 2024-11-28 17:51:39 +01:00
Frank
59d5ff02c5 Flat GEQ improvement for shorter stips
only center bars if we more than 4 pixels per bar.
2024-11-27 13:18:43 +01:00
Frank
8ff0223520 GEQ flat mode for 2D
you still have to use a trick -> the "expand 1D" drop-down is hidden once you select a 2D-capable effect

* Create your segment with 2 colums or 2 rows (might also need "transpose"
* Select a 1D effect like chunchun
* set expand to "Pixels" or "Bar"
* now select the GEQ effect

--> Flat GEQ runs in the previously set expand mode.
2024-11-27 11:59:13 +01:00
Frank
402786c14e GEQ FLat mode (1D) 2024-11-27 11:11:07 +01:00
Frank
c44784071e small tails for rolling balls 2024-11-27 11:07:56 +01:00
Frank
ccf1b044ce allow tri fade effect on 0D (single pixel) 2024-11-26 15:33:56 +01:00