FastLED 3.9.15
Loading...
Searching...
No Matches
FxWave2d.ino File Reference
#include <Arduino.h>
#include <FastLED.h>
#include "fl/math_macros.h"
#include "fl/time_alpha.h"
#include "fl/ui.h"
#include "fx/2d/blend.h"
#include "fx/2d/wave.h"
+ Include dependency graph for FxWave2d.ino:

Go to the source code of this file.

Classes

struct  ui_state
 

Macros

#define HEIGHT   64
 
#define IS_SERPINTINE   true
 
#define NUM_LEDS   ((WIDTH) * (HEIGHT))
 
#define WIDTH   64
 

Functions

void applyFancyEffect (uint32_t now, bool button_active)
 
 DEFINE_GRADIENT_PALETTE (electricBlueFirePal)
 
 DEFINE_GRADIENT_PALETTE (electricGreenFirePal)
 
SuperSample getSuperSample ()
 
void loop ()
 
void processAutoTrigger (uint32_t now)
 
void setup ()
 
void triggerRipple ()
 
ui_state ui ()
 

Variables

UICheckbox autoTrigger ("Auto Trigger", true)
 
UISlider blurAmount ("Global Blur Amount", 0, 0, 172, 1)
 
UISlider blurAmountLower ("Wave Lower: Blur Amount", 0, 0, 172, 1)
 
UISlider blurAmountUpper ("Wave Upper: Blur Amount", 95, 0, 172, 1)
 
UISlider blurPasses ("Global Blur Passes", 1, 1, 10, 1)
 
UISlider blurPassesLower ("Wave Lower: Blur Passes", 1, 1, 10, 1)
 
UISlider blurPassesUpper ("Wave Upper: Blur Passes", 1, 1, 10, 1)
 
UIButton button ("Trigger")
 
UIButton buttonFancy ("Trigger Fancy")
 
UISlider dampeningLower ("Wave Lower: Dampening", 9.0f, 0.0f, 20.0f, 0.1f)
 
UISlider dampeningUpper ("Wave Upper: Dampening", 8.9f, 0.0f, 20.0f, 0.1f)
 
UIDescription description ("Advanced layered and blended wave effects.")
 
UICheckbox easeModeSqrt ("Ease Mode Sqrt", false)
 
UISlider fancyIntensity ("Fancy Intensity", 32, 1, 255, 1)
 
UISlider fancyParticleSpan ("Fancy Particle Span", 0.06f, 0.01f, 0.2f, 0.01f)
 
UISlider fancySpeed ("Fancy Speed", 796, 0, 1000, 1)
 
Blend2d fxBlend (xyMap)
 
UICheckbox halfDuplexLower ("Wave Lower: Half Duplex", true)
 
UICheckbox halfDuplexUpper ("Wave Upper: Half Duplex", true)
 
CRGB leds [NUM_LEDS]
 
UISlider speedLower ("Wave Lower: Speed", 0.26f, 0.0f, 1.0f)
 
UISlider speedUpper ("Wave Upper: Speed", 0.12f, 0.0f, 1.0f)
 
UISlider superSample ("SuperSampleExponent", 1.f, 0.f, 3.f, 1.f)
 
UITitle title ("FxWave2D Demo")
 
UISlider triggerSpeed ("Trigger Speed",.5f, 0.0f, 1.0f, 0.01f)
 
WaveFx waveFxLower (xyRect, WaveFx::Args{ .factor=SUPER_SAMPLE_4X,.half_duplex=true,.speed=0.18f,.dampening=9.0f,.crgbMap=WaveCrgbGradientMapPtr::New(electricBlueFirePal), })
 
WaveFx waveFxUpper (xyRect, WaveFx::Args{ .factor=SUPER_SAMPLE_4X,.half_duplex=true,.speed=0.25f,.dampening=3.0f,.crgbMap=WaveCrgbGradientMapPtr::New(electricGreenFirePal), })
 
XYMap xyMap (WIDTH, HEIGHT, IS_SERPINTINE)
 
XYMap xyRect (WIDTH, HEIGHT, false)