aboutsummaryrefslogtreecommitdiff
path: root/quantum/color.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/color.h')
-rw-r--r--quantum/color.h20
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
40typedef struct PACKED { 46typedef 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
46typedef cRGB RGB; 58typedef cRGB RGB;
47 59
48// WS2812 specific layout 60// WS2812 specific layout
49typedef struct PACKED { 61typedef 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