aboutsummaryrefslogtreecommitdiffstats
path: root/src/ws2812.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ws2812.h')
-rw-r--r--src/ws2812.h6
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;