|
FastLED 3.10.6
|
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 addLeds<>() controller's fl::SlimBridgeController registration). 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 addLeds<>() controllers route through fl::SlimBridgeController<...>, whose driver is fixed at compile time by its DriverTraits template parameter and registered with ChannelManager in the constructor – this template does not rewrite already-constructed controllers.
| B | Bus 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 1644 of file FastLED.h.
References fl::channelManager(), FL_NO_EXCEPT, and fl::ChannelManager::setExclusiveDriver().
Here is the call graph for this function: