FastLED 3.10.9
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 103 of file LegacyClocklessProxy.h.

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

Referenced by autoresearch::legacyAsyncProbe().

+ Here is the caller graph for this function: