@ -107,6 +107,7 @@
*/
*/
# define WS2812_BIT(led, byte, bit) (24 * (led) + 8 * (byte) + (7 - (bit)))
# 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
* @ 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
* @ 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
* @ 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
* @ 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
* @ 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
* @ 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 ---------------------------------------------------- */
/* --- PRIVATE VARIABLES ---------------------------------------------------- */