249 lines
11 KiB
C
249 lines
11 KiB
C
#pragma once
|
|
|
|
#include <FastLED.h>
|
|
|
|
|
|
typedef struct {
|
|
uint8_t size;
|
|
CRGB col[8];
|
|
} COLOR_PACK;
|
|
|
|
|
|
const COLOR_PACK colorPack_Fire_Red PROGMEM = { 4, { CRGB::Red, CRGB::OrangeRed, CRGB::Yellow, CRGB::Black } };
|
|
const COLOR_PACK colorPack_Fire_Green PROGMEM = { 4, { CRGB::DarkGreen, CRGB::Green, CRGB::LightGreen, CRGB::Black } };
|
|
const COLOR_PACK colorPack_Fire_Blue PROGMEM = { 4, { CRGB::DarkBlue, CRGB::Blue, CRGB::LightBlue, CRGB::Black } };
|
|
const COLOR_PACK colorPack_Fire_Violet PROGMEM = { 4, { CRGB::Purple, CRGB::Blue, CRGB::Violet, CRGB::Black } };
|
|
|
|
// Fire (compacted: single PROGMEM array, removes duplicate size constants)
|
|
const COLOR_PACK fireColorPacks[] PROGMEM = {
|
|
colorPack_Fire_Red,
|
|
colorPack_Fire_Green,
|
|
colorPack_Fire_Blue,
|
|
colorPack_Fire_Violet
|
|
};
|
|
|
|
|
|
// Dual Color Packs
|
|
const COLOR_PACK colorPack_RED_WHITE PROGMEM = { 2, { CRGB::Red, CRGB::White } };
|
|
const COLOR_PACK colorPack_ORANGE_WHITE PROGMEM = { 2, { CRGB::DarkOrange, CRGB::White } };
|
|
const COLOR_PACK colorPack_GREEN_WHITE PROGMEM = { 2, { CRGB::Green, CRGB::White } };
|
|
const COLOR_PACK colorPack_BLUE_WHITE PROGMEM = { 2, { CRGB::Blue, CRGB::White } };
|
|
const COLOR_PACK colorPack_PINK_WHITE PROGMEM = { 2, { CRGB::Pink, CRGB::White } };
|
|
const COLOR_PACK colorPack_PURPLE_WHITE PROGMEM = { 2, { CRGB::DarkViolet, CRGB::White } };
|
|
const COLOR_PACK colorPack_PURPLE_PINK PROGMEM = { 2, { CRGB::DarkViolet, CRGB::Pink } };
|
|
const COLOR_PACK colorPack_PURPLE_YELLOW PROGMEM = { 2, { CRGB::Purple, CRGB::Yellow } };
|
|
|
|
|
|
const COLOR_PACK colorPack_RED_YELLOW PROGMEM = { 2, { CRGB::Red, CRGB::Yellow } };
|
|
const COLOR_PACK colorPack_BLUE_YELLOW PROGMEM = { 2, { CRGB::Blue, CRGB::Yellow } };
|
|
const COLOR_PACK colorPack_GREEN_YELLOW PROGMEM = { 2, { CRGB::Green, CRGB::Yellow } };
|
|
const COLOR_PACK colorPack_BLUE_GREEN PROGMEM = { 2, { CRGB::Blue, CRGB::Green } };
|
|
const COLOR_PACK colorPack_BLUE_RED PROGMEM = { 2, { CRGB::Blue, CRGB::Red } };
|
|
|
|
// Additional complementary color pairs
|
|
|
|
const COLOR_PACK colorPack_ORANGE_BLUE PROGMEM = { 2, { CRGB::DarkOrange, CRGB::Blue } };
|
|
const COLOR_PACK colorPack_RED_GREEN PROGMEM = { 2, { CRGB::Red, CRGB::Green } };
|
|
const COLOR_PACK colorPack_CYAN_RED PROGMEM = { 2, { CRGB::Cyan, CRGB::Red } };
|
|
const COLOR_PACK colorPack_MAGENTA_GREEN PROGMEM = { 2, { CRGB::Magenta, CRGB::Green } };
|
|
|
|
// Warm/cool combinations
|
|
const COLOR_PACK colorPack_ORANGE_CYAN PROGMEM = { 2, { CRGB::DarkOrange, CRGB::Cyan } };
|
|
const COLOR_PACK colorPack_PINK_GREEN PROGMEM = { 2, { CRGB::Pink, CRGB::Green } };
|
|
const COLOR_PACK colorPack_VIOLET_LIME PROGMEM = { 2, { CRGB::DarkViolet, CRGB::Lime } };
|
|
|
|
// Analogous combinations
|
|
const COLOR_PACK colorPack_RED_ORANGE PROGMEM = { 2, { CRGB::Red, CRGB::DarkOrange } };
|
|
const COLOR_PACK colorPack_BLUE_PURPLE PROGMEM = { 2, { CRGB::Blue, CRGB::Purple } };
|
|
const COLOR_PACK colorPack_YELLOW_LIME PROGMEM = { 2, { CRGB::Yellow, CRGB::Lime } };
|
|
|
|
// Triadic combinations
|
|
const COLOR_PACK colorPack_RED_CYAN PROGMEM = { 2, { CRGB::Red, CRGB::Cyan } };
|
|
const COLOR_PACK colorPack_YELLOW_MAGENTA PROGMEM = { 2, { CRGB::Yellow, CRGB::Magenta } };
|
|
const COLOR_PACK colorPack_GREEN_MAGENTA PROGMEM = { 2, { CRGB::Green, CRGB::Magenta } };
|
|
|
|
// 25 Dual Color Packs
|
|
const COLOR_PACK double_colorPacks[] PROGMEM = {
|
|
colorPack_RED_WHITE,
|
|
colorPack_RED_YELLOW,
|
|
colorPack_BLUE_WHITE,
|
|
colorPack_PINK_WHITE,
|
|
colorPack_GREEN_WHITE,
|
|
colorPack_PURPLE_WHITE,
|
|
colorPack_GREEN_YELLOW,
|
|
colorPack_PURPLE_PINK,
|
|
colorPack_CYAN_RED,
|
|
|
|
colorPack_ORANGE_WHITE,
|
|
|
|
colorPack_PURPLE_PINK,
|
|
colorPack_PURPLE_YELLOW,
|
|
|
|
colorPack_BLUE_YELLOW,
|
|
|
|
colorPack_BLUE_GREEN,
|
|
colorPack_BLUE_RED,
|
|
colorPack_ORANGE_BLUE,
|
|
colorPack_RED_GREEN,
|
|
|
|
colorPack_MAGENTA_GREEN,
|
|
colorPack_ORANGE_CYAN,
|
|
colorPack_PINK_GREEN,
|
|
colorPack_VIOLET_LIME,
|
|
colorPack_RED_ORANGE,
|
|
colorPack_BLUE_PURPLE,
|
|
colorPack_YELLOW_LIME,
|
|
colorPack_RED_CYAN,
|
|
colorPack_YELLOW_MAGENTA,
|
|
colorPack_GREEN_MAGENTA
|
|
};
|
|
|
|
|
|
// Sectors
|
|
|
|
const COLOR_PACK colorPack_RAINBOW PROGMEM = { 7, { CRGB::Red, CRGB::OrangeRed, CRGB::Yellow, CRGB::Green, CRGB::Blue, CRGB::BlueViolet, CRGB::MediumVioletRed } };
|
|
// Triple Color Packs, Common Flags
|
|
const COLOR_PACK colorPack_RED_WHITE_BLUE PROGMEM = { 3, { CRGB::Red, CRGB::White, CRGB::Blue } };
|
|
const COLOR_PACK colorPack_RED_WHITE_GREEN PROGMEM = { 3, { CRGB::Red, CRGB::White, CRGB::Green } };
|
|
const COLOR_PACK colorPack_RED_YELLOW_BLUE PROGMEM = { 3, { CRGB::Red, CRGB::Yellow, CRGB::Blue } };
|
|
const COLOR_PACK colorPack_RED_ORANGE_YELLOW PROGMEM = { 3, { CRGB::Red, CRGB::DarkOrange, CRGB::Yellow } };
|
|
const COLOR_PACK colorPack_RED_YELLOW_GREEN PROGMEM = { 3, { CRGB::Red, CRGB::Yellow, CRGB::Green } };
|
|
const COLOR_PACK colorPack_RED_PURPLE_BLUE PROGMEM = { 3, { CRGB::Red, CRGB::Purple, CRGB::Blue } };
|
|
|
|
const COLOR_PACK colorPack_GREEN_WHITE_RED PROGMEM = { 3, { CRGB::Green, CRGB::White, CRGB::Red } };
|
|
const COLOR_PACK colorPack_GREEN_WHITE_ORANGE PROGMEM = { 3, { CRGB::Green, CRGB::White, CRGB::DarkOrange } };
|
|
const COLOR_PACK colorPack_GREEN_WHITE_BLUE PROGMEM = { 3, { CRGB::Green, CRGB::White, CRGB::Blue } };
|
|
|
|
|
|
const COLOR_PACK colorPack_BLUE_WHITE_GREEN PROGMEM = { 3, { CRGB::Blue, CRGB::White, CRGB::Green } };
|
|
const COLOR_PACK colorPack_BLUE_YELLOW_GREEN PROGMEM = { 3, { CRGB::Blue, CRGB::Yellow, CRGB::Green } };
|
|
const COLOR_PACK colorPack_BLUE_YELLOW_RED PROGMEM = { 3, { CRGB::Blue, CRGB::Yellow, CRGB::Red } };
|
|
|
|
// Additional triple color combinations
|
|
const COLOR_PACK colorPack_PURPLE_PINK_CYAN PROGMEM = { 3, { CRGB::Purple, CRGB::Pink, CRGB::Cyan } };
|
|
const COLOR_PACK colorPack_ORANGE_YELLOW_LIME PROGMEM = { 3, { CRGB::DarkOrange, CRGB::Yellow, CRGB::Lime } };
|
|
const COLOR_PACK colorPack_MAGENTA_YELLOW_CYAN PROGMEM = { 3, { CRGB::Magenta, CRGB::Yellow, CRGB::Cyan } };
|
|
const COLOR_PACK colorPack_LIME_CYAN_MAGENTA PROGMEM = { 3, { CRGB::Lime, CRGB::Cyan, CRGB::Magenta } };
|
|
|
|
// Warm tone combinations
|
|
const COLOR_PACK colorPack_RED_ORANGE_PINK PROGMEM = { 3, { CRGB::Red, CRGB::DarkOrange, CRGB::Pink } };
|
|
const COLOR_PACK colorPack_YELLOW_ORANGE_RED PROGMEM = { 3, { CRGB::Yellow, CRGB::DarkOrange, CRGB::Red } };
|
|
const COLOR_PACK colorPack_PINK_PURPLE_MAGENTA PROGMEM = { 3, { CRGB::Pink, CRGB::Purple, CRGB::Magenta } };
|
|
|
|
// Cool tone combinations
|
|
const COLOR_PACK colorPack_BLUE_CYAN_LIME PROGMEM = { 3, { CRGB::Blue, CRGB::Cyan, CRGB::Lime } };
|
|
const COLOR_PACK colorPack_PURPLE_BLUE_CYAN PROGMEM = { 3, { CRGB::Purple, CRGB::Blue, CRGB::Cyan } };
|
|
const COLOR_PACK colorPack_GREEN_CYAN_BLUE PROGMEM = { 3, { CRGB::Green, CRGB::Cyan, CRGB::Blue } };
|
|
|
|
// High contrast combinations
|
|
const COLOR_PACK colorPack_RED_GREEN_BLUE PROGMEM = { 3, { CRGB::Red, CRGB::Green, CRGB::Blue } };
|
|
const COLOR_PACK colorPack_YELLOW_PURPLE_ORANGE PROGMEM = { 3, { CRGB::Yellow, CRGB::Purple, CRGB::DarkOrange } };
|
|
const COLOR_PACK colorPack_PINK_LIME_PURPLE PROGMEM = { 3, { CRGB::Pink, CRGB::Lime, CRGB::Purple } };
|
|
|
|
|
|
|
|
// 25 Triple Color Packs
|
|
const COLOR_PACK tripple_colorPacks[] PROGMEM = {
|
|
colorPack_RED_WHITE_BLUE,
|
|
colorPack_RED_WHITE_GREEN,
|
|
colorPack_GREEN_WHITE_ORANGE,
|
|
colorPack_BLUE_YELLOW_GREEN,
|
|
colorPack_RED_GREEN_BLUE,
|
|
colorPack_PURPLE_PINK_CYAN,
|
|
colorPack_YELLOW_ORANGE_RED,
|
|
colorPack_BLUE_CYAN_LIME,
|
|
colorPack_PINK_PURPLE_MAGENTA,
|
|
|
|
colorPack_RED_YELLOW_BLUE,
|
|
colorPack_RED_ORANGE_YELLOW,
|
|
colorPack_RED_YELLOW_GREEN,
|
|
colorPack_RED_PURPLE_BLUE,
|
|
colorPack_GREEN_WHITE_RED,
|
|
colorPack_GREEN_WHITE_BLUE,
|
|
colorPack_BLUE_WHITE_GREEN,
|
|
colorPack_BLUE_YELLOW_RED,
|
|
colorPack_ORANGE_YELLOW_LIME,
|
|
colorPack_MAGENTA_YELLOW_CYAN,
|
|
colorPack_LIME_CYAN_MAGENTA,
|
|
colorPack_RED_ORANGE_PINK,
|
|
colorPack_PURPLE_BLUE_CYAN,
|
|
colorPack_GREEN_CYAN_BLUE,
|
|
colorPack_YELLOW_PURPLE_ORANGE,
|
|
colorPack_PINK_LIME_PURPLE
|
|
};
|
|
|
|
const COLOR_PACK colorPack_grad_blueish PROGMEM = { 3, { CRGB::Blue, CRGB::Cyan, CRGB::Green } };
|
|
const COLOR_PACK colorPack_grad_greenish PROGMEM = { 3, { CRGB::Green, CRGB::Lime, CRGB::Cyan } };
|
|
const COLOR_PACK colorPack_grad_redish PROGMEM = { 3, { CRGB::Red, CRGB::Magenta, CRGB::Pink } };
|
|
const COLOR_PACK colorPack_grad_violetish PROGMEM = { 3, { CRGB::Purple, CRGB::Magenta, CRGB::Violet } };
|
|
const COLOR_PACK colorPack_grad_yellowish PROGMEM = { 3, { CRGB::OrangeRed, CRGB::DarkOrange, CRGB::Yellow } };
|
|
|
|
|
|
const COLOR_PACK gradient_colorPack[] PROGMEM = {
|
|
colorPack_grad_blueish,
|
|
colorPack_grad_greenish,
|
|
colorPack_grad_redish,
|
|
colorPack_grad_violetish,
|
|
colorPack_grad_yellowish
|
|
};
|
|
|
|
|
|
|
|
// Single Colors
|
|
const COLOR_PACK colorPack_Single_Red PROGMEM = { 1, { CRGB::Red } };
|
|
const COLOR_PACK colorPack_Single_Orange PROGMEM = { 1, { CRGB::OrangeRed } };
|
|
const COLOR_PACK colorPack_Single_Yellow PROGMEM = { 1, { CRGB::Yellow } };
|
|
const COLOR_PACK colorPack_Single_Green PROGMEM = { 1, { CRGB::Green } };
|
|
const COLOR_PACK colorPack_Single_Cyan PROGMEM = { 1, { CRGB::Cyan } };
|
|
const COLOR_PACK colorPack_Single_Blue PROGMEM = { 1, { CRGB::Blue } };
|
|
const COLOR_PACK colorPack_Single_Viloet PROGMEM = { 1, { CRGB::DarkViolet } };
|
|
const COLOR_PACK colorPack_Single_Magenta PROGMEM = { 1, { CRGB::Magenta } };
|
|
const COLOR_PACK colorPack_Single_White PROGMEM = { 1, { CRGB::White } };
|
|
|
|
// 9 Single Color Packs
|
|
const COLOR_PACK single_colorPacks[] PROGMEM = {
|
|
colorPack_Single_White,
|
|
colorPack_Single_Red,
|
|
colorPack_Single_Orange,
|
|
colorPack_Single_Yellow,
|
|
colorPack_Single_Green,
|
|
colorPack_Single_Cyan,
|
|
colorPack_Single_Blue,
|
|
colorPack_Single_Magenta,
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// Dashes
|
|
//const COLOR_PACK colorPack_RAINBOW_Dashes PROGMEM = { 14, { CRGB::Red, CRGB::Black, CRGB::OrangeRed, CRGB::Black, CRGB::Yellow, CRGB::Black, CRGB::Green, CRGB::Black, CRGB::Blue, CRGB::Black, CRGB::BlueViolet, CRGB::Black, CRGB::MediumVioletRed, CRGB::Black } };
|
|
const COLOR_PACK colorPack_RedBlack PROGMEM = { 2, { CRGB::Red, CRGB::Black } };
|
|
const COLOR_PACK colorPack_OrangeBlack PROGMEM = { 2, { CRGB::DarkOrange, CRGB::Black } };
|
|
const COLOR_PACK colorPack_YellowBlack PROGMEM = { 2, { CRGB::Yellow, CRGB::Black } };
|
|
const COLOR_PACK colorPack_GreenBlack PROGMEM = { 2, { CRGB::Green, CRGB::Black } };
|
|
const COLOR_PACK colorPack_CyanBlack PROGMEM = { 2, { CRGB::Cyan, CRGB::Black } };
|
|
const COLOR_PACK colorPack_BlueBlack PROGMEM = { 2, { CRGB::Blue, CRGB::Black } };
|
|
const COLOR_PACK colorPack_IndigoBlack PROGMEM = { 2, { CRGB::Indigo, CRGB::Black } };
|
|
const COLOR_PACK colorPack_VioletBlack PROGMEM = { 2, { CRGB::MediumVioletRed, CRGB::Black } };
|
|
const COLOR_PACK colorPack_WhiteBlack PROGMEM = { 2, { CRGB::White, CRGB::Black } };
|
|
|
|
const COLOR_PACK dashes_ColorPacks[] PROGMEM = {
|
|
colorPack_RedBlack,
|
|
colorPack_OrangeBlack,
|
|
colorPack_YellowBlack,
|
|
colorPack_GreenBlack,
|
|
colorPack_BlueBlack,
|
|
colorPack_IndigoBlack,
|
|
colorPack_VioletBlack,
|
|
colorPack_WhiteBlack
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
void Create_Red_Yellow_Violet_Palette(CRGBPalette16& customPalette);
|
|
|
|
|