diff options
Diffstat (limited to 'quantum')
| -rw-r--r-- | quantum/color.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/quantum/color.h b/quantum/color.h index 5c5a0f0eb..f0ee78275 100644 --- a/quantum/color.h +++ b/quantum/color.h | |||
| @@ -36,20 +36,38 @@ | |||
| 36 | # define LED_TYPE RGB | 36 | # define LED_TYPE RGB |
| 37 | #endif | 37 | #endif |
| 38 | 38 | ||
| 39 | // WS2812 specific layout | 39 | #define WS2812_BYTE_ORDER_RGB 0 |
| 40 | #define WS2812_BYTE_ORDER_GRB 1 | ||
| 41 | |||
| 42 | #ifndef WS2812_BYTE_ORDER | ||
| 43 | # define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB | ||
| 44 | #endif | ||
| 45 | |||
| 40 | typedef struct PACKED { | 46 | typedef struct PACKED { |
| 47 | #if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) | ||
| 41 | uint8_t g; | 48 | uint8_t g; |
| 42 | uint8_t r; | 49 | uint8_t r; |
| 43 | uint8_t b; | 50 | uint8_t b; |
| 51 | #elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB) | ||
| 52 | uint8_t r; | ||
| 53 | uint8_t g; | ||
| 54 | uint8_t b; | ||
| 55 | #endif | ||
| 44 | } cRGB; | 56 | } cRGB; |
| 45 | 57 | ||
| 46 | typedef cRGB RGB; | 58 | typedef cRGB RGB; |
| 47 | 59 | ||
| 48 | // WS2812 specific layout | 60 | // WS2812 specific layout |
| 49 | typedef struct PACKED { | 61 | typedef struct PACKED { |
| 62 | #if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) | ||
| 50 | uint8_t g; | 63 | uint8_t g; |
| 51 | uint8_t r; | 64 | uint8_t r; |
| 52 | uint8_t b; | 65 | uint8_t b; |
| 66 | #elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB) | ||
| 67 | uint8_t r; | ||
| 68 | uint8_t g; | ||
| 69 | uint8_t b; | ||
| 70 | #endif | ||
| 53 | uint8_t w; | 71 | uint8_t w; |
| 54 | } cRGBW; | 72 | } cRGBW; |
| 55 | 73 | ||
