diff options
Diffstat (limited to 'src/ws2812.h')
| -rw-r--r-- | src/ws2812.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ws2812.h b/src/ws2812.h index 3a0cf5c..8c878ff 100644 --- a/src/ws2812.h +++ b/src/ws2812.h @@ -5,9 +5,9 @@ #include <stdbool.h> -#define _WS2812_U8(v, s) (((uint32_t) (v) & 0xFF) << s) -#define WS2812_U32RGB(r, g, b) \ - (_WS2812_U8(b, 0) | _WS2812_U8(r, 8) | _WS2812_U8(g, 16)) +#define _WS2812_U8(v, si, so) ((((uint32_t) (v) >> si) & 0xFF) << so) +#define WS2812_U32RGB(rgb) (_WS2812_U8(rgb, 16, 0) \ + | _WS2812_U8(rgb, 0, 8) | _WS2812_U8(rgb, 8, 16)) struct ws2812 { PIO pio; |
