diff options
author | Josh Hinnebusch <joshhinnebusch@gmail.com> | 2020-12-06 01:15:48 -0500 |
---|---|---|
committer | Drashna Jael're <drashna@live.com> | 2021-01-12 22:46:07 -0800 |
commit | 99d80b2acb71cf23e957bad9c25017befa6d8537 (patch) | |
tree | c085711123cc82cb5972e4fe4640a66f8b1c9544 /drivers/chibios/ws2812.c | |
parent | dc57b14a0a39a0169cb63bd00d5af1228458ca7a (diff) |
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 c2bec3fdc9..b5b02fdacd 100644 --- a/drivers/chibios/ws2812.c +++ b/drivers/chibios/ws2812.c @@ -89,9 +89,16 @@ void ws2812_setleds(LED_TYPE *ledarray, uint16_t leds) { for (uint8_t i = 0; i < leds; i++) { // WS2812 protocol dictates grb order +#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) sendByte(ledarray[i].g); sendByte(ledarray[i].r); sendByte(ledarray[i].b); +#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB) + sendByte(ledarray[i].r); + sendByte(ledarray[i].g); + sendByte(ledarray[i].b); +#endif + #ifdef RGBW sendByte(ledarray[i].w); #endif |