44 num_of_rgbw_pixels = (num_of_rgbw_pixels * 4 + 2) / 3;
45 uint32_t extra = num_of_rgbw_pixels % 3 ? 1 : 0;
46 num_of_rgbw_pixels += extra;
47 return num_of_rgbw_pixels;
85 uint8_t g, uint8_t b, uint8_t r_scale,
86 uint8_t g_scale, uint8_t b_scale,
87 uint8_t *out_r, uint8_t *out_g,
88 uint8_t *out_b, uint8_t *out_w);
104 uint8_t b, uint8_t r_scale, uint8_t g_scale,
105 uint8_t b_scale, uint8_t *out_r, uint8_t *out_g,
106 uint8_t *out_b, uint8_t *out_w);
117 uint8_t g, uint8_t b, uint8_t r_scale,
118 uint8_t g_scale, uint8_t b_scale, uint8_t *out_r,
119 uint8_t *out_g, uint8_t *out_b, uint8_t *out_w);
127 uint8_t g, uint8_t b, uint8_t r_scale,
128 uint8_t g_scale, uint8_t b_scale,
129 uint8_t *out_r, uint8_t *out_g, uint8_t *out_b,
134 uint8_t g, uint8_t b, uint8_t r_scale,
135 uint8_t g_scale, uint8_t b_scale, uint8_t *out_r,
136 uint8_t *out_g, uint8_t *out_b, uint8_t *out_w);
139 uint8_t g, uint8_t b, uint8_t r_scale,
140 uint8_t g_scale, uint8_t b_scale, uint8_t *out_r,
141 uint8_t *out_g, uint8_t *out_b, uint8_t *out_w);
150 uint8_t b, uint8_t r_scale, uint8_t g_scale, uint8_t b_scale,
151 uint8_t *out_r, uint8_t *out_g, uint8_t *out_b, uint8_t *out_w) {
156 g_scale, b_scale, out_r, out_g, out_b,
161 b_scale, out_r, out_g, out_b, out_w);
165 b_scale, out_r, out_g, out_b, out_w);
169 g_scale, b_scale, out_r, out_g, out_b, out_w);
173 b_scale, out_r, out_g, out_b, out_w);
177 b_scale, out_r, out_g, out_b, out_w);
181template <RGBW_MODE MODE>
183rgb_2_rgbw(uint16_t w_color_temperature, uint8_t r, uint8_t g, uint8_t b,
184 uint8_t r_scale, uint8_t g_scale, uint8_t b_scale, uint8_t *out_r,
185 uint8_t *out_g, uint8_t *out_b, uint8_t *out_w) {
187 rgb_2_rgbw(MODE, w_color_temperature, r, g, b, r_scale, g_scale, b_scale,
188 out_r, out_g, out_b, out_w);
198 uint8_t b2, uint8_t w, uint8_t *out_b0,
199 uint8_t *out_b1, uint8_t *out_b2, uint8_t *out_b3);
Defines color channel ordering enumerations in the fl namespace.
#define FASTLED_FORCE_INLINE
void(* rgb_2_rgbw_function)(uint16_t w_color_temperature, uint8_t r, uint8_t g, uint8_t b, uint8_t r_scale, uint8_t g_scale, uint8_t b_scale, uint8_t *out_r, uint8_t *out_g, uint8_t *out_b, uint8_t *out_w)
FASTLED_FORCE_INLINE void rgb_2_rgbw(RGBW_MODE mode, uint16_t w_color_temperature, uint8_t r, uint8_t g, uint8_t b, uint8_t r_scale, uint8_t g_scale, uint8_t b_scale, uint8_t *out_r, uint8_t *out_g, uint8_t *out_b, uint8_t *out_w)
Converts RGB to RGBW using one of the functions.
void rgb_2_rgbw_user_function(uint16_t w_color_temperature, uint8_t r, uint8_t g, uint8_t b, uint8_t r_scale, uint8_t g_scale, uint8_t b_scale, uint8_t *out_r, uint8_t *out_g, uint8_t *out_b, uint8_t *out_w)
void rgb_2_rgbw_exact(uint16_t w_color_temperature, uint8_t r, uint8_t g, uint8_t b, uint8_t r_scale, uint8_t g_scale, uint8_t b_scale, uint8_t *out_r, uint8_t *out_g, uint8_t *out_b, uint8_t *out_w)
Converts RGB to RGBW using a color transfer method from saturated color channels to white.
void rgb_2_rgbw_null_white_pixel(uint16_t w_color_temperature, uint8_t r, uint8_t g, uint8_t b, uint8_t r_scale, uint8_t g_scale, uint8_t b_scale, uint8_t *out_r, uint8_t *out_g, uint8_t *out_b, uint8_t *out_w)
Converts RGB to RGBW with the W channel set to black, always.
void rgb_2_rgbw_max_brightness(uint16_t w_color_temperature, uint8_t r, uint8_t g, uint8_t b, uint8_t r_scale, uint8_t g_scale, uint8_t b_scale, uint8_t *out_r, uint8_t *out_g, uint8_t *out_b, uint8_t *out_w)
The minimum brigthness of the RGB channels is used to set the W channel.
void rgb_2_rgbw_white_boosted(uint16_t w_color_temperature, uint8_t r, uint8_t g, uint8_t b, uint8_t r_scale, uint8_t g_scale, uint8_t b_scale, uint8_t *out_r, uint8_t *out_g, uint8_t *out_b, uint8_t *out_w)
Converts RGB to RGBW with a boosted white channel.
void rgbw_partial_reorder(EOrderW w_placement, uint8_t b0, uint8_t b1, uint8_t b2, uint8_t w, uint8_t *out_b0, uint8_t *out_b1, uint8_t *out_b2, uint8_t *out_b3)
void set_rgb_2_rgbw_function(rgb_2_rgbw_function func)
uint16_t white_color_temp
static uint32_t size_as_rgb(uint32_t num_of_rgbw_pixels)
Rgbw(uint16_t white_color_temp=fl::kRGBWDefaultColorTemp, fl::RGBW_MODE rgbw_mode=fl::kRGBWExactColors, fl::EOrderW _w_placement=WDefault)
FASTLED_FORCE_INLINE bool active() const