FastLED 3.10.6
Loading...
Searching...
No Matches

◆ legacyClocklessBoundDriverName()

const char * legacyClocklessBoundDriverName ( )
inline

Name of the driver to which public legacy templates are bound.

AutoResearch selects Channel drivers at runtime, but the public CHIPSET<PIN> API chooses its controller at compile time. Return the known binding on ESP32 so the RPC layer can reject a request that would otherwise claim to test one driver while transmitting through another.

Definition at line 95 of file LegacyClocklessProxy.h.

95 {
96#if defined(FL_IS_ESP32)
97 #if defined(FL_ESP32_LEGACY_CLOCKLESS_USE_RMT) && \
98 FL_ESP32_LEGACY_CLOCKLESS_USE_RMT
99 return "RMT";
100 #elif FASTLED_ESP32_HAS_PARLIO && \
101 (defined(FL_IS_ESP_32P4) || defined(FL_IS_ESP_32C6) || \
102 defined(FL_IS_ESP_32H2) || defined(FL_IS_ESP_32C5))
103 return "PARLIO";
104 #elif FASTLED_ESP32_HAS_RMT && \
105 !defined(FASTLED_ESP32_USE_CLOCKLESS_SPI)
106 return "RMT";
107 #elif FASTLED_ESP32_HAS_CLOCKLESS_SPI
108 return "SPI";
109 #else
110 return "BIT_BANG";
111 #endif
112#elif defined(FL_IS_TEENSY_4X)
113 return "OBJECT_FLED";
114#elif defined(FL_IS_RP)
115 // RP legacy templates are slim bridges onto PIO0
116 // (BusTraits<Bus::FLEX_IO, 0>), or the M0 bit-bang engine when the PIO
117 // path is disabled (#4623).
118 #if FASTLED_RP2040_CLOCKLESS_PIO
119 return "PIO0";
120 #else
121 return "BIT_BANG";
122 #endif
123#else
124 return nullptr;
125#endif
126}