FastLED 3.10.8
Loading...
Searching...
No Matches
LegacyClocklessProxy Class Reference

Detailed Description

Proxy that creates a legacy clockless controller from runtime inputs.

The legacy FastLED API requires compile-time template pin parameters: FastLED.addLeds<CHIPSET, PIN>(leds, numLeds)

This proxy uses a switch statement to dispatch supported AutoResearch legacy pin and chipset values to the corresponding template instantiation, enabling testing of the full legacy code path. Pins 0-8 are historical coverage pins. On Teensy 4.x, pin 22 is also included for the current ObjectFLED loopback wiring. Other platforms may mark pin 22 invalid at compile time, so avoid instantiating that template there.

Destructor deletes the controller, which on ESP32 (SKETCH_HAS_LARGE_MEMORY) automatically calls removeFromDrawList() via ~CLEDController().

Definition at line 142 of file LegacyClocklessProxy.h.

#include <LegacyClocklessProxy.h>

+ Collaboration diagram for LegacyClocklessProxy:

Public Member Functions

 LegacyClocklessProxy (const LegacyClocklessProxy &)=delete
 
 LegacyClocklessProxy (int pin, CRGB *leds, int numLeds, LegacyClocklessChipset chipset=LegacyClocklessChipset::WS2812B, bool rgbw=false)
 
 ~LegacyClocklessProxy ()=default
 
LegacyClocklessProxy & operator= (const LegacyClocklessProxy &)=delete
 
bool valid () const
 Check if the proxy was successfully created.
 

Private Member Functions

template<int PIN>
fl::unique_ptr< CLEDController > create (CRGB *leds, int numLeds, LegacyClocklessChipset chipset, bool rgbw)
 
template<typename Controller>
fl::unique_ptr< CLEDController > createTyped (CRGB *leds, int numLeds, bool rgbw)
 

Private Attributes

fl::unique_ptr< CLEDController > mController
 

The documentation for this class was generated from the following file: