FastLED 3.10.8
Loading...
Searching...
No Matches

◆ rgb_2_rgbw_white_boosted()

void fl::rgb_2_rgbw_white_boosted ( u16 w_color_temperature,
u8 r,
u8 g,
u8 b,
u8 r_scale,
u8 g_scale,
u8 b_scale,
u8 * out_r,
u8 * out_g,
u8 * out_b,
u8 * out_w )

Converts RGB to RGBW with a boosted white channel.

Definition at line 122 of file rgbw.cpp.hpp.

125 {
126 (void)w_color_temperature;
127 r = scale8(r, r_scale);
128 g = scale8(g, g_scale);
129 b = scale8(b, b_scale);
130 u8 min_component = rgbw_min3(r, g, b);
131 u8 w;
132 bool is_min = true;
133 if (min_component <= 84) {
134 w = 3 * min_component;
135 } else {
136 w = 255;
137 is_min = false;
138 }
139 u8 r_prime;
140 u8 g_prime;
141 u8 b_prime;
142 if (is_min) {
143 r_prime = r - min_component;
144 g_prime = g - min_component;
145 b_prime = b - min_component;
146 } else {
147 u8 w3 = divide_by_3(w);
148 r_prime = r - w3;
149 g_prime = g - w3;
150 b_prime = b - w3;
151 }
152
153 *out_r = r_prime;
154 *out_g = g_prime;
155 *out_b = b_prime;
156 *out_w = w;
157}
u8 divide_by_3(u8 x) FL_NO_EXCEPT
Definition rgbw.cpp.hpp:75
unsigned char u8
Definition stdint.h:131
InputGamut g
Definition rgbw.h:125

References FL_NO_EXCEPT, and g.

Referenced by rgb_2_rgbw().

+ Here is the caller graph for this function: