FastLED 3.9.15
Loading...
Searching...
No Matches
fl::CLEDController Class Referenceabstract

Detailed Description

Definition at line 32 of file cled_controller.h.

#include <cled_controller.h>

+ Inheritance diagram for fl::CLEDController:
+ Collaboration diagram for fl::CLEDController:

Public Member Functions

 CLEDController () FL_NOEXCEPT
 Create an led controller object, add it to the chain of controllers.
 
VIRTUAL_IF_NOT_AVR ~CLEDController () FL_NOEXCEPT
 
void addToList () FL_NOEXCEPT
 Add this controller to the linked list.
 
virtual void * beginShowLeds (int size) FL_NOEXCEPT
 
void clearLedDataInternal (int nLeds=-1) FL_NOEXCEPT
 Zero out the LED data managed by this controller.
 
VIRTUAL_IF_NOT_AVR void clearLeds (int nLeds=-1) FL_NOEXCEPT
 Clear out/zero out the given number of LEDs.
 
CLEDControllerclearWhiteChannel () FL_NOEXCEPT
 Reset this channel to plain 3-channel RGB (clears any RGBW/RGBWW configuration).
 
virtual void endShowLeds (void *data) FL_NOEXCEPT
 
CRGB getAdjustment (fl::u8 scale) FL_NOEXCEPT
 Get the combined brightness/color adjustment for this controller.
 
ColorAdjustment getAdjustmentData (fl::u8 brightness) FL_NOEXCEPT
 
CRGB getCorrection () FL_NOEXCEPT
 Get the correction value used by this controller.
 
fl::u8 getDither () FL_NOEXCEPT
 Get the dithering option currently set for this controller.
 
bool getEnabled () FL_NOEXCEPT
 
virtual fl::u16 getMaxRefreshRate () const FL_NOEXCEPT
 Gets the maximum possible refresh rate of the strip.
 
Rgbw getRgbw () const FL_NOEXCEPT
 
Rgbww getRgbww () const FL_NOEXCEPT
 
CRGB getTemperature () FL_NOEXCEPT
 Get the color temperature, aka white point, for this controller.
 
virtual void init () FL_NOEXCEPT=0
 Initialize the LED controller.
 
bool isInList () const FL_NOEXCEPT
 Check if this controller is in the linked list.
 
virtual int lanes () FL_NOEXCEPT
 How many Lanes does this controller manage?
 
const CRGBleds () const FL_NOEXCEPT
 Const pointer to the CRGB array for this controller.
 
CRGBleds () FL_NOEXCEPT
 Pointer to the CRGB array for this controller.
 
fl::span< CRGBledsSpan () FL_NOEXCEPT
 Span of LEDs managed by this controller.
 
const CLEDControllernext () const FL_NOEXCEPT
 Get the next controller in the linked list after this one (const version).
 
CLEDControllernext () FL_NOEXCEPT
 Get the next controller in the linked list after this one.
 
CRGBoperator[] (int x) FL_NOEXCEPT
 Reference to the n'th LED managed by the controller.
 
void removeFromDrawList () FL_NOEXCEPT
 Remove this controller from the draw list.
 
CLEDControllersetCorrection (CRGB correction) FL_NOEXCEPT
 The color corrction to use for this controller, expressed as a CRGB object.
 
CLEDControllersetCorrection (LEDColorCorrection correction) FL_NOEXCEPT
 The color corrction to use for this controller, expressed as a CRGB object.
 
CLEDControllersetDither (fl::u8 ditherMode=BINARY_DITHER) FL_NOEXCEPT
 Set the dithering mode for this controller to use.
 
void setEnabled (bool enabled) FL_NOEXCEPT
 
CLEDControllersetLeds (CRGB *data, int nLeds) FL_NOEXCEPT
 Set the default array of LEDs to be used by this controller.
 
CLEDControllersetLeds (fl::span< CRGB > leds) FL_NOEXCEPT
 Set the default array of LEDs to be used by this controller (span version)
 
CLEDControllersetRgbw (const Rgbw &arg=RgbwDefault::value()) FL_NOEXCEPT
 
CLEDControllersetRgbww (const Rgbww &arg=RgbwwDefault::value()) FL_NOEXCEPT
 Configure this channel for 5-channel RGBWW (RGB + warm-W + cool-W) output.
 
CLEDControllersetScreenMap (const fl::ScreenMap &map) FL_NOEXCEPT
 
CLEDControllersetScreenMap (const fl::XYMap &map, float diameter=-1.f) FL_NOEXCEPT
 
CLEDControllersetScreenMap (fl::u16 width, fl::u16 height, float diameter=-1.f) FL_NOEXCEPT
 
CLEDControllersetTemperature (ColorTemperature temperature) FL_NOEXCEPT
 Set the color temperature, aka white point, for this controller.
 
CLEDControllersetTemperature (CRGB temperature) FL_NOEXCEPT
 Set the color temperature, aka white point, for this controller.
 
virtual void show (const CRGB *data, int nLeds, fl::u8 brightness) FL_NOEXCEPT=0
 Write the passed in RGB data out to the LEDs managed by this controller.
 
virtual void showColor (const CRGB &data, int nLeds, fl::u8 brightness) FL_NOEXCEPT=0
 Set all the LEDs to a given color.
 
void showColorInternal (const CRGB &data, fl::u8 brightness) FL_NOEXCEPT
 
void showColorInternal (const CRGB &data, int nLeds, fl::u8 brightness) FL_NOEXCEPT
 
void showInternal (const CRGB *data, int nLeds, fl::u8 brightness) FL_NOEXCEPT
 
VIRTUAL_IF_NOT_AVR void showLeds (fl::u8 brightness) FL_NOEXCEPT
 
void showLedsInternal (fl::u8 brightness) FL_NOEXCEPT
 Write the data to the LEDs managed by this controller.
 
virtual int size () const FL_NOEXCEPT
 How many LEDs does this controller manage?
 

Static Public Member Functions

static CLEDControllerhead () FL_NOEXCEPT
 Get the first LED controller in the linked list of controllers.
 
static void removeFromList (CLEDController *controller) FL_NOEXCEPT
 Remove a controller from the linked list.
 
template<typename Visitor>
static void visitControllers (Visitor &&visitor) FL_NOEXCEPT
 Visit all controllers in the linked list with a visitor The visitor must be a callable that accepts (const CLEDController*, fl::span<const CRGB>)
 

Protected Types

enum class  RegistrationMode { AutoRegister , DeferRegister }
 Registration mode for constructor. More...
 

Protected Member Functions

 CLEDController (RegistrationMode mode) FL_NOEXCEPT
 Protected constructor with registration mode.
 

Protected Attributes

bool mEnabled = true
 
fl::span< CRGBmLeds
 span of LED data used by this controller
 
CLEDControllermPNext = nullptr
 pointer to the next LED controller in the linked list
 
ChannelOptions mSettings
 Optional channel settings (correction, temperature, dither, rgbw, affinity)
 

Static Protected Attributes

static CLEDControllermPHead = nullptr
 pointer to the first LED controller in the linked list
 
static CLEDControllermPTail = nullptr
 pointer to the last LED controller in the linked list
 

Friends

class CFastLED
 

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