From c59f87a5d73a2d8a2085663ae329c4d7c75c83e3 Mon Sep 17 00:00:00 2001 From: Josh Hinnebusch Date: Sun, 6 Dec 2020 01:15:48 -0500 Subject: 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 Co-authored-by: hineybush Co-authored-by: Xelus22 Co-authored-by: Ryan --- docs/ws2812_driver.md | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'docs') diff --git a/docs/ws2812_driver.md b/docs/ws2812_driver.md index c1b96329e9..da5db01dbd 100644 --- a/docs/ws2812_driver.md +++ b/docs/ws2812_driver.md @@ -28,6 +28,17 @@ The default setting is 280 µs, which should work for most cases, but this can b #define WS2812_TRST_US 80 ``` +#### Byte Order + +Some variants of the WS2812 may have their color components in a different physical or logical order. For example, the WS2812B-2020 has physically swapped red and green LEDs, which causes the wrong color to be displayed, because the default order of the bytes sent over the wire is defined as GRB. +In this case, you can change the byte order by defining `WS2812_BYTE_ORDER` as one of the following values: + +| Byte order | Known devices | +|-----------------------------------|-------------------------------| +| `WS2812_BYTE_ORDER_GRB` (default) | Most WS2812's, SK6812, SK6805 | +| `WS2812_BYTE_ORDER_RGB` | WS2812B-2020 | + + ### Bitbang Default driver, the absence of configuration assumes this driver. To configure it, add this to your rules.mk: -- cgit v1.2.3