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

◆ setExclusiveDriver() [1/2]

template<fl::Bus B>
void CFastLED::setExclusiveDriver ( )
inline

Register a single driver at a priority above the platform default (compile-time TU-linking variant).

Post-#2428 the default build does NOT auto-register every driver — only the platform-default driver TU links (via the legacy clockless controller's Phase 5b pre-bind). This template provides the opt-in path to add another driver and have it win priority dispatch.

Naming BusTraits<B>::instancePtr() in the body is the ODR-use that links the driver TU; the registration with the manager happens at kExclusivePriority (a value above any platform default).

Must be called before addLeds<> / FastLED.add() so newly- constructed channels see the override during driver resolution. Legacy clockless controllers that already pre-bound to the platform default via Phase 5b will continue to use that pre-bind.

Template Parameters
BBus identifier. The caller must have the per-driver bus_traits.h visible at the call site (which provides the BusTraits<B> specialization).

Definition at line 1408 of file FastLED.h.

1408 {
1410 }
LPD8806Controller WS2803Controller P9813Controller APA102Controller APA102ControllerHD APA102ControllerHD SK9822Controller fl::u8 fl::u8 fl::EOrder fl::u32 fl::Bus B
Definition FastLED.h:1069
void setExclusiveDriver() FL_NOEXCEPT
Register a single driver at a priority above the platform default and disable all others (compile-tim...
Definition manager.h:322
ChannelManager & channelManager()
Get the global ChannelManager singleton instance.

References B, fl::channelManager(), FL_NOEXCEPT, and fl::ChannelManager::setExclusiveDriver().

+ Here is the call graph for this function: