171 if (speed_hz_override != 0) {
179 return chipset == other.chipset &&
185 return !(*
this == other);
SpiChipset
LED chipsets with SPI interface (clocked protocols) Modern type-safe enum class - prefer this for new...
@ SM16716
SM16716 LED chipset.
@ LPD6803
LPD6803 LED chipset.
@ APA102HD
APA102 LED chipset with 5-bit gamma correction.
@ HD107
Same as APA102, but in turbo 40-mhz mode.
@ DOTSTARHD
APA102HD LED chipset alias.
@ SK9822HD
SK9822 LED chipset with 5-bit gamma correction.
@ SK9822
SK9822 LED chipset.
@ DOTSTAR
APA102 LED chipset alias.
@ P9813
P9813 LED chipset.
@ APA102
APA102 LED chipset.
@ HD108
16-bit variant of HD107, always gamma corrected. No SD (standard definition) option available - all H...
@ LPD8806
LPD8806 LED chipset.
@ WS2803
WS2803 LED chipset.
@ WS2801
WS2801 LED chipset.
@ HD107HD
Same as APA102HD, but in turbo 40-mhz mode.
Base definition for an LED controller.
SPI LED chipset enumeration.
u32 clock_hz
SPI clock frequency in Hz (e.g., 6000000 for 6MHz)
static SpiEncoder spiEncoderForChipset(SpiChipset chipset, u32 speed_hz_override=0) FL_NOEXCEPT
Look up the default SpiEncoder for a given chipset.
static SpiEncoder hd108(u32 clock_hz=25000000) FL_NOEXCEPT
Create HD108 encoder configuration.
constexpr bool operator==(const SpiEncoder &other) const FL_NOEXCEPT
Equality operator (required for hash map key)
static SpiEncoder ws2803(u32 clock_hz=25000000) FL_NOEXCEPT
Create WS2803 encoder configuration.
static SpiEncoder lpd8806(u32 clock_hz=12000000) FL_NOEXCEPT
Create LPD8806 encoder configuration.
SpiChipset chipset
LED chipset type (determines all encoding behavior)
static SpiEncoder apa102(u32 clock_hz=6000000) FL_NOEXCEPT
Create APA102 encoder configuration.
static SpiEncoder lpd6803(u32 clock_hz=12000000) FL_NOEXCEPT
Create LPD6803 encoder configuration.
static SpiEncoder hd107HD(u32 clock_hz=40000000) FL_NOEXCEPT
Create HD107HD encoder configuration.
static SpiEncoder dotstarHD(u32 clock_hz=6000000) FL_NOEXCEPT
Create DOTSTARHD encoder configuration (alias for APA102HD)
static SpiEncoder sk9822(u32 clock_hz=12000000) FL_NOEXCEPT
Create SK9822 encoder configuration.
static SpiEncoder sm16716(u32 clock_hz=16000000) FL_NOEXCEPT
Create SM16716 encoder configuration.
static SpiEncoder sk9822HD(u32 clock_hz=12000000) FL_NOEXCEPT
Create SK9822HD encoder configuration.
static SpiEncoder dotstar(u32 clock_hz=6000000) FL_NOEXCEPT
Create DOTSTAR encoder configuration (alias for APA102)
static SpiEncoder p9813(u32 clock_hz=10000000) FL_NOEXCEPT
Create P9813 encoder configuration.
static SpiEncoder ws2801(u32 clock_hz=1000000) FL_NOEXCEPT
Create WS2801 encoder configuration.
static SpiEncoder hd107(u32 clock_hz=40000000) FL_NOEXCEPT
Create HD107 encoder configuration.
constexpr bool operator!=(const SpiEncoder &other) const FL_NOEXCEPT
Inequality operator.
static SpiEncoder apa102HD(u32 clock_hz=6000000) FL_NOEXCEPT
Create APA102HD encoder configuration (per-LED brightness via HD gamma)
SPI encoder configuration for LED protocols.