FastLED 3.9.15
Loading...
Searching...
No Matches

◆ writeWS2812()

template<typename CONTAINER_UIN8_T>
void fl::PixelIterator::writeWS2812 ( CONTAINER_UIN8_T * out)
inline

Definition at line 202 of file pixel_iterator.h.

202 {
203 auto back_ins = fl::back_inserter(*out);
204 // (#2558) Dispatch order: RGBWW > RGBW > RGB. The variant migration
205 // makes these mutually exclusive — at most one alternative is active.
206 if (mRgbww.active()) {
207 auto range = makeScaledPixelRangeRGBWW(this);
208 encodeWS2812_RGBWW(range.first, range.second, back_ins);
209 } else if (mRgbw.active()) {
210 auto range = makeScaledPixelRangeRGBW(this);
211 encodeWS2812_RGBW(range.first, range.second, back_ins);
212 } else {
213 auto range = makeScaledPixelRangeRGB(this);
214 encodeWS2812_RGB(range.first, range.second, back_ins);
215 }
216 }
pair< detail::ScaledPixelIteratorRGB, detail::ScaledPixelIteratorRGB > makeScaledPixelRangeRGB(PixelIterator *pixels) FL_NOEXCEPT
Create RGB input iterator range from PixelIterator.
void encodeWS2812_RGBWW(InputIterator first, InputIterator last, OutputIterator out) FL_NOEXCEPT
Encode 5-byte pixel data in WS2812 format (issue #2558, RGBWW).
Definition ws2812.h:86
pair< detail::ScaledPixelIteratorRGBWW, detail::ScaledPixelIteratorRGBWW > makeScaledPixelRangeRGBWW(PixelIterator *pixels) FL_NOEXCEPT
Create RGBWW input iterator range from PixelIterator (issue #2558)
back_insert_iterator< Container > back_inserter(Container &c) FL_NOEXCEPT
Helper function to create a back_insert_iterator.
Definition iterator.h:139
void encodeWS2812_RGB(InputIterator first, InputIterator last, OutputIterator out) FL_NOEXCEPT
Encode 3-byte pixel data in WS2812 format.
Definition ws2812.h:35
pair< detail::ScaledPixelIteratorRGBW, detail::ScaledPixelIteratorRGBW > makeScaledPixelRangeRGBW(PixelIterator *pixels) FL_NOEXCEPT
Create RGBW input iterator range from PixelIterator.
void encodeWS2812_RGBW(InputIterator first, InputIterator last, OutputIterator out) FL_NOEXCEPT
Encode 4-byte pixel data in WS2812 format.
Definition ws2812.h:53

References fl::back_inserter(), fl::encodeWS2812_RGB(), fl::encodeWS2812_RGBW(), fl::encodeWS2812_RGBWW(), FL_NOEXCEPT, fl::makeScaledPixelRangeRGB(), fl::makeScaledPixelRangeRGBW(), fl::makeScaledPixelRangeRGBWW(), mRgbw, and mRgbww.

Referenced by fl::Channel::showPixels().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: