46#define SERPENTINE true
112uint8_t
getPaletteIndex(uint32_t millis32,
int width,
int max_width,
int height,
int max_height,
121 float xf = (float)width / (
float)max_width;
122 uint8_t
x = (uint8_t)(xf * 255);
125 uint32_t cosx =
cos8(
x);
126 uint32_t sinx =
sin8(
x);
138 uint16_t
z = millis32 /
invSpeedZ.as<uint16_t>();
144 uint16_t noise16 =
inoise16(cosx << 8, sinx << 8,
y << 8, 0);
147 uint8_t noise_val = noise16 >> 8;
152 int8_t subtraction_factor =
abs8(height - (max_height - 1)) * 255 /
157 return qsub8(noise_val, subtraction_factor);
165 return electricGreenFirePal;
167 return electricBlueFirePal;
183 uint32_t now = millis();
192 for (
int width = 0; width <
WIDTH; width++) {
193 for (
int height = 0; height <
HEIGHT; height++) {
196 uint8_t palette_index =
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_GLOBAL_CONSTRUCTORS CFastLED FastLED
Global LED strip management instance.
central include file for FastLED, defines the CFastLED class/object
UISlider brightness("Brightness", 255, 0, 255, 1)
CRGBPalette16 getPalette()
TimeWarp timeScale(0, 1.0f)
UIDescription description("This Fire demo wraps around the cylinder. It uses Perlin noise to create a fire effect.")
UINumberField palette("Palette", 0, 0, 2)
uint8_t getPaletteIndex(uint32_t millis32, int width, int max_width, int height, int max_height, uint32_t y_speed)
UITitle title("FireCylinder Demo")
UISlider scaleXY("Scale", 8, 1, 100, 1)
UISlider speedY("SpeedY", 1.3, 1, 6,.1)
UISlider invSpeedZ("Inverse SpeedZ", 20, 1, 100, 1)
UISlider scaleX("ScaleX",.3, 0.1, 3,.01)
UISlider brightness("Brightness", 128, 0, 255, 1)
LED controller for WS2812 LEDs with GRB color order.
void setDiameter(float diameter)
#define DEFINE_GRADIENT_PALETTE(X)
Defines a static RGB palette very compactly using a series of connected color gradients.
@ TypicalLEDStrip
Typical values for SMD5050 LEDs.
LIB8STATIC_ALWAYS_INLINE int8_t abs8(int8_t i)
Take the absolute value of a signed 8-bit uint8_t.
LIB8STATIC_ALWAYS_INLINE uint8_t qsub8(uint8_t i, uint8_t j)
Subtract one byte from another, saturating at 0x00.
uint16_t inoise16(uint32_t x, uint32_t y, uint32_t z, uint32_t t)
16-bit, fixed point implementation of Perlin's noise.
LIB8STATIC uint8_t cos8(uint8_t theta)
Fast 8-bit approximation of cos(x).
#define sin8
Platform-independent alias of the fast sin implementation.
CRGB ColorFromPalette(const CRGBPalette16 &pal, fl::u8 index, fl::u8 brightness, TBlendType blendType)
Representation of an RGB pixel (Red, Green, Blue)