|
| 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) |
| |