|
FastLED 3.10.8
|
UCS7604 LED chipset encoder implementation.
Free function encoder for UCS7604 chipsets. Supports multiple modes: 8-bit/16-bit color depth, RGB/RGBW output.
Protocol:
Definition in file ucs7604.h.
#include "fl/stl/stdint.h"#include "fl/math/ease.h"#include "fl/chipsets/encoders/pixel_iterator_adapters.h"#include "fl/stl/compiler_control.h"#include "fl/stl/noexcept.h"#include "fl/system/sketch_macros.h"
Include dependency graph for ucs7604.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | fl::UCS7604CurrentControl |
| UCS7604 current control structure with 4-bit fields for each channel. More... | |
Namespaces | |
| namespace | fl |
| Base definition for an LED controller. | |
Enumerations | |
| enum class | fl::UCS7604Mode { fl::UCS7604_MODE_8BIT_800KHZ = 0x03 , fl::UCS7604_MODE_16BIT_800KHZ = 0x8B , fl::UCS7604_MODE_16BIT_1600KHZ = 0x9B } |
| UCS7604 protocol configuration modes. More... | |
Functions | |
| template<typename OutputIterator> | |
| void | fl::buildUCS7604Preamble (OutputIterator out, UCS7604Mode mode, u8 r_current, u8 g_current, u8 b_current, u8 w_current) FL_NO_EXCEPT |
| Build UCS7604 preamble (15 bytes) | |
| template<typename OutputIterator> | |
| void | fl::encodeUCS7604 (PixelIterator &pixel_iter, size_t num_leds, OutputIterator out, UCS7604Mode mode, const UCS7604CurrentControl ¤t, bool is_rgbw, const Gamma8 *gamma=nullptr, bool wide_source=false) FL_NO_EXCEPT |
| Encode complete UCS7604 frame (preamble + padding + pixel data) | |
| template<typename InputIterator, typename OutputIterator> | |
| void | fl::encodeUCS7604_16bit_RGB (InputIterator first, InputIterator last, OutputIterator out, const Gamma8 &gamma) FL_NO_EXCEPT |
| Encode RGB pixels in UCS7604 16-bit format with gamma correction. | |
| template<typename OutputIterator> | |
| void | fl::encodeUCS7604_16bit_RGB_wide (PixelIterator &pixels, OutputIterator out) FL_NO_EXCEPT |
| Wide RGB straight off the iterator, with no adapter (P8, #4042 / #4326). | |
| template<typename InputIterator, typename OutputIterator> | |
| void | fl::encodeUCS7604_16bit_RGBW (InputIterator first, InputIterator last, OutputIterator out, const Gamma8 &gamma) FL_NO_EXCEPT |
| Encode RGBW pixels in UCS7604 16-bit format with gamma correction. | |
| template<typename InputIterator, typename OutputIterator> | |
| void | fl::encodeUCS7604_8bit_RGB (InputIterator first, InputIterator last, OutputIterator out) FL_NO_EXCEPT |
| Encode RGB pixels in UCS7604 8-bit format. | |
| template<typename InputIterator, typename OutputIterator> | |
| void | fl::encodeUCS7604_8bit_RGBW (InputIterator first, InputIterator last, OutputIterator out) FL_NO_EXCEPT |
| Encode RGBW pixels in UCS7604 8-bit format. | |
| size_t | fl::ucs7604BytesPerLed (UCS7604Mode mode, bool is_rgbw) FL_NO_EXCEPT |
| Wire bytes each LED contributes to a UCS7604 frame. | |
| size_t | fl::ucs7604FrameBytes (size_t num_leds, UCS7604Mode mode, bool is_rgbw) FL_NO_EXCEPT |
| Total wire bytes of a complete UCS7604 frame. | |