FastLED 3.9.15
Loading...
Searching...
No Matches

◆ processAutoTrigger()

void processAutoTrigger ( uint32_t now)

Definition at line 308 of file wavefx.cpp.

308 {
309 // Static variable to remember when the next auto-trigger should happen
310 static uint32_t nextTrigger = 0;
311
312 // Calculate time until next trigger
313 uint32_t trigger_delta = nextTrigger - now;
314
315 // Handle timer overflow (happens after ~49 days of continuous running)
316 if (trigger_delta > 10000) {
317 // If the delta is suspiciously large, we probably rolled over
318 trigger_delta = 0;
319 }
320
321 // Only proceed if auto-trigger is enabled
322 if (autoTrigger) {
323 // Check if it's time for the next trigger
324 if (now >= nextTrigger) {
325 // Create a ripple
327
328 // Calculate the next trigger time based on the speed slider
329 // Invert the speed value so higher slider = faster triggers
330 float speed = 1.0f - triggerSpeed.value();
331
332 // Calculate min and max random intervals
333 // Higher speed = shorter intervals between triggers
334 uint32_t min_rand = 400 * speed; // Minimum interval (milliseconds)
335 uint32_t max_rand = 2000 * speed; // Maximum interval (milliseconds)
336
337 // Ensure min is actually less than max (handles edge cases)
338 uint32_t min = MIN(min_rand, max_rand);
339 uint32_t max = MAX(min_rand, max_rand);
340
341 // Ensure min and max aren't equal (would cause random() to crash)
342 if (min == max) {
343 max += 1;
344 }
345
346 // Schedule the next trigger at a random time in the future
347 nextTrigger = now + random(min, max);
348 }
349 }
350}
uint16_t speed
Definition funky.cpp:82
#define MIN(a, b)
Definition math_macros.h:15
#define MAX(a, b)
Definition math_macros.h:11
UICheckbox autoTrigger("Auto Trigger", true)
UISlider triggerSpeed("Trigger Speed",.5f, 0.0f, 1.0f, 0.01f)
void triggerRipple()
Definition wavefx.cpp:147

References autoTrigger, MAX, MIN, speed, triggerRipple(), and triggerSpeed.

Referenced by wavefx_loop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: