10#define COLOR_ORDER GRB
89#define TWINKLE_SPEED 4
94#define TWINKLE_DENSITY 5
97#define SECONDS_PER_PALETTE 30
113#define AUTO_SELECT_BACKGROUND_COLOR 0
118#define COOL_LIKE_INCANDESCENT 1
161 uint16_t PRNG16 = 11337;
163 uint32_t clock32 = millis();
176 }
else if( bglight > 16) {
187 for(
CRGB& pixel: L) {
188 PRNG16 = (uint16_t)(PRNG16 * 2053) + 1384;
189 uint16_t myclockoffset16= PRNG16;
190 PRNG16 = (uint16_t)(PRNG16 * 2053) + 1384;
192 uint8_t myspeedmultiplierQ5_3 = ((((PRNG16 & 0xFF)>>4) + (PRNG16 & 0x0F)) & 0x0F) + 0x08;
193 uint32_t myclock30 = (uint32_t)((clock32 * myspeedmultiplierQ5_3) >> 3) + myclockoffset16;
194 uint8_t myunique8 = PRNG16 >> 8;
202 int16_t deltabright = cbright - backgroundBrightness;
203 if( deltabright >= 32 || (!bg)) {
207 }
else if( deltabright > 0 ) {
210 pixel =
blend( bg, c, deltabright * 8);
232 uint8_t fastcycle8 = ticks;
233 uint16_t slowcycle16 = (ticks >> 8) + salt;
234 slowcycle16 += sin8( slowcycle16);
235 slowcycle16 = (slowcycle16 * 2053) + 1384;
236 uint8_t slowcycle8 = (slowcycle16 & 0xFF) + (slowcycle16 >> 8);
243 uint8_t
hue = slowcycle8 - salt;
273 return 255 - (i + (i/2));
282 if( phase < 128)
return;
284 uint8_t cooling = (phase - 128) >> 4;
285 c.g = qsub8( c.g, cooling);
286 c.b = qsub8( c.b, cooling * 2);
298#define Holly_Green 0x00580c
299#define Holly_Red 0xB00402
324#define HALFFAIRY ((CRGB::FairyLight & 0xFEFEFE) / 2)
325#define QUARTERFAIRY ((CRGB::FairyLight & 0xFCFCFC) / 4)
334{ 0x304048, 0x304048, 0x304048, 0x304048,
335 0x304048, 0x304048, 0x304048, 0x304048,
336 0x304048, 0x304048, 0x304048, 0x304048,
337 0x304048, 0x304048, 0x304048, 0xE0F0FF };
341#define C9_Red 0xB80400
342#define C9_Orange 0x902C02
343#define C9_Green 0x046002
344#define C9_Blue 0x070758
345#define C9_White 0x606820
355#define Ice_Blue1 0x0C1040
356#define Ice_Blue2 0x182080
357#define Ice_Blue3 0x5080C0
387 static uint8_t whichPalette = -1;
388 whichPalette = addmod8( whichPalette, 1, numberOfPalettes);
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_GLOBAL_CONSTRUCTORS CFastLED FastLED
Global LED strip management instance.
void coolLikeIncandescent(CRGB &c, uint8_t phase)
CRGBPalette16 gTargetPalette
void chooseNextColorPalette(CRGBPalette16 &pal)
const TProgmemRGBPalette16 Ice_p
uint8_t attackDecayWave8(uint8_t i)
const TProgmemRGBPalette16 RedWhite_p
const TProgmemRGBPalette16 FairyLight_p
const TProgmemRGBPalette16 RedGreenWhite_p
void drawTwinkles(CRGBSet &L)
const TProgmemRGBPalette16 * ActivePaletteList[]
const TProgmemRGBPalette16 BlueWhite_p
CRGBPalette16 gCurrentPalette
const TProgmemRGBPalette16 Holly_p
const TProgmemRGBPalette16 RetroC9_p
const TProgmemRGBPalette16 Snow_p
CRGB computeOneTwinkle(uint32_t ms, uint8_t salt)
A version of CPixelView<CRGB> with an included array of CRGB LEDs.
CRGB ColorFromPalette(const CRGBPalette16 &pal, fl::u8 index, fl::u8 brightness, TBlendType blendType)
CRGB blend(const CRGB &p1, const CRGB &p2, fract8 amountOfP2)
void nblendPaletteTowardPalette(CRGBPalette16 ¤t, CRGBPalette16 &target, fl::u8 maxChanges)
fl::u32 TProgmemRGBPalette16[16]
CRGBPalette16 entries stored in PROGMEM memory.
#define FL_PROGMEM
PROGMEM keyword for storage.
@ TypicalLEDStrip
Typical values for SMD5050 LEDs.
const TProgmemRGBPalette16 PartyColors_p
HSV color ramp: blue, purple, pink, red, orange, yellow (and back).
const TProgmemRGBPalette16 RainbowColors_p
HSV Rainbow.
#define EVERY_N_MILLISECONDS(N)
Alias for EVERY_N_MILLIS.
#define EVERY_N_SECONDS(N)
Checks whether to execute a block of code every N seconds.
CPixelView< CRGB > CRGBSet
CPixelView specialized for CRGB pixel arrays - the most commonly used pixel view type.
FASTLED_FORCE_INLINE u8 getAverageLight() const FL_NOEXCEPT
Get the average of the R, G, and B values.
@ FairyLight
<div style='background:#FFE42D;width:4em;height:4em;'></div>
@ Green
<div style='background:#008000;width:4em;height:4em;'></div>
@ Red
<div style='background:#FF0000;width:4em;height:4em;'></div>
@ Blue
<div style='background:#0000FF;width:4em;height:4em;'></div>
@ Gray
<div style='background:#808080;width:4em;height:4em;'></div>
@ Black
<div style='background:#000000;width:4em;height:4em;'></div>
FASTLED_FORCE_INLINE CRGB & nscale8_video(u8 scaledown) FL_NOEXCEPT
Scale down a RGB to N/256ths of it's current brightness using "video" dimming rules.
#define AUTO_SELECT_BACKGROUND_COLOR
#define COOL_LIKE_INCANDESCENT
#define SECONDS_PER_PALETTE