Skip to content

Added user-friendly support for commonly used colors #166

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions examples/colors/colors.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

using namespace NeoColors; // used for Adafruit default color values like MAROON, TEAL, YELLOW

// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1
#define PIN 13

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 60

// When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals.
// Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest
// example for more information on possible values.
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 50; // delay for half a second

void setup() {
// This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
// End of trinket special code

pixels.begin(); // This initializes the NeoPixel library.
}
void loop() {
pixels.setBrightness(50);
colorWipe(TEAL, delayval);
colorWipe(YELLOW, delayval);
colorWipe(pixels.Color(0, 0, 255), delayval); // blue

theaterChase(pixels.Color(255, 0, 0), delayval); // red
theaterChase(pixels.Color(0, 255, 0), delayval); // green
theaterChase(MAROON, delayval);
}

// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i = 0; i < pixels.numPixels(); i++) {
pixels.setPixelColor(i, c);
pixels.show();
delay(wait);
}
}

//Theatre-style crawling lights.
void theaterChase(uint32_t c, uint8_t wait) {
for (int j = 0; j < 10; j++) { //do 10 cycles of chasing
for (int q = 0; q < 3; q++) {
for (uint16_t i = 0; i < pixels.numPixels(); i += 3) {
pixels.setPixelColor(i + q, c); //turn every third pixel on
}
pixels.show();

delay(wait);

for (uint16_t i = 0; i < pixels.numPixels(); i=i+3) {
pixels.setPixelColor(i+q, 0); //turn every third pixel off
}
}
}
}
145 changes: 145 additions & 0 deletions hexadecimal_colors_to_strings.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
#include <stdint.h>

namespace NeoColors
{
const uint32_t BLACK=0x000000;
const uint32_t NAVY=0x000080;
const uint32_t DARKBLUE=0x00008B;
const uint32_t MEDIUMBLUE=0x0000CD;
const uint32_t BLUE=0x0000FF;
const uint32_t DARKGREEN=0x006400;
const uint32_t GREEN=0x008000;
const uint32_t TEAL=0x008080;
const uint32_t DARKCYAN=0x008B8B;
const uint32_t DEEPSKYBLUE=0x00BFFF;
const uint32_t DARKTURQUOISE=0x00CED1;
const uint32_t MEDIUMSPRINGGREEN=0x00FA9A;
const uint32_t LIME=0x00FF00;
const uint32_t SPRINGGREEN=0x00FF7F;
const uint32_t AQUA=0x00FFFF;
const uint32_t CYAN=0x00FFFF;
const uint32_t MIDNIGHTBLUE=0x191970;
const uint32_t DODGERBLUE=0x1E90FF;
const uint32_t LIGHTSEAGREEN=0x20B2AA;
const uint32_t FORESTGREEN=0x228B22;
const uint32_t SEAGREEN=0x2E8B57;
const uint32_t DARKSLATEGRAY=0x2F4F4F;
const uint32_t LIMEGREEN=0x32CD32;
const uint32_t MEDIUMSEAGREEN=0x3CB371;
const uint32_t TURQUOISE=0x40E0D0;
const uint32_t ROYALBLUE=0x4169E1;
const uint32_t STEELBLUE=0x4682B4;
const uint32_t DARKSLATEBLUE=0x483D8B;
const uint32_t MEDIUMTURQUOISE=0x48D1CC;
const uint32_t INDIGO =0x4B0082;
const uint32_t DARKOLIVEGREEN=0x556B2F;
const uint32_t CADETBLUE=0x5F9EA0;
const uint32_t CORNFLOWERBLUE=0x6495ED;
const uint32_t MEDIUMAQUAMARINE=0x66CDAA;
const uint32_t DIMGRAY=0x696969;
const uint32_t SLATEBLUE=0x6A5ACD;
const uint32_t OLIVEDRAB=0x6B8E23;
const uint32_t SLATEGRAY=0x708090;
const uint32_t LIGHTSLATEGRAY=0x778899;
const uint32_t MEDIUMSLATEBLUE=0x7B68EE;
const uint32_t LAWNGREEN=0x7CFC00;
const uint32_t CHARTREUSE=0x7FFF00;
const uint32_t AQUAMARINE=0x7FFFD4;
const uint32_t MAROON=0x800000;
const uint32_t PURPLE=0x800080;
const uint32_t OLIVE=0x808000;
const uint32_t GRAY=0x808080;
const uint32_t SKYBLUE=0x87CEEB;
const uint32_t LIGHTSKYBLUE=0x87CEFA;
const uint32_t BLUEVIOLET=0x8A2BE2;
const uint32_t DARKRED=0x8B0000;
const uint32_t DARKMAGENTA=0x8B008B;
const uint32_t SADDLEBROWN=0x8B4513;
const uint32_t DARKSEAGREEN=0x8FBC8F;
const uint32_t LIGHTGREEN=0x90EE90;
const uint32_t MEDIUMPURPLE=0x9370DB;
const uint32_t DARKVIOLET=0x9400D3;
const uint32_t PALEGREEN=0x98FB98;
const uint32_t DARKORCHID=0x9932CC;
const uint32_t YELLOWGREEN=0x9ACD32;
const uint32_t SIENNA=0xA0522D;
const uint32_t BROWN=0xA52A2A;
const uint32_t DARKGRAY=0xA9A9A9;
const uint32_t LIGHTBLUE=0xADD8E6;
const uint32_t GREENYELLOW=0xADFF2F;
const uint32_t PALETURQUOISE=0xAFEEEE;
const uint32_t LIGHTSTEELBLUE=0xB0C4DE;
const uint32_t POWDERBLUE=0xB0E0E6;
const uint32_t FIREBRICK=0xB22222;
const uint32_t DARKGOLDENROD=0xB8860B;
const uint32_t MEDIUMORCHID=0xBA55D3;
const uint32_t ROSYBROWN=0xBC8F8F;
const uint32_t DARKKHAKI=0xBDB76B;
const uint32_t SILVER=0xC0C0C0;
const uint32_t MEDIUMVIOLETRED=0xC71585;
const uint32_t INDIANRED =0xCD5C5C;
const uint32_t PERU=0xCD853F;
const uint32_t CHOCOLATE=0xD2691E;
const uint32_t TAN=0xD2B48C;
const uint32_t LIGHTGRAY=0xD3D3D3;
const uint32_t THISTLE=0xD8BFD8;
const uint32_t ORCHID=0xDA70D6;
const uint32_t GOLDENROD=0xDAA520;
const uint32_t PALEVIOLETRED=0xDB7093;
const uint32_t CRIMSON=0xDC143C;
const uint32_t GAINSBORO=0xDCDCDC;
const uint32_t PLUM=0xDDA0DD;
const uint32_t BURLYWOOD=0xDEB887;
const uint32_t LIGHTCYAN=0xE0FFFF;
const uint32_t LAVENDER=0xE6E6FA;
const uint32_t DARKSALMON=0xE9967A;
const uint32_t VIOLET=0xEE82EE;
const uint32_t PALEGOLDENROD=0xEEE8AA;
const uint32_t LIGHTCORAL=0xF08080;
const uint32_t KHAKI=0xF0E68C;
const uint32_t ALICEBLUE=0xF0F8FF;
const uint32_t HONEYDEW=0xF0FFF0;
const uint32_t AZURE=0xF0FFFF;
const uint32_t SANDYBROWN=0xF4A460;
const uint32_t WHEAT=0xF5DEB3;
const uint32_t BEIGE=0xF5F5DC;
const uint32_t WHITESMOKE=0xF5F5F5;
const uint32_t MINTCREAM=0xF5FFFA;
const uint32_t GHOSTWHITE=0xF8F8FF;
const uint32_t SALMON=0xFA8072;
const uint32_t ANTIQUEWHITE=0xFAEBD7;
const uint32_t LINEN=0xFAF0E6;
const uint32_t LIGHTGOLDENRODYELLOW=0xFAFAD2;
const uint32_t OLDLACE=0xFDF5E6;
const uint32_t RED=0xFF0000;
const uint32_t FUCHSIA=0xFF00FF;
const uint32_t MAGENTA=0xFF00FF;
const uint32_t DEEPPINK=0xFF1493;
const uint32_t ORANGERED=0xFF4500;
const uint32_t TOMATO=0xFF6347;
const uint32_t HOTPINK=0xFF69B4;
const uint32_t CORAL=0xFF7F50;
const uint32_t DARKORANGE=0xFF8C00;
const uint32_t LIGHTSALMON=0xFFA07A;
const uint32_t ORANGE=0xFFA500;
const uint32_t LIGHTPINK=0xFFB6C1;
const uint32_t PINK=0xFFC0CB;
const uint32_t GOLD=0xFFD700;
const uint32_t PEACHPUFF=0xFFDAB9;
const uint32_t NAVAJOWHITE=0xFFDEAD;
const uint32_t MOCCASIN=0xFFE4B5;
const uint32_t BISQUE=0xFFE4C4;
const uint32_t MISTYROSE=0xFFE4E1;
const uint32_t BLANCHEDALMOND=0xFFEBCD;
const uint32_t PAPAYAWHIP=0xFFEFD5;
const uint32_t LAVENDERBLUSH=0xFFF0F5;
const uint32_t SEASHELL=0xFFF5EE;
const uint32_t CORNSILK=0xFFF8DC;
const uint32_t LEMONCHIFFON=0xFFFACD;
const uint32_t FLORALWHITE=0xFFFAF0;
const uint32_t SNOW=0xFFFAFA;
const uint32_t YELLOW=0xFFFF00;
const uint32_t LIGHTYELLOW=0xFFFFE0;
const uint32_t IVORY=0xFFFFF0;
const uint32_t WHITE=0xFFFFFF;
}
142 changes: 142 additions & 0 deletions keywords.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,148 @@ getBrightness KEYWORD2
getPin KEYWORD2
canShow KEYWORD2

BLACK KEYWORD2
NAVY KEYWORD2
DARKBLUE KEYWORD2
MEDIUMBLUE KEYWORD2
BLUE KEYWORD2
DARKGREEN KEYWORD2
GREEN KEYWORD2
TEAL KEYWORD2
DARKCYAN KEYWORD2
DEEPSKYBLUE KEYWORD2
DARKTURQUOISE KEYWORD2
MEDIUMSPRINGGREEN KEYWORD2
LIME KEYWORD2
SPRINGGREEN KEYWORD2
AQUA KEYWORD2
CYAN KEYWORD2
MIDNIGHTBLUE KEYWORD2
DODGERBLUE KEYWORD2
LIGHTSEAGREEN KEYWORD2
FORESTGREEN KEYWORD2
SEAGREEN KEYWORD2
DARKSLATEGRAY KEYWORD2
LIMEGREEN KEYWORD2
MEDIUMSEAGREEN KEYWORD2
TURQUOISE KEYWORD2
ROYALBLUE KEYWORD2
STEELBLUE KEYWORD2
DARKSLATEBLUE KEYWORD2
MEDIUMTURQUOISE KEYWORD2
INDIGO KEYWORD2
DARKOLIVEGREEN KEYWORD2
CADETBLUE KEYWORD2
CORNFLOWERBLUE KEYWORD2
MEDIUMAQUAMARINE KEYWORD2
DIMGRAY KEYWORD2
SLATEBLUE KEYWORD2
OLIVEDRAB KEYWORD2
SLATEGRAY KEYWORD2
LIGHTSLATEGRAY KEYWORD2
MEDIUMSLATEBLUE KEYWORD2
LAWNGREEN KEYWORD2
CHARTREUSE KEYWORD2
AQUAMARINE KEYWORD2
MAROON KEYWORD2
PURPLE KEYWORD2
OLIVE KEYWORD2
GRAY KEYWORD2
SKYBLUE KEYWORD2
LIGHTSKYBLUE KEYWORD2
BLUEVIOLET KEYWORD2
DARKRED KEYWORD2
DARKMAGENTA KEYWORD2
SADDLEBROWN KEYWORD2
DARKSEAGREEN KEYWORD2
LIGHTGREEN KEYWORD2
MEDIUMPURPLE KEYWORD2
DARKVIOLET KEYWORD2
PALEGREEN KEYWORD2
DARKORCHID KEYWORD2
YELLOWGREEN KEYWORD2
SIENNA KEYWORD2
BROWN KEYWORD2
DARKGRAY KEYWORD2
LIGHTBLUE KEYWORD2
GREENYELLOW KEYWORD2
PALETURQUOISE KEYWORD2
LIGHTSTEELBLUE KEYWORD2
POWDERBLUE KEYWORD2
FIREBRICK KEYWORD2
DARKGOLDENROD KEYWORD2
MEDIUMORCHID KEYWORD2
ROSYBROWN KEYWORD2
DARKKHAKI KEYWORD2
SILVER KEYWORD2
MEDIUMVIOLETRED KEYWORD2
INDIANRED KEYWORD2
PERU KEYWORD2
CHOCOLATE KEYWORD2
TAN KEYWORD2
LIGHTGRAY KEYWORD2
THISTLE KEYWORD2
ORCHID KEYWORD2
GOLDENROD KEYWORD2
PALEVIOLETRED KEYWORD2
CRIMSON KEYWORD2
GAINSBORO KEYWORD2
PLUM KEYWORD2
BURLYWOOD KEYWORD2
LIGHTCYAN KEYWORD2
LAVENDER KEYWORD2
DARKSALMON KEYWORD2
VIOLET KEYWORD2
PALEGOLDENROD KEYWORD2
LIGHTCORAL KEYWORD2
KHAKI KEYWORD2
ALICEBLUE KEYWORD2
HONEYDEW KEYWORD2
AZURE KEYWORD2
SANDYBROWN KEYWORD2
WHEAT KEYWORD2
BEIGE KEYWORD2
WHITESMOKE KEYWORD2
MINTCREAM KEYWORD2
GHOSTWHITE KEYWORD2
SALMON KEYWORD2
ANTIQUEWHITE KEYWORD2
LINEN KEYWORD2
LIGHTGOLDENRODYELLOW KEYWORD2
OLDLACE KEYWORD2
RED KEYWORD2
FUCHSIA KEYWORD2
MAGENTA KEYWORD2
DEEPPINK KEYWORD2
ORANGERED KEYWORD2
TOMATO KEYWORD2
HOTPINK KEYWORD2
CORAL KEYWORD2
DARKORANGE KEYWORD2
LIGHTSALMON KEYWORD2
ORANGE KEYWORD2
LIGHTPINK KEYWORD2
PINK KEYWORD2
GOLD KEYWORD2
PEACHPUFF KEYWORD2
NAVAJOWHITE KEYWORD2
MOCCASIN KEYWORD2
BISQUE KEYWORD2
MISTYROSE KEYWORD2
BLANCHEDALMOND KEYWORD2
PAPAYAWHIP KEYWORD2
LAVENDERBLUSH KEYWORD2
SEASHELL KEYWORD2
CORNSILK KEYWORD2
LEMONCHIFFON KEYWORD2
FLORALWHITE KEYWORD2
SNOW KEYWORD2
YELLOW KEYWORD2
LIGHTYELLOW KEYWORD2
IVORY KEYWORD2
WHITE KEYWORD2



#######################################
# Constants
Expand Down