290 {
291
294
295
296
297
298
299
300
301
302
303
305
306
309
310
311
312
313
314
315
317
318
319
320
321
322
323
325
326
332 waveArgs.
speed = 0.16f;
336
337
339
340
343
344
349
350
352 FL_WARN(
" This group contains noise pattern controls:");
353 FL_WARN(
" - Use Noise Pattern toggle");
354 FL_WARN(
" - Noise Scale and Speed sliders");
355 FL_WARN(
" - Color Palette selection for noise");
356 FL_WARN(
" fl::UIGroup automatically applied group membership via variadic constructor");
357
358
361
362
365 FL_WARN(
"Noise palette changed to: " << selectedPalette);
366 if (selectedPalette == "Party") {
368 } else if (selectedPalette == "Heat") {
370 } else if (selectedPalette == "Ocean") {
372 } else if (selectedPalette == "Forest") {
374 } else if (selectedPalette == "Rainbow") {
376 }
377 });
378
381
384 FL_WARN(
"Render mode changed to: " << mode);
385 }
386 }
387 });
388
389
392 switch(value) {
393 case 0: order =
RGB;
break;
394 case 1: order =
RBG;
break;
395 case 2: order =
GRB;
break;
396 case 3: order =
GBR;
break;
397 case 4: order =
BRG;
break;
398 case 5: order =
BGR;
break;
399 }
402 }
403 });
404
405
407
409}
fl::FxEngine fxEngine(NUM_LEDS)
fl::Animartrix animartrix(xyMap, FIRST_ANIMATION)
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_GLOBAL_CONSTRUCTORS CFastLED FastLED
Global LED strip management instance.
@ APA102HD
APA102 LED chipset with 5-bit gamma correction.
CLEDController * controller
Manages and renders multiple visual effects (Fx) for LED strips.
fl::string getOption(fl::size index) const FL_NOEXCEPT
fl::string value() const FL_NOEXCEPT
fl::size getOptionCount() const FL_NOEXCEPT
static XYMap constructRectangularGrid(u16 width, u16 height, u16 offset=0) FL_NOEXCEPT
fl::CLEDController CLEDController
fl::UIDropdown renderModeDropdown("Render Mode", renderModeOptions)
fl::WaveCrgbGradientMapPtr crgMap
fl::CRGBPalette16 noisePalette
constexpr uint16_t CORKSCREW_HEIGHT
fl::shared_ptr< fl::Grid< fl::CRGB > > frameBufferPtr
fl::UIDropdown paletteDropdown("Color Palette", paletteOptions)
constexpr uint16_t CORKSCREW_WIDTH
UINumberField animartrixColorOrder("fl::Animartrix Color Order", 0, 0, 5)
fl::UIGroup noiseGroup("Noise Controls", noiseScale, noiseSpeed, paletteDropdown)
fl::Corkscrew corkscrew(CORKSCREW_TURNS, NUM_LEDS)
const TProgmemRGBPalette16 OceanColors_p
Ocean colors, blues and whites.
const TProgmemRGBPalette16 HeatColors_p
Approximate "black body radiation" palette, akin to the FastLED HeatColor() function.
const TProgmemRGBPalette16 ForestColors_p
Forest colors, greens.
const TProgmemRGBPalette16 PartyColors_p
HSV color ramp: blue, purple, pink, red, orange, yellow (and back).
const TProgmemRGBPalette16 RainbowColors_p
HSV Rainbow.
shared_ptr< T > make_shared(Args &&... args) FL_NOEXCEPT
float speed
Wave propagation speed (0.0-1.0, typical: 0.1-0.3)
bool x_cyclical
If true, waves wrap around the x-axis (cylindrical topology)
WaveCrgbMapPtr crgbMap
Custom color mapper (nullptr uses default grayscale)
bool auto_updates
If true, simulation advances automatically in draw()
SuperSample factor
Supersampling quality (SUPER_SAMPLE_2X recommended for balance)
float dampening
Energy dampening factor (higher = faster decay, typical: 3-10)
bool half_duplex
If true, constrains waves to positive values only.