|
@@ -107,6 +107,7 @@
|
|
|
*/
|
|
|
#define WS2812_BIT(led, byte, bit) (24 * (led) + 8 * (byte) + (7 - (bit)))
|
|
|
|
|
|
+#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB)
|
|
|
/**
|
|
|
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given red bit
|
|
|
*
|
|
@@ -117,7 +118,7 @@
|
|
|
*
|
|
|
* @return The bit index
|
|
|
*/
|
|
|
-#define WS2812_RED_BIT(led, bit) WS2812_BIT((led), 1, (bit))
|
|
|
+# define WS2812_RED_BIT(led, bit) WS2812_BIT((led), 1, (bit))
|
|
|
|
|
|
/**
|
|
|
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given green bit
|
|
@@ -129,7 +130,7 @@
|
|
|
*
|
|
|
* @return The bit index
|
|
|
*/
|
|
|
-#define WS2812_GREEN_BIT(led, bit) WS2812_BIT((led), 0, (bit))
|
|
|
+# define WS2812_GREEN_BIT(led, bit) WS2812_BIT((led), 0, (bit))
|
|
|
|
|
|
/**
|
|
|
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given blue bit
|
|
@@ -141,7 +142,45 @@
|
|
|
*
|
|
|
* @return The bit index
|
|
|
*/
|
|
|
-#define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 2, (bit))
|
|
|
+# define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 2, (bit))
|
|
|
+
|
|
|
+#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB)
|
|
|
+/**
|
|
|
+ * @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given red bit
|
|
|
+ *
|
|
|
+ * @note The red byte is the middle byte in the color packet
|
|
|
+ *
|
|
|
+ * @param[in] led: The led index [0, @ref RGBLED_NUM)
|
|
|
+ * @param[in] bit: The bit number [0, 7]
|
|
|
+ *
|
|
|
+ * @return The bit index
|
|
|
+ */
|
|
|
+# define WS2812_RED_BIT(led, bit) WS2812_BIT((led), 0, (bit))
|
|
|
+
|
|
|
+/**
|
|
|
+ * @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given green bit
|
|
|
+ *
|
|
|
+ * @note The red byte is the first byte in the color packet
|
|
|
+ *
|
|
|
+ * @param[in] led: The led index [0, @ref RGBLED_NUM)
|
|
|
+ * @param[in] bit: The bit number [0, 7]
|
|
|
+ *
|
|
|
+ * @return The bit index
|
|
|
+ */
|
|
|
+# define WS2812_GREEN_BIT(led, bit) WS2812_BIT((led), 1, (bit))
|
|
|
+
|
|
|
+/**
|
|
|
+ * @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given blue bit
|
|
|
+ *
|
|
|
+ * @note The red byte is the last byte in the color packet
|
|
|
+ *
|
|
|
+ * @param[in] led: The led index [0, @ref RGBLED_NUM)
|
|
|
+ * @param[in] bit: The bit index [0, 7]
|
|
|
+ *
|
|
|
+ * @return The bit index
|
|
|
+ */
|
|
|
+# define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 2, (bit))
|
|
|
+#endif
|
|
|
|
|
|
/* --- PRIVATE VARIABLES ---------------------------------------------------- */
|
|
|
|