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 36 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 (uint8_t scale)
 Get the combined brightness/color adjustment for this controller.
 
ColorAdjustment getAdjustmentData (uint8_t brightness)
 
CRGB getCorrection ()
 Get the correction value used by this controller.
 
uint8_t getDither ()
 Get the dithering option currently set for this controller.
 
bool getEnabled ()
 
virtual uint16_t 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 (uint8_t 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)
 
CLEDControllersetScreenMap (uint16_t width, uint16_t height)
 
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, uint8_t brightness)=0
 Write the passed in RGB data out to the LEDs managed by this controller.
 
virtual void showColor (const CRGB &data, int nLeds, uint8_t brightness)=0
 Set all the LEDs to a given color.
 
void showColorInternal (const struct CRGB &data, int nLeds, uint8_t brightness)
 
void showColorInternal (const struct CRGB &data, uint8_t brightness)
 
void showInternal (const struct CRGB *data, int nLeds, uint8_t brightness)
 
VIRTUAL_IF_NOT_AVR void showLeds (uint8_t brightness)
 
void showLedsInternal (uint8_t 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: