LED bus driver on any GPIO pin for addressable RGB LEDs (like NeoPixels or other WS2812 based LEDs)
Color.h@2:735bb1b9cfc2, 2017-06-14 (annotated)
- Committer:
- koengroener
- Date:
- Wed Jun 14 19:51:33 2017 +0000
- Revision:
- 2:735bb1b9cfc2
Updated documentation
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
koengroener | 2:735bb1b9cfc2 | 1 | #ifndef _COLOR_H_ |
koengroener | 2:735bb1b9cfc2 | 2 | #define _COLOR_H_ |
koengroener | 2:735bb1b9cfc2 | 3 | |
koengroener | 2:735bb1b9cfc2 | 4 | /** |
koengroener | 2:735bb1b9cfc2 | 5 | RGB Color |
koengroener | 2:735bb1b9cfc2 | 6 | */ |
koengroener | 2:735bb1b9cfc2 | 7 | struct Color { |
koengroener | 2:735bb1b9cfc2 | 8 | |
koengroener | 2:735bb1b9cfc2 | 9 | /** |
koengroener | 2:735bb1b9cfc2 | 10 | Constructor with rgb initializing |
koengroener | 2:735bb1b9cfc2 | 11 | |
koengroener | 2:735bb1b9cfc2 | 12 | @param r - the red byte |
koengroener | 2:735bb1b9cfc2 | 13 | @param g - the green byte |
koengroener | 2:735bb1b9cfc2 | 14 | @param b - the blue byte |
koengroener | 2:735bb1b9cfc2 | 15 | */ |
koengroener | 2:735bb1b9cfc2 | 16 | Color(uint8_t r, uint8_t g, uint8_t b) { |
koengroener | 2:735bb1b9cfc2 | 17 | red = r; |
koengroener | 2:735bb1b9cfc2 | 18 | green = g; |
koengroener | 2:735bb1b9cfc2 | 19 | blue = b; |
koengroener | 2:735bb1b9cfc2 | 20 | } |
koengroener | 2:735bb1b9cfc2 | 21 | |
koengroener | 2:735bb1b9cfc2 | 22 | /** |
koengroener | 2:735bb1b9cfc2 | 23 | Default constructor |
koengroener | 2:735bb1b9cfc2 | 24 | */ |
koengroener | 2:735bb1b9cfc2 | 25 | Color() { |
koengroener | 2:735bb1b9cfc2 | 26 | } |
koengroener | 2:735bb1b9cfc2 | 27 | |
koengroener | 2:735bb1b9cfc2 | 28 | /** |
koengroener | 2:735bb1b9cfc2 | 29 | Red byte |
koengroener | 2:735bb1b9cfc2 | 30 | */ |
koengroener | 2:735bb1b9cfc2 | 31 | uint8_t red; |
koengroener | 2:735bb1b9cfc2 | 32 | |
koengroener | 2:735bb1b9cfc2 | 33 | /** |
koengroener | 2:735bb1b9cfc2 | 34 | Green byte |
koengroener | 2:735bb1b9cfc2 | 35 | */ |
koengroener | 2:735bb1b9cfc2 | 36 | uint8_t green; |
koengroener | 2:735bb1b9cfc2 | 37 | |
koengroener | 2:735bb1b9cfc2 | 38 | /** |
koengroener | 2:735bb1b9cfc2 | 39 | Blue byte |
koengroener | 2:735bb1b9cfc2 | 40 | */ |
koengroener | 2:735bb1b9cfc2 | 41 | uint8_t blue; |
koengroener | 2:735bb1b9cfc2 | 42 | }; |
koengroener | 2:735bb1b9cfc2 | 43 | |
koengroener | 2:735bb1b9cfc2 | 44 | /** |
koengroener | 2:735bb1b9cfc2 | 45 | Order of r, g and b bytes |
koengroener | 2:735bb1b9cfc2 | 46 | */ |
koengroener | 2:735bb1b9cfc2 | 47 | enum ColorByteOrder { |
koengroener | 2:735bb1b9cfc2 | 48 | RGB, |
koengroener | 2:735bb1b9cfc2 | 49 | RBG, |
koengroener | 2:735bb1b9cfc2 | 50 | GRB, |
koengroener | 2:735bb1b9cfc2 | 51 | GBR, |
koengroener | 2:735bb1b9cfc2 | 52 | BRG, |
koengroener | 2:735bb1b9cfc2 | 53 | BGR, |
koengroener | 2:735bb1b9cfc2 | 54 | }; |
koengroener | 2:735bb1b9cfc2 | 55 | |
koengroener | 2:735bb1b9cfc2 | 56 | |
koengroener | 2:735bb1b9cfc2 | 57 | #endif |