175 lines
4.1 KiB
C++
175 lines
4.1 KiB
C++
|
#ifndef __INC_COLORPALETTES_H
|
||
|
#define __INC_COLORPALETTES_H
|
||
|
#define FASTLED_INTERNAL
|
||
|
#include "FastLED.h"
|
||
|
#include "colorutils.h"
|
||
|
#include "colorpalettes.h"
|
||
|
|
||
|
FASTLED_USING_NAMESPACE
|
||
|
|
||
|
|
||
|
// Preset color schemes, such as they are.
|
||
|
|
||
|
// These schemes are all declared as "PROGMEM", meaning
|
||
|
// that they won't take up SRAM on AVR chips until used.
|
||
|
// Furthermore, the compiler won't even include these
|
||
|
// in your PROGMEM (flash) storage unless you specifically
|
||
|
// use each one, so you only 'pay for' those you actually use.
|
||
|
|
||
|
|
||
|
extern const TProgmemRGBPalette16 CloudColors_p FL_PROGMEM =
|
||
|
{
|
||
|
CRGB::Blue,
|
||
|
CRGB::DarkBlue,
|
||
|
CRGB::DarkBlue,
|
||
|
CRGB::DarkBlue,
|
||
|
|
||
|
CRGB::DarkBlue,
|
||
|
CRGB::DarkBlue,
|
||
|
CRGB::DarkBlue,
|
||
|
CRGB::DarkBlue,
|
||
|
|
||
|
CRGB::Blue,
|
||
|
CRGB::DarkBlue,
|
||
|
CRGB::SkyBlue,
|
||
|
CRGB::SkyBlue,
|
||
|
|
||
|
CRGB::LightBlue,
|
||
|
CRGB::White,
|
||
|
CRGB::LightBlue,
|
||
|
CRGB::SkyBlue
|
||
|
};
|
||
|
|
||
|
extern const TProgmemRGBPalette16 LavaColors_p FL_PROGMEM =
|
||
|
{
|
||
|
CRGB::Black,
|
||
|
CRGB::Maroon,
|
||
|
CRGB::Black,
|
||
|
CRGB::Maroon,
|
||
|
|
||
|
CRGB::DarkRed,
|
||
|
CRGB::Maroon,
|
||
|
CRGB::DarkRed,
|
||
|
|
||
|
CRGB::DarkRed,
|
||
|
CRGB::DarkRed,
|
||
|
CRGB::Red,
|
||
|
CRGB::Orange,
|
||
|
|
||
|
CRGB::White,
|
||
|
CRGB::Orange,
|
||
|
CRGB::Red,
|
||
|
CRGB::DarkRed
|
||
|
};
|
||
|
|
||
|
|
||
|
extern const TProgmemRGBPalette16 OceanColors_p FL_PROGMEM =
|
||
|
{
|
||
|
CRGB::MidnightBlue,
|
||
|
CRGB::DarkBlue,
|
||
|
CRGB::MidnightBlue,
|
||
|
CRGB::Navy,
|
||
|
|
||
|
CRGB::DarkBlue,
|
||
|
CRGB::MediumBlue,
|
||
|
CRGB::SeaGreen,
|
||
|
CRGB::Teal,
|
||
|
|
||
|
CRGB::CadetBlue,
|
||
|
CRGB::Blue,
|
||
|
CRGB::DarkCyan,
|
||
|
CRGB::CornflowerBlue,
|
||
|
|
||
|
CRGB::Aquamarine,
|
||
|
CRGB::SeaGreen,
|
||
|
CRGB::Aqua,
|
||
|
CRGB::LightSkyBlue
|
||
|
};
|
||
|
|
||
|
extern const TProgmemRGBPalette16 ForestColors_p FL_PROGMEM =
|
||
|
{
|
||
|
CRGB::DarkGreen,
|
||
|
CRGB::DarkGreen,
|
||
|
CRGB::DarkOliveGreen,
|
||
|
CRGB::DarkGreen,
|
||
|
|
||
|
CRGB::Green,
|
||
|
CRGB::ForestGreen,
|
||
|
CRGB::OliveDrab,
|
||
|
CRGB::Green,
|
||
|
|
||
|
CRGB::SeaGreen,
|
||
|
CRGB::MediumAquamarine,
|
||
|
CRGB::LimeGreen,
|
||
|
CRGB::YellowGreen,
|
||
|
|
||
|
CRGB::LightGreen,
|
||
|
CRGB::LawnGreen,
|
||
|
CRGB::MediumAquamarine,
|
||
|
CRGB::ForestGreen
|
||
|
};
|
||
|
|
||
|
/// HSV Rainbow
|
||
|
extern const TProgmemRGBPalette16 RainbowColors_p FL_PROGMEM =
|
||
|
{
|
||
|
0xFF0000, 0xD52A00, 0xAB5500, 0xAB7F00,
|
||
|
0xABAB00, 0x56D500, 0x00FF00, 0x00D52A,
|
||
|
0x00AB55, 0x0056AA, 0x0000FF, 0x2A00D5,
|
||
|
0x5500AB, 0x7F0081, 0xAB0055, 0xD5002B
|
||
|
};
|
||
|
|
||
|
/// HSV Rainbow colors with alternatating stripes of black
|
||
|
#define RainbowStripesColors_p RainbowStripeColors_p
|
||
|
extern const TProgmemRGBPalette16 RainbowStripeColors_p FL_PROGMEM =
|
||
|
{
|
||
|
0xFF0000, 0x000000, 0xAB5500, 0x000000,
|
||
|
0xABAB00, 0x000000, 0x00FF00, 0x000000,
|
||
|
0x00AB55, 0x000000, 0x0000FF, 0x000000,
|
||
|
0x5500AB, 0x000000, 0xAB0055, 0x000000
|
||
|
};
|
||
|
|
||
|
/// HSV color ramp: blue purple ping red orange yellow (and back)
|
||
|
/// Basically, everything but the greens, which tend to make
|
||
|
/// people's skin look unhealthy. This palette is good for
|
||
|
/// lighting at a club or party, where it'll be shining on people.
|
||
|
extern const TProgmemRGBPalette16 PartyColors_p FL_PROGMEM =
|
||
|
{
|
||
|
0x5500AB, 0x84007C, 0xB5004B, 0xE5001B,
|
||
|
0xE81700, 0xB84700, 0xAB7700, 0xABAB00,
|
||
|
0xAB5500, 0xDD2200, 0xF2000E, 0xC2003E,
|
||
|
0x8F0071, 0x5F00A1, 0x2F00D0, 0x0007F9
|
||
|
};
|
||
|
|
||
|
/// Approximate "black body radiation" palette, akin to
|
||
|
/// the FastLED 'HeatColor' function.
|
||
|
/// Recommend that you use values 0-240 rather than
|
||
|
/// the usual 0-255, as the last 15 colors will be
|
||
|
/// 'wrapping around' from the hot end to the cold end,
|
||
|
/// which looks wrong.
|
||
|
extern const TProgmemRGBPalette16 HeatColors_p FL_PROGMEM =
|
||
|
{
|
||
|
0x000000,
|
||
|
0x330000, 0x660000, 0x990000, 0xCC0000, 0xFF0000,
|
||
|
0xFF3300, 0xFF6600, 0xFF9900, 0xFFCC00, 0xFFFF00,
|
||
|
0xFFFF33, 0xFFFF66, 0xFFFF99, 0xFFFFCC, 0xFFFFFF
|
||
|
};
|
||
|
|
||
|
|
||
|
// Gradient palette "Rainbow_gp",
|
||
|
// provided for situations where you're going
|
||
|
// to use a number of other gradient palettes, AND
|
||
|
// you want a 'standard' FastLED rainbow as well.
|
||
|
|
||
|
DEFINE_GRADIENT_PALETTE( Rainbow_gp ) {
|
||
|
0, 255, 0, 0, // Red
|
||
|
32, 171, 85, 0, // Orange
|
||
|
64, 171,171, 0, // Yellow
|
||
|
96, 0,255, 0, // Green
|
||
|
128, 0,171, 85, // Aqua
|
||
|
160, 0, 0,255, // Blue
|
||
|
192, 85, 0,171, // Purple
|
||
|
224, 171, 0, 85, // Pink
|
||
|
255, 255, 0, 0};// and back to Red
|
||
|
|
||
|
#endif
|