diff options
author | Josh Hinnebusch <joshhinnebusch@gmail.com> | 2020-12-06 01:15:48 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-06 17:15:48 +1100 |
commit | c59f87a5d73a2d8a2085663ae329c4d7c75c83e3 (patch) | |
tree | b1778e21ae0dd43261e79cbca5d2779a35b96627 /drivers/chibios/ws2812.c | |
parent | 08bf9f9e740a741d674585b5920e4c3a107825b9 (diff) | |
download | qmk_firmware-c59f87a5d73a2d8a2085663ae329c4d7c75c83e3.tar.gz qmk_firmware-c59f87a5d73a2d8a2085663ae329c4d7c75c83e3.zip |
add definition WS2812_BYTE_ORDER to fix RGB LED issues (#10184)
* add define for WS2812B-2020 to fix RGB issues
* update driver doc
* add WS2812_BYTE_ORDER definition to correct RGB byte issues
* add definition variable thing
* update per PR request
* update per PR reqs
* update per PR request
* inital changes
* move defines to color.h and add rgbw incase
* Update docs/ws2812_driver.md
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: hineybush <hineybushkeyboards@gmail.com>
Co-authored-by: Xelus22 <preyas22@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat (limited to 'drivers/chibios/ws2812.c')
-rw-r--r-- | drivers/chibios/ws2812.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/chibios/ws2812.c b/drivers/chibios/ws2812.c index 0440cac75..504fb4f07 100644 --- a/drivers/chibios/ws2812.c +++ b/drivers/chibios/ws2812.c | |||
@@ -89,9 +89,16 @@ void ws2812_setleds(LED_TYPE *ledarray, uint16_t leds) { | |||
89 | 89 | ||
90 | for (uint8_t i = 0; i < leds; i++) { | 90 | for (uint8_t i = 0; i < leds; i++) { |
91 | // WS2812 protocol dictates grb order | 91 | // WS2812 protocol dictates grb order |
92 | #if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) | ||
92 | sendByte(ledarray[i].g); | 93 | sendByte(ledarray[i].g); |
93 | sendByte(ledarray[i].r); | 94 | sendByte(ledarray[i].r); |
94 | sendByte(ledarray[i].b); | 95 | sendByte(ledarray[i].b); |
96 | #elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB) | ||
97 | sendByte(ledarray[i].r); | ||
98 | sendByte(ledarray[i].g); | ||
99 | sendByte(ledarray[i].b); | ||
100 | #endif | ||
101 | |||
95 | #ifdef RGBW | 102 | #ifdef RGBW |
96 | sendByte(ledarray[i].w); | 103 | sendByte(ledarray[i].w); |
97 | #endif | 104 | #endif |