FastLED 3.10.8
Loading...
Searching...
No Matches

◆ resolveDriver()

template<fl::SpiChipset CHIPSET, EOrder RGB_ORDER, fl::Bus B, fl::u8 B_WHICH>
fl::shared_ptr< IChannelDriver > fl::SlimSpiBridgeController< CHIPSET, RGB_ORDER, B, B_WHICH >::resolveDriver ( )
inlineprivate

Resolve the driver for this frame.

Mirrors Channel::resolveDynamicDriver() (channel.cpp.hpp), including the FASTLED_DISABLE_DYNAMIC_DRIVER gate – this controller never pre-binds a driver, so that gate simply drops every frame here, matching Channel::showPixels()'s non-pre-bound else branch under the same flag.

Definition at line 160 of file slim_spi_bridge_controller.h.

160 {
161#if defined(FASTLED_DISABLE_DYNAMIC_DRIVER) && FASTLED_DISABLE_DYNAMIC_DRIVER
162 return {};
163#else
164 // Build busKey only when we actually need it (kBus != AUTO).
166 if (kBus != Bus::AUTO) {
168 }
169
172
173#if FASTLED_LOG_RUNTIME_ENABLED
174 if (!driver && !mBusWarned) {
175 FL_ERROR("SlimSpiBridgeController: no compatible driver found for bus '" << busKey << "' - cannot transmit");
176 mBusWarned = true;
177 }
178#endif // FASTLED_LOG_RUNTIME_ENABLED
179 return driver;
180#endif // !FASTLED_DISABLE_DYNAMIC_DRIVER
181 }
static ChannelManager & registry() FL_NO_EXCEPT
Get the singleton WITHOUT registering platform default drivers.
fl::shared_ptr< IChannelDriver > selectDriverForChannel(const ChannelDataPtr &data, const fl::string &affinity) FL_NO_EXCEPT
Select best driver for channel data (used by Channel::showPixels)
static constexpr Bus kBus
The bus actually used after resolving Bus::AUTO – mirrors TypedChannel<B, SpiChipsetConfig,...
Shared legacy addLeds<ESPIChipsets ...>() bridge controller over an IChannelDriver,...
static string from_literal(const char *literal) FL_NO_EXCEPT
#define FL_ERROR(...)
Definition log.h:373
const char * busDriverName(Bus b, fl::u8 which=0, bool spi=false) FL_NO_EXCEPT
Concrete ChannelManager driver name for a portable bus.
Definition bus.h:170

References fl::AUTO, fl::busDriverName(), FL_ERROR, fl::FL_NO_EXCEPT, fl::string::from_literal(), kBus, mData, fl::ChannelManager::registry(), and fl::ChannelManager::selectDriverForChannel().

Referenced by showPixels().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: