FastLED 3.9.15
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 118 of file rgbw.cpp.hpp.

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

Referenced by rgb_2_rgbw().

+ Here is the caller graph for this function: