20#if defined(FL_IS_TEENSY_4X)
21#define AUTORESEARCH_LEGACY_SUPPORTS_PIN_22 1
23#define AUTORESEARCH_LEGACY_SUPPORTS_PIN_22 0
39#if defined(FL_IS_ESP_32DEV)
40#define AUTORESEARCH_LEGACY_SUPPORTS_PIN_6 0
41#define AUTORESEARCH_LEGACY_SUPPORTS_PIN_7 0
42#define AUTORESEARCH_LEGACY_SUPPORTS_PIN_8 0
44#define AUTORESEARCH_LEGACY_SUPPORTS_PIN_6 1
45#define AUTORESEARCH_LEGACY_SUPPORTS_PIN_7 1
46#define AUTORESEARCH_LEGACY_SUPPORTS_PIN_8 1
65 if (name ==
"WS2812B" || name ==
"WS2812") {
69 if (name ==
"SK6812") {
73 if (name ==
"WS2814") {
77 if (name ==
"WS2818") {
96#if defined(FL_IS_ESP32)
97 #if defined(FL_ESP32_LEGACY_CLOCKLESS_USE_RMT) && \
98 FL_ESP32_LEGACY_CLOCKLESS_USE_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))
104 #elif FASTLED_ESP32_HAS_RMT && \
105 !defined(FASTLED_ESP32_USE_CLOCKLESS_SPI)
107 #elif FASTLED_ESP32_HAS_CLOCKLESS_SPI
112#elif defined(FL_IS_TEENSY_4X)
113 return "OBJECT_FLED";
114#elif defined(FL_IS_RP)
118 #if FASTLED_RP2040_CLOCKLESS_PIO
145 template<
typename Controller>
185#if AUTORESEARCH_LEGACY_SUPPORTS_PIN_6
188#if AUTORESEARCH_LEGACY_SUPPORTS_PIN_7
191#if AUTORESEARCH_LEGACY_SUPPORTS_PIN_8
194#if AUTORESEARCH_LEGACY_SUPPORTS_PIN_22
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_GLOBAL_CONSTRUCTORS CFastLED FastLED
Global LED strip management instance.
bool legacyClocklessChipsetFromName(const fl::string &name, LegacyClocklessChipset *out)
const char * legacyClocklessChipsetName(LegacyClocklessChipset chipset)
const char * legacyClocklessBoundDriverName()
Name of the driver to which public legacy templates are bound.
bool legacyClocklessChipsetHasAutomaticRgbw(LegacyClocklessChipset chipset)
fl::unique_ptr< CLEDController > create(CRGB *leds, int numLeds, LegacyClocklessChipset chipset, bool rgbw)
LegacyClocklessProxy(int pin, CRGB *leds, int numLeds, LegacyClocklessChipset chipset=LegacyClocklessChipset::WS2812B, bool rgbw=false)
fl::unique_ptr< CLEDController > createTyped(CRGB *leds, int numLeds, bool rgbw)
fl::unique_ptr< CLEDController > mController
LegacyClocklessProxy(const LegacyClocklessProxy &)=delete
bool valid() const
Check if the proxy was successfully created.
LegacyClocklessProxy & operator=(const LegacyClocklessProxy &)=delete
~LegacyClocklessProxy()=default
fl::enable_if<!fl::is_array< T >::value, unique_ptr< T > >::type make_unique(Args &&... args) FL_NO_EXCEPT