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

Detailed Description

Base definition for an LED controller.

Pretty much the methods that every LED controller object will make available. If you want to pass LED controllers around to methods, make them references to this type, keeps your code saner. However, most people won't be seeing/using these objects directly at all.

Note
That the methods for eventual checking of background writing of data (I'm looking at you, Teensy 3.0 DMA controller!) are not yet implemented.

Definition at line 37 of file cled_controller.h.

#include <cled_controller.h>

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

Public Member Functions

 CLEDController ()
 Create an led controller object, add it to the chain of controllers.
 
VIRTUAL_IF_NOT_AVR ~CLEDController ()
 
virtual void * beginShowLeds (int size)
 
void clearLedDataInternal (int nLeds=-1)
 Zero out the LED data managed by this controller.
 
VIRTUAL_IF_NOT_AVR void clearLeds (int nLeds=-1)
 Clear out/zero out the given number of LEDs.
 
virtual void endShowLeds (void *data)
 
CRGB getAdjustment (fl::u8 scale)
 Get the combined brightness/color adjustment for this controller.
 
ColorAdjustment getAdjustmentData (fl::u8 brightness)
 
CRGB getCorrection ()
 Get the correction value used by this controller.
 
fl::u8 getDither ()
 Get the dithering option currently set for this controller.
 
bool getEnabled ()
 
virtual fl::u16 getMaxRefreshRate () const
 Gets the maximum possible refresh rate of the strip.
 
Rgbw getRgbw () const
 
CRGB getTemperature ()
 Get the color temperature, aka white point, for this controller.
 
virtual void init ()=0
 Initialize the LED controller.
 
virtual int lanes ()
 How many Lanes does this controller manage?
 
CRGBleds ()
 Pointer to the CRGB array for this controller.
 
CLEDControllernext ()
 Get the next controller in the linked list after this one.
 
CRGBoperator[] (int x)
 Reference to the n'th LED managed by the controller.
 
CLEDControllersetCorrection (CRGB correction)
 The color corrction to use for this controller, expressed as a CRGB object.
 
CLEDControllersetCorrection (LEDColorCorrection correction)
 The color corrction to use for this controller, expressed as a CRGB object.
 
CLEDControllersetDither (fl::u8 ditherMode=BINARY_DITHER)
 Set the dithering mode for this controller to use.
 
void setEnabled (bool enabled)
 
CLEDControllersetLeds (CRGB *data, int nLeds)
 Set the default array of LEDs to be used by this controller.
 
CLEDControllersetRgbw (const Rgbw &arg=RgbwDefault::value())
 
CLEDControllersetScreenMap (const fl::ScreenMap &map)
 
CLEDControllersetScreenMap (const fl::XYMap &map, float diameter=-1.f)
 
CLEDControllersetScreenMap (fl::u16 width, fl::u16 height, float diameter=-1.f)
 
CLEDControllersetTemperature (ColorTemperature temperature)
 Set the color temperature, aka white point, for this controller.
 
CLEDControllersetTemperature (CRGB temperature)
 Set the color temperature, aka white point, for this controller.
 
virtual void show (const struct CRGB *data, int nLeds, fl::u8 brightness)=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)=0
 Set all the LEDs to a given color.
 
void showColorInternal (const struct CRGB &data, fl::u8 brightness)
 
void showColorInternal (const struct CRGB &data, int nLeds, fl::u8 brightness)
 
void showInternal (const struct CRGB *data, int nLeds, fl::u8 brightness)
 
VIRTUAL_IF_NOT_AVR void showLeds (fl::u8 brightness)
 
void showLedsInternal (fl::u8 brightness)
 Write the data to the LEDs managed by this controller.
 
virtual int size ()
 How many LEDs does this controller manage?
 

Static Public Member Functions

static CLEDControllerhead ()
 Get the first LED controller in the linked list of controllers.
 

Public Attributes

Rgbw mRgbMode = RgbwInvalid::value()
 

Protected Attributes

CRGB m_ColorCorrection
 CRGB object representing the color correction to apply to the strip on show()
 
CRGB m_ColorTemperature
 CRGB object representing the color temperature to apply to the strip on show()
 
CRGBm_Data
 pointer to the LED data used by this controller
 
EDitherMode m_DitherMode
 the current dither mode of the controller
 
bool m_enabled = true
 
int m_nLeds
 the number of LEDs in the LED data array
 
CLEDControllerm_pNext
 pointer to the next LED controller in the linked list
 

Static Protected Attributes

static CLEDControllerm_pHead = NULL
 pointer to the first LED controller in the linked list
 
static CLEDControllerm_pTail = NULL
 pointer to the last LED controller in the linked list
 

Friends

class CFastLED
 

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