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

◆ processWaveAutoTrigger()

void processWaveAutoTrigger ( uint32_t now)

Definition at line 694 of file curr.h.

694 {
695 // Handle automatic wave triggering
696 if (waveAutoTrigger.value()) {
697 if (now >= nextWaveTrigger) {
699
700 // Calculate next trigger time based on speed
701 float speed = 1.0f - waveTriggerSpeed.value();
702 uint32_t min_interval = (uint32_t)(500 * speed); // Minimum 500ms * speed
703 uint32_t max_interval = (uint32_t)(3000 * speed); // Maximum 3000ms * speed
704
705 // Ensure valid range
706 uint32_t min = MIN(min_interval, max_interval);
707 uint32_t max = MAX(min_interval, max_interval);
708 if (min >= max) max = min + 1;
709
710 nextWaveTrigger = now + random16(min, max);
711 }
712 }
713}
uint16_t speed
Definition Noise.ino:63
void triggerWaveRipple()
Definition curr.h:670
static uint32_t nextWaveTrigger
Definition curr.h:266
UICheckbox waveAutoTrigger("Wave Auto Trigger", true)
UISlider waveTriggerSpeed("Wave Trigger Speed", 0.5f, 0.0f, 1.0f, 0.01f)
LIB8STATIC uint16_t random16()
Generate a 16-bit random number.
Definition random8.h:56
#define MIN(a, b)
Definition math_macros.h:41
#define MAX(a, b)
Definition math_macros.h:37

References MAX, MIN, nextWaveTrigger, random16(), speed, triggerWaveRipple(), waveAutoTrigger(), and waveTriggerSpeed().

Referenced by drawWave().

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