Commit Graph

716 Commits

Author SHA1 Message Date
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
Troy
d4e95b1360 GoL faster random during setup 2024-11-19 18:37:37 -05:00
Will Miles
3e44b7852e Fix array overflow in exploding_fireworks
Attempt to allocate enough room for the "minimum" sparks; and ensure
that we never overrun the allocated array size.

Fixes #4120
2024-11-17 17:48:34 +01:00
Brandon502
5b3d85fe3e GoL - bgBlendMode fix
Use superDead correctly with bgBlendMode
2024-11-16 15:56:57 -05:00
Brandon502
8a0660c130 GoL - 1 Byte version
Removed future status/neighbors. Uses 2 loops to set cells. Shifting from future to current no longer needed.
2024-11-16 12:59:39 -05:00
Brandon502
aafbdb7d27 Merge remote-tracking branch 'upstream/mdev' into GoL-Fast 2024-11-16 12:56:29 -05:00
Frank
7167db4a22 Polar Lights upgrade
* stop flickering when rows > 56
* blur option added
* allow to use palettes
2024-11-16 01:43:18 +01:00
Brandon502
270e7265cf Merge remote-tracking branch 'upstream/mdev' into GoL-Fast 2024-11-15 16:05:14 -05:00
Frank
e756216eca drift rose optimizations
* pre-calculate some repeated values
* added option "full expand" that zooms in on non-square panels
2024-11-15 20:08:36 +01:00
Frank
776718b734 2D drift improvements for large panel sizes
speedup, accuracy improvements and enhancements:
* separated calculations in float from integer
* improved time resolution
* slow down effect on for dimensions >32
* added original "twin" option
* added customizable blur (thanks dedehai)
2024-11-14 18:30:43 +01:00
Brandon502
192b4a8fb5 Merge remote-tracking branch 'upstream/mdev' into GoL-Fast 2024-11-13 22:05:18 -05:00
Brandon502
5d27e8f340 GoL - Minor Changes
Use defined(ARDUINO_ARCH_ESP32)
getNeighborIndexes loop changes
offsets use int8_t
change prevRows/Cols to uint16
2024-11-13 22:05:13 -05:00
Frank
c73ed486e9 effect bugfixes for width>255
* band-aid for ripple, matrix, crazy bee
* arc mapping fix for diameter > 255
* small speedup for "block" mapping
2024-11-13 23:57:53 +01:00
Frank
202255849f fix errors when width>255 or height>255
some effects still don't work when x y dimensions do not fit into 8bit
2024-11-13 23:06:27 +01:00
Brandon502
549380a2bf Game of Life Optimizations
Uses more memory to achieve much higher framerates on large setups. Neighbor counts are stored instead of constantly recalculated. CRC is no longer used for repeat detection so false positives are no longer possible.
2024-11-09 15:50:20 -05:00
Frank
d0f90d0dd2 effect FPS tinkering 2024-11-04 16:28:13 +01:00
Frank
f15bb83abb akemi small optimization
prevent that GEQ "bars" try to draw outside the panel area
2024-10-29 18:40:07 +01:00
Frank
9189329570 scrolling text improvement
better readability
- only add "shadow" pixels when overlay text is actually scrolling, or displayed value changes very often
2024-10-28 21:26:04 +01:00
Frank
3cd733d591 GEQ bugfix - bars one pixel too high when using drawLine 2024-10-28 17:28:42 +01:00
Frank
73b7fa7d35 bugfix: some effects stop progressing after brightness 0
alternative fix for https://github.com/Aircoookie/WLED/issues/4228
2024-10-27 16:38:05 +01:00
Frank
fe5eaed99c minor FX enhancements
scrolling text - FPS with 3 digitis
colored bursts - apply gamma correction  when fading
2024-10-24 17:24:17 +02:00
Frank
dbd8bef669 scrolling text: prevent flickering
always redraw background for each frame
2024-10-23 14:26:05 +02:00
Frank
a99a54c9fa cache SEGMENT
actually its just a minor speedup, at least with -O2
2024-10-20 01:06:18 +02:00
Frank
6fc207b801 julia effect additional options (experimental)
* limit drift, so we don't drift away too far
* added "show Center" = small crosshair
* added soft blur (faster) and strong blur (slower)
2024-10-17 13:29:10 +02:00