Commit Graph

739 Commits

Author SHA1 Message Date
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
Frank
ae07672710 swirl effect bugfix
avoid drawing outside of visible area
2024-11-26 14:20:07 +01:00
Frank
7d10bd0cd9 Allow TV Simulator on single LED segments
I've checked the code - nothing preventing the effect to run with SEGLEN=1
2024-11-25 15:50:02 +01:00
Frank
7ad67b5f64 blurz effect upgrade
* avoid black spots
* better randomness on esp32
* new mode "FreqMap" (checkbox) - blob location follows major frequency
* new mode "GEQ scanner" (checkbox) - blob location based on GEQ band

--> looks cool with Pinwheel or Bar or Arc mapping
--> will be even better with the new Waterfall mapping mode
2024-11-25 13:35:16 +01:00
Frank
ce8fc8930e const const const
small speedup by declaring some functions "const"
2024-11-24 17:45:25 +01:00
Frank
d2a7b9e450 2nd try for a tiny unrelated fix 2024-11-21 18:22:21 +01:00
Frank
00b338c12a Revert "tiny unrelated fix"
This reverts commit 677e3de2e7.
2024-11-21 18:20:23 +01:00
Frank
677e3de2e7 tiny unrelated fix 2024-11-21 18:17:41 +01:00
Frank
cfce1c3062 2D Drift speedup
pre-calculating the reduced angle (i.e. `angle % 360deg` ) is several times faster than letting sin and cos do the job.
2024-11-21 18:17:06 +01:00