43template<Bus B,
typename Chipset>
48template<
typename Chipset>
67template<Bus B,
typename Chipset, fl::u8 Which = 0>
80 "TypedChannel: Bus does not support this Chipset family");
95 return Channel::create(erased);
109 return Channel::create(erased);
Portable compile-time identifiers for LED channel buses.
Per-driver traits keyed on fl::Bus.
ESP32-P4 Parallel IO (PARLIO) LED channel.
static ChannelPtr create(const ChannelConfigOf< Chipset > &cfg) FL_NO_EXCEPT
Construct a runtime Channel from a typed configuration.
TypedChannel() FL_NO_EXCEPT=delete
static ChannelPtr create(const ChannelConfig &cfg) FL_NO_EXCEPT
Overload accepting the (type-erased) non-template config.
static constexpr Bus kBus
The bus actually used after resolving Bus::AUTO.
FL_STATIC_ASSERT(BusSupports< kBus, Chipset, Which >::value, "TypedChannel: Bus does not support this Chipset family")
Compile-time linker keep-alive hook for a single fl::Bus.
FL_DISABLE_WARNING_PUSH unsigned char * B
Bus
Portable public bus selector.
InputGamut g FL_NO_EXCEPT
Base definition for an LED controller.
Primary template — intentionally undefined.
Portable compile-time assertion wrapper.
ChannelOptions options
Optional channel settings (correction, temperature, dither, rgbw, affinity)
Configuration for a single LED channel.
Strongly-typed channel configuration with compile-time chipset family.
static constexpr Bus value
static constexpr Bus value
Resolve a possibly-Bus::AUTO template argument to the concrete platform default for the given Chipset...