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

◆ draw()

void fl::NoiseWave::draw ( DrawContext context)
inlineoverridevirtual
Parameters
nowThe current time in milliseconds. Fx writers are encouraged to use this instead of millis() directly as this will more deterministic behavior.

Implements fl::Fx.

Definition at line 18 of file noisewave.h.

18 {
19 if (context.leds == nullptr || mNumLeds == 0) {
20 return;
21 }
22 if (start_time == 0) {
23 start_time = context.now;
24 }
25
26 unsigned long time_now = millis() - start_time;
27
28 for (int32_t i = 0; i < mNumLeds; ++i) {
29 int r = noiseGeneratorRed.LedValue(i, time_now);
30 int b = noiseGeneratorBlue.LedValue(i, time_now + 100000) >> 1;
31 int g = 0;
32 context.leds[i] = CRGB(r, g, b);
33 }
34 }
uint16_t mNumLeds
Definition fx.h:50
uint32_t start_time
Definition noisewave.h:41
NoiseGenerator noiseGeneratorBlue
Definition noisewave.h:40
NoiseGenerator noiseGeneratorRed
Definition noisewave.h:39

References fl::_DrawContext::leds, fl::Fx::mNumLeds, noiseGeneratorBlue, noiseGeneratorRed, fl::_DrawContext::now, and start_time.