MCPcopy Create free account
hub / github.com/FastLED/FastLED / drawWave

Function drawWave

examples/FestivalStick/curr.h:705–737  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

703
704
705void drawWave(uint32_t now) {
706 // Update wave parameters from UI
707 waveFx->setSpeed(waveSpeed.value());
708 waveFx->setDampening(waveDampening.value());
709 waveFx->setHalfDuplex(waveHalfDuplex.value());
710 waveFx->setXCylindrical(true); // Always keep cylindrical for corkscrew
711 waveFx->setStencil(waveIsotropicStencil
712 ? fl::LaplacianStencil::NinePointIsotropic
713 : fl::LaplacianStencil::FivePoint);
714
715 // Update wave color palette
716 fl::CRGBPalette16 currentPalette = getWavePalette();
717 crgMap->setGradient(currentPalette);
718
719
720
721 // Apply blur settings to the wave blend (for smoother wave effects)
722 waveBlend->setGlobalBlurAmount(waveBlurAmount.value());
723 waveBlend->setGlobalBlurPasses(waveBlurPasses.value());
724
725 // Check if manual trigger button was pressed
726 if (waveTriggerButton.value()) {
727 triggerWaveRipple();
728 }
729
730 // Handle auto-triggering
731 processWaveAutoTrigger(now);
732
733 // Draw the wave effect directly to the frame buffer
734 // Create a DrawContext for the wave renderer
735 fl::Fx::DrawContext waveContext(now, frameBufferPtr->span());
736 waveBlend->draw(waveContext);
737}
738
739void drawAnimartrix(uint32_t now) {
740 // Update animartrix parameters from UI

Callers 1

loopFunction · 0.85

Calls 14

getWavePaletteFunction · 0.85
triggerWaveRippleFunction · 0.85
processWaveAutoTriggerFunction · 0.85
setGradientMethod · 0.80
setGlobalBlurAmountMethod · 0.80
setGlobalBlurPassesMethod · 0.80
setSpeedMethod · 0.45
valueMethod · 0.45
setDampeningMethod · 0.45
setHalfDuplexMethod · 0.45
setXCylindricalMethod · 0.45
setStencilMethod · 0.45

Tested by

no test coverage detected