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

◆ loadAndScaleRGBWW()

void fl::PixelIterator::loadAndScaleRGBWW ( u8 * b0_out,
u8 * b1_out,
u8 * b2_out,
u8 * b3_out,
u8 * b4_out )
inline

Definition at line 376 of file pixel_iterator.h.

377 {
378 if (mLoadRawPremixed != nullptr) {
379 if (mRgbwwConvert != nullptr) {
380 u8 raw[3];
381 u8 premix[3];
383 mRgbwwConvert(mRgbww, raw, premix, mWireOrder, b0_out, b1_out, b2_out,
384 b3_out, b4_out);
385 return;
386 }
387 // Not installed: only an inactive Rgbww can reach here, and
388 // rgb_2_rgbww(kRGBWWInvalid) emits zeros on all five channels.
389 *b0_out = *b1_out = *b2_out = *b3_out = *b4_out = 0;
390 return;
391 }
392#if defined(FL_IS_AVR)
393 if (mLoadAndScaleRGBWWUnordered != nullptr) {
394 u8 c[3];
395 u8 ww = 0;
396 u8 wc = 0;
397 mLoadAndScaleRGBWWUnordered(mPixelController, mRgbww, &c[0], &c[1], &c[2], &ww, &wc);
398 rgbww_partial_reorder(mRgbww.w_placement, c[mOrder[0]], c[mOrder[1]], c[mOrder[2]], ww, wc,
399 b0_out, b1_out, b2_out, b3_out, b4_out);
400 return;
401 }
402#endif
403 mLoadAndScaleRGBWW(mPixelController, mRgbww, b0_out, b1_out, b2_out, b3_out, b4_out);
404 }
loadAndScaleRGBWWUnorderedFunction mLoadAndScaleRGBWWUnordered
loadRawPremixedFunction mLoadRawPremixed
detail::RgbwwConvertFn mRgbwwConvert
loadAndScaleRGBWWFunction mLoadAndScaleRGBWW
unsigned char u8
Definition stdint.h:131
void rgbww_partial_reorder(EOrderWW ww_placement, u8 b0, u8 b1, u8 b2, u8 ww, u8 wc, u8 *out_b0, u8 *out_b1, u8 *out_b2, u8 *out_b3, u8 *out_b4) FL_NO_EXCEPT
Dispatch RGB->RGBWW for a given mode.

References fl::FL_NO_EXCEPT, mLoadAndScaleRGBWW, mLoadAndScaleRGBWWUnordered, mLoadRawPremixed, mOrder, mPixelController, mRgbww, mRgbwwConvert, mWireOrder, and fl::rgbww_partial_reorder().

+ Here is the call graph for this function: