|
UICheckbox | allWhite ("All White", false) |
|
UINumberField | animartrixColorOrder ("Animartrix Color Order", 0, 0, 5) |
|
UIGroup | animartrixGroup ("Animartrix Controls", animartrixIndex, animartrixTimeSpeed, animartrixColorOrder) |
|
UINumberField | animartrixIndex ("Animartrix Animation", 5, 0, NUM_ANIMATIONS - 1) |
|
UISlider | animartrixTimeSpeed ("Animartrix Time Speed", 1, -10, 10,.1) |
|
UICheckbox | autoAdvance ("Auto Advance", true) |
|
UISlider | brightness ("Brightness", 255, 0, 255, 1) |
|
UIGroup | colorBoostGroup ("Color Boost", saturationFunction, luminanceFunction) |
|
Corkscrew | corkscrew (CORKSCREW_TURNS, NUM_LEDS) |
|
| DEFINE_GRADIENT_PALETTE (electricBlueFirePal) |
|
| DEFINE_GRADIENT_PALETTE (electricGreenFirePal) |
|
| DEFINE_GRADIENT_PALETTE (firepal) |
|
| DEFINE_GRADIENT_PALETTE (waveBluepal) |
|
| DEFINE_GRADIENT_PALETTE (waveGreenpal) |
|
| DEFINE_GRADIENT_PALETTE (waveRainbowpal) |
|
void | draw (float pos) |
|
void | drawAnimartrix (uint32_t now) |
|
void | drawFire (uint32_t now) |
|
void | drawNoise (uint32_t now) |
|
void | drawWave (uint32_t now) |
|
UIDescription | festivalStickDescription ("# Festival Stick Demo\n\n" "This example demonstrates **proper corkscrew LED mapping** for a festival stick using FastLED's advanced mapping capabilities.\n\n" "## Key Features\n" "- **19+ turns** with 288 LEDs total\n" "- Uses `Corkscrew.toScreenMap()` for accurate web interface visualization\n" "- Multiple render modes: **Noise**, **Position**, **Fire**, **Wave**, and **Animartrix** effects\n" "- Real-time cylindrical surface mapping\n" "- **Wave mode**: Cylindrical 2D wave simulation with ripple effects and configurable blur\n" "- **Animartrix mode**: Advanced 2D animation effects with polar coordinate patterns\n\n" "## How It Works\n" "1. Draws patterns into a rectangular grid (`frameBuffer`)\n" "2. Maps the grid to corkscrew LED positions using `readFrom()`\n" "3. Web interface shows the actual spiral shape via ScreenMap\n\n" "*Select different render modes and adjust parameters to see various effects!*") |
|
UITitle | festivalStickTitle ("Festival Stick - Advanced Version") |
|
void | fillFrameBufferFire (uint32_t now) |
|
FL_OPTIMIZATION_LEVEL_O0_END void | fillFrameBufferNoise () |
|
UIGroup | fireGroup ("Fire Controls", fireScaleXY, fireSpeedY, fireScaleX, fireInvSpeedZ, firePalette) |
|
UISlider | fireInvSpeedZ ("Fire Inverse SpeedZ", 20, 1, 100, 1) |
|
UINumberField | firePalette ("Fire Palette", 0, 0, 2) |
|
UISlider | fireScaleX ("Fire ScaleX",.3, 0.1, 3,.01) |
|
UISlider | fireScaleXY ("Fire Scale", 8, 1, 100, 1) |
|
UISlider | fireSpeedY ("Fire SpeedY", 1.3, 1, 6,.1) |
|
FL_OPTIMIZATION_LEVEL_O0_BEGIN float | get_position (uint32_t now) |
|
EaseType | getEaseType (fl::string value) |
|
CRGBPalette16 | getFirePalette () |
|
uint8_t | getFirePaletteIndex (uint32_t millis32, int width, int max_width, int height, int max_height, uint32_t y_speed) |
|
CRGBPalette16 | getWavePalette () |
|
void | loop () |
|
UIDropdown | luminanceFunction ("Luminance Function", easeInfo) |
|
UIGroup | noiseGroup ("Noise Controls", noiseScale, noiseSpeed, paletteDropdown) |
|
UISlider | noiseScale ("Noise Scale", 100, 10, 200, 5) |
|
UISlider | noiseSpeed ("Noise Speed", 4, 1, 100, 1) |
|
UIDropdown | paletteDropdown ("Color Palette", paletteOptions) |
|
UIGroup | pointGraphicsGroup ("Point Graphics Mode", speed, positionCoarse, positionFine, positionExtraFine, autoAdvance) |
|
UISlider | positionCoarse ("Position Coarse (10x)", 0.0f, 0.0f, 1.0f, 0.01f) |
|
UISlider | positionExtraFine ("Position Extra Fine (0.1x)", 0.0f, 0.0f, 0.01f, 0.0001f) |
|
UISlider | positionFine ("Position Fine (1x)", 0.0f, 0.0f, 0.1f, 0.001f) |
|
void | processWaveAutoTrigger (uint32_t now) |
|
UIGroup | renderGroup ("Render Options", renderModeDropdown, splatRendering, allWhite, brightness) |
|
UIDropdown | renderModeDropdown ("Render Mode", renderModeOptions) |
|
UIDropdown | saturationFunction ("Saturation Function", easeInfo) |
|
void | setup () |
|
UISlider | speed ("Speed", 0.1f, 0.01f, 1.0f, 0.01f) |
|
UICheckbox | splatRendering ("Splat Rendering", true) |
|
void | triggerWaveRipple () |
|
UICheckbox | waveAutoTrigger ("Wave Auto Trigger", true) |
|
UISlider | waveBlurAmount ("Wave Blur Amount", 50, 0, 172, 1) |
|
UISlider | waveBlurPasses ("Wave Blur Passes", 1, 1, 10, 1) |
|
UISlider | waveDampening ("Wave Dampening", 9.1f, 0.0f, 20.0f, 0.1f) |
|
UIGroup | waveGroup ("Wave Controls", waveSpeed, waveDampening, waveHalfDuplex, waveAutoTrigger, waveTriggerSpeed, waveTriggerButton, wavePalette, waveBlurAmount, waveBlurPasses) |
|
UICheckbox | waveHalfDuplex ("Wave Half Duplex", true) |
|
UINumberField | wavePalette ("Wave Palette", 0, 0, 2) |
|
UISlider | waveSpeed ("Wave Speed", 0.03f, 0.0f, 1.0f, 0.01f) |
|
UIButton | waveTriggerButton ("Trigger Wave") |
|
UISlider | waveTriggerSpeed ("Wave Trigger Speed", 0.5f, 0.0f, 1.0f, 0.01f) |
|