FastLED 3.10.8
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.empty() || mNumLeds == 0) {
20 return;
21 }
22 if (start_time == 0) {
23 start_time = context.now;
24 }
25
26 unsigned long time_now = fl::millis() - start_time;
27
28 for (i32 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 }
u16 mNumLeds
Definition fx.h:53
fl::u32 start_time
Definition noisewave.h:41
NoiseGenerator noiseGeneratorBlue
Definition noisewave.h:40
NoiseGenerator noiseGeneratorRed
Definition noisewave.h:39
fl::CRGB CRGB
Definition video.h:18
fl::u32 millis() FL_NO_EXCEPT
Universal millisecond timer - returns milliseconds since system startup.
InputGamut g
Definition rgbw.h:125

References fl::FL_NO_EXCEPT, fl::g, fl::millis(), fl::Fx::mNumLeds, noiseGeneratorBlue, noiseGeneratorRed, and start_time.

+ Here is the call graph for this function: