FastLED 3.10.6
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 162 of file slim_spi_bridge_controller.h.

162 {
163#if defined(FASTLED_DISABLE_DYNAMIC_DRIVER) && FASTLED_DISABLE_DYNAMIC_DRIVER
164 return {};
165#else
166 // Build busKey only when we actually need it (kBus != AUTO).
168 if (kBus != Bus::AUTO) {
170 }
171
174
175#if FASTLED_LOG_RUNTIME_ENABLED
176 if (!driver && !mBusWarned) {
177 FL_ERROR("SlimSpiBridgeController: no compatible driver found for bus '%s' - "
178 "cannot transmit", busKey.c_str());
179 mBusWarned = true;
180 }
181#endif // FASTLED_LOG_RUNTIME_ENABLED
182 return driver;
183#endif // !FASTLED_DISABLE_DYNAMIC_DRIVER
184 }
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:372
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::basic_string::c_str(), 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: