|
FastLED 3.9.15
|
SPI encoder configuration for LED protocols.
Unlike clockless protocols (WS2812, SK6812) which use precise nanosecond timing phases, SPI protocols are clock-based with explicit data and clock lines.
This configuration contains only the essential parameters - protocol type determines all encoding details (frame structure, brightness support, byte ordering, etc.).
Native SPI protocols (APA102, SK9822, HD108, WS2801, LPD6803, etc.)
Supported chipsets:
#include <spi.h>
Public Member Functions | |
| constexpr bool | operator!= (const SpiEncoder &other) const FL_NOEXCEPT |
| Inequality operator. | |
| constexpr bool | operator== (const SpiEncoder &other) const FL_NOEXCEPT |
| Equality operator (required for hash map key) | |
Static Public Member Functions | |
| static SpiEncoder | apa102 (u32 clock_hz=6000000) FL_NOEXCEPT |
| Create APA102 encoder configuration. | |
| static SpiEncoder | apa102HD (u32 clock_hz=6000000) FL_NOEXCEPT |
| Create APA102HD encoder configuration (per-LED brightness via HD gamma) | |
| static SpiEncoder | dotstar (u32 clock_hz=6000000) FL_NOEXCEPT |
| Create DOTSTAR encoder configuration (alias for APA102) | |
| static SpiEncoder | dotstarHD (u32 clock_hz=6000000) FL_NOEXCEPT |
| Create DOTSTARHD encoder configuration (alias for APA102HD) | |
| static SpiEncoder | hd107 (u32 clock_hz=40000000) FL_NOEXCEPT |
| Create HD107 encoder configuration. | |
| static SpiEncoder | hd107HD (u32 clock_hz=40000000) FL_NOEXCEPT |
| Create HD107HD encoder configuration. | |
| static SpiEncoder | hd108 (u32 clock_hz=25000000) FL_NOEXCEPT |
| Create HD108 encoder configuration. | |
| static SpiEncoder | lpd6803 (u32 clock_hz=12000000) FL_NOEXCEPT |
| Create LPD6803 encoder configuration. | |
| static SpiEncoder | lpd8806 (u32 clock_hz=12000000) FL_NOEXCEPT |
| Create LPD8806 encoder configuration. | |
| static SpiEncoder | p9813 (u32 clock_hz=10000000) FL_NOEXCEPT |
| Create P9813 encoder configuration. | |
| static SpiEncoder | sk9822 (u32 clock_hz=12000000) FL_NOEXCEPT |
| Create SK9822 encoder configuration. | |
| static SpiEncoder | sk9822HD (u32 clock_hz=12000000) FL_NOEXCEPT |
| Create SK9822HD encoder configuration. | |
| static SpiEncoder | sm16716 (u32 clock_hz=16000000) FL_NOEXCEPT |
| Create SM16716 encoder configuration. | |
| static SpiEncoder | spiEncoderForChipset (SpiChipset chipset, u32 speed_hz_override=0) FL_NOEXCEPT |
| Look up the default SpiEncoder for a given chipset. | |
| static SpiEncoder | ws2801 (u32 clock_hz=1000000) FL_NOEXCEPT |
| Create WS2801 encoder configuration. | |
| static SpiEncoder | ws2803 (u32 clock_hz=25000000) FL_NOEXCEPT |
| Create WS2803 encoder configuration. | |
Public Attributes | |
| SpiChipset | chipset |
| LED chipset type (determines all encoding behavior) | |
| u32 | clock_hz |
| SPI clock frequency in Hz (e.g., 6000000 for 6MHz) | |