36 const uint32_t width =
waveSim.getWidth();
37 const uint32_t height =
waveSim.getHeight();
38 for (uint32_t
y = 0;
y < height;
y++) {
39 for (uint32_t
x = 0;
x < width;
x++) {
42 leds[idx] =
CRGB(value8, value8, value8);
85 if (args.crgbMap ==
nullptr) {
87 mCrgbMap = WaveCrgbMapDefaultPtr::New();
90 mCrgbMap = args.crgbMap;
120 void setf(
size_t x,
size_t y,
float value) {
125 void addf(
size_t x,
size_t y,
float value) {
UISlider speed("Speed", 1.0f, -20.0f, 20.0f, 0.01f)
XYMap xymap(WIDTH, HEIGHT, SERPENTINE)
UINumberField palette("Palette", 0, 0, 2)
UISlider dampening("Dampening", 6.0f, 0.0f, 10.0f, 0.1f)
WaveSimulation1D waveSim(NUM_LEDS, SuperSample::SUPER_SAMPLE_2X)
uint16_t getHeight() const
uint16_t getWidth() const
fl::GradientInlined Gradient
void mapWaveToLEDs(const XYMap &xymap, WaveSimulation2D &waveSim, CRGB *leds) override
WaveCrgbGradientMap(const CRGBPalette16 &palette)
virtual void mapWaveToLEDs(const XYMap &xymap, WaveSimulation2D &waveSim, CRGB *leds)=0
virtual ~WaveCrgbMap()=default
void mapWaveToLEDs(const XYMap &xymap, WaveSimulation2D &waveSim, CRGB *leds) override
void setAutoUpdate(bool autoUpdate)
void setHalfDuplex(bool on)
WaveFx(XYMap xymap, Args args=Args())
void setSpeed(float speed)
uint8_t getu8(size_t x, size_t y) const
void setf(size_t x, size_t y, float value)
void setCrgbMap(WaveCrgbMapPtr crgbMap)
void draw(DrawContext context) override
void setEasingMode(U8EasingFunction mode)
void setSuperSample(SuperSample factor)
void setDampening(float dampening)
void addf(size_t x, size_t y, float value)
WaveSimulation2D mWaveSim
fl::Str fxName() const override
Utility functions for color fill, palettes, blending, and more.
Implements a simple red square effect for 2D LED grids.
Declares classes for managing logical groups of LEDs.
#define FASTLED_SMART_PTR(type)
Representation of an RGB pixel (Red, Green, Blue)
WaveFxArgs(SuperSample factor, bool half_duplex, bool auto_updates, float speed, float dampening, WaveCrgbMapPtr crgbMap)
WaveFxArgs & operator=(const WaveFxArgs &)=default
WaveFxArgs(const WaveFxArgs &)=default