FastLED 3.10.9
Loading...
Searching...
No Matches

◆ busDriverName()

const char * fl::busDriverName ( Bus b,
fl::u8 which = 0,
bool spi = false )
inline

Concrete ChannelManager driver name for a portable bus.

Definition at line 186 of file bus.h.

186 {
187 switch (b) {
188 case Bus::FLEX_IO:
189#if defined(FL_IS_TEENSY_4X)
190 (void)spi;
191 return which == 0 ? "OBJECT_FLED" : "FLEX_IO";
192#elif defined(FL_IS_ESP8266)
193 // ESP8266 has no parallel-I/O bank; `Bus::FLEX_IO` names its native
194 // I2S output engine (#4943), matching ESP32's I2S naming.
195 (void)which;
196 (void)spi;
197 return "I2S";
198#elif defined(FL_IS_RP2040) || defined(FL_IS_RP2350)
199 (void)spi;
200 if (which == 0) return "PIO0";
201 if (which == 1) return "PIO1";
202 #if defined(FL_IS_RP2350)
203 if (which == 2) return "PIO2";
204 #endif
205 return "FLEX_IO_UNAVAILABLE";
206#elif defined(FL_IS_ESP32)
207#if FASTLED_HAS_PARLIO
208 (void)which;
209 (void)spi;
210 return "PARLIO";
211#elif FASTLED_HAS_LCD_SPI || FASTLED_HAS_LCD_CAM_CLOCKLESS
212 (void)which;
213 return spi ? "LCD_SPI" : "LCD_CLOCKLESS";
214#elif FASTLED_HAS_I2S_SPI || FASTLED_HAS_I2S_LED
215 (void)which;
216 return spi ? "I2S_SPI" : "I2S";
217#else
218 (void)which;
219 (void)spi;
220 return "FLEX_IO";
221#endif
222#else
223 (void)which;
224 (void)spi;
225 return "FLEX_IO";
226#endif
227 case Bus::AUTO:
228 case Bus::BIT_BANG:
229 case Bus::DUAL_SPI:
230 case Bus::QUAD_SPI:
231 case Bus::OCTAL_SPI:
232 case Bus::RMT:
233 (void)spi;
234 return busName(b, which);
235 case Bus::SPI:
236#if defined(FL_IS_RP2040) || defined(FL_IS_RP2350)
237 (void)spi;
238 return which == 0 ? "SPI0" : "SPI1";
239#else
240 (void)spi;
241 return busName(b, which);
242#endif
243 case Bus::UART:
244 (void)spi;
245#if defined(FL_IS_RP2040) || defined(FL_IS_RP2350)
246 return which == 0 ? "UART0" : "UART1";
247#elif defined(FL_IS_TEENSY_4X)
248 (void)which;
249 return "LPUART";
250#else
251 (void)which;
252 return "UART";
253#endif
254 }
255 return "";
256}
const char * busName(Bus b, fl::u8 which=0) FL_NO_EXCEPT
Definition bus.h:169
@ FLEX_IO
Definition bus.h:36
@ DUAL_SPI
Definition bus.h:32
@ QUAD_SPI
Definition bus.h:33
@ SPI
Definition bus.h:31
@ OCTAL_SPI
Definition bus.h:34
@ BIT_BANG
Definition bus.h:29
@ RMT
Definition bus.h:35
@ UART
Definition bus.h:30
@ AUTO
Definition bus.h:28

References AUTO, BIT_BANG, busName(), DUAL_SPI, FL_NO_EXCEPT, FLEX_IO, OCTAL_SPI, QUAD_SPI, RMT, SPI, and UART.

Referenced by fl::SlimSpiBridgeController< CHIPSET, RGB_ORDER, B, B_WHICH >::resolveDriver(), fl::Channel::resolveDynamicDriver(), and fl::ChannelManager::setExclusiveDriver().

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