template<
fl::u8 DATA_PIN,
fl::u8 CLOCK_PIN,
EOrder RGB_ORDER = RGB, fl::u32 SPI_SPEED = DATA_RATE_MHZ(6)>
class APA102ControllerHD< DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED >
APA102 high definition controller class.
- Template Parameters
-
| DATA_PIN | the data pin for these LEDs |
| CLOCK_PIN | the clock pin for these LEDs |
| RGB_ORDER | the RGB ordering for these LEDs |
| SPI_SPEED | the clock divider used for these LEDs. Set using the DATA_RATE_MHZ / DATA_RATE_KHZ macros. Defaults to DATA_RATE_MHZ(24) |
Definition at line 286 of file apa102.h.
|
| | APA102ControllerHD () FL_NOEXCEPT=default |
| |
| | APA102ControllerHD (const APA102ControllerHD &) FL_NOEXCEPT=delete |
| |
| | APA102Controller () FL_NOEXCEPT |
| |
| virtual void | init () override |
| | Initialize the LED controller.
|
| |
| | CPixelLEDController () |
| |
| int | lanes () override |
| | Get the number of lanes of the Controller.
|
| |
| virtual void | showPixels (PixelController< RGB_ORDER, LANES, MASK > &pixels)=0 |
| | Send the LED data to the strip.
|
| |
| | 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.
|
| |
| CLEDController & | clearWhiteChannel () 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.
|
| |
| bool | isInList () const FL_NOEXCEPT |
| | Check if this controller is in the linked list.
|
| |
| const CRGB * | leds () const FL_NOEXCEPT |
| | Const pointer to the CRGB array for this controller.
|
| |
| CRGB * | leds () FL_NOEXCEPT |
| | Pointer to the CRGB array for this controller.
|
| |
| fl::span< CRGB > | ledsSpan () FL_NOEXCEPT |
| | Span of LEDs managed by this controller.
|
| |
| const CLEDController * | next () const FL_NOEXCEPT |
| | Get the next controller in the linked list after this one (const version).
|
| |
| CLEDController * | next () FL_NOEXCEPT |
| | Get the next controller in the linked list after this one.
|
| |
| CRGB & | operator[] (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.
|
| |
| CLEDController & | setCorrection (CRGB correction) FL_NOEXCEPT |
| | The color corrction to use for this controller, expressed as a CRGB object.
|
| |
| CLEDController & | setCorrection (LEDColorCorrection correction) FL_NOEXCEPT |
| | The color corrction to use for this controller, expressed as a CRGB object.
|
| |
| CLEDController & | setDither (fl::u8 ditherMode=BINARY_DITHER) FL_NOEXCEPT |
| | Set the dithering mode for this controller to use.
|
| |
| void | setEnabled (bool enabled) FL_NOEXCEPT |
| |
| CLEDController & | setLeds (CRGB *data, int nLeds) FL_NOEXCEPT |
| | Set the default array of LEDs to be used by this controller.
|
| |
| CLEDController & | setLeds (fl::span< CRGB > leds) FL_NOEXCEPT |
| | Set the default array of LEDs to be used by this controller (span version)
|
| |
| CLEDController & | setRgbw (const Rgbw &arg=RgbwDefault::value()) FL_NOEXCEPT |
| |
| CLEDController & | setRgbww (const Rgbww &arg=RgbwwDefault::value()) FL_NOEXCEPT |
| | Configure this channel for 5-channel RGBWW (RGB + warm-W + cool-W) output.
|
| |
| CLEDController & | setScreenMap (const fl::ScreenMap &map) FL_NOEXCEPT |
| |
| CLEDController & | setScreenMap (const fl::XYMap &map, float diameter=-1.f) FL_NOEXCEPT |
| |
| CLEDController & | setScreenMap (fl::u16 width, fl::u16 height, float diameter=-1.f) FL_NOEXCEPT |
| |
| CLEDController & | setTemperature (ColorTemperature temperature) FL_NOEXCEPT |
| | Set the color temperature, aka white point, for this controller.
|
| |
| CLEDController & | setTemperature (CRGB temperature) FL_NOEXCEPT |
| | Set the color temperature, aka white point, for this controller.
|
| |
| 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 constexpr size_t | calculateBytes (size_t num_leds) |
| | Calculate total byte count for APA102 protocol Used for quad-SPI buffer pre-allocation.
|
| |
| static constexpr fl::u8 | getPaddingByte () |
| | Get the protocol-safe padding byte for APA102 Used for quad-SPI lane padding when strips have different lengths.
|
| |
| static fl::span< const fl::u8 > | getPaddingLEDFrame () |
| | Get padding LED frame for synchronized latching in quad-SPI Returns a black LED frame to prepend to shorter strips, ensuring all strips finish transmitting simultaneously for synchronized updates.
|
| |
| static constexpr size_t | getPaddingLEDFrameSize () |
| | Get size of padding LED frame in bytes.
|
| |
| static CLEDController * | head () 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>)
|
| |
| static const int | LANES_VALUE = LANES |
| | The number of lanes for this controller.
|
| |
| static const fl::u32 | MASK_VALUE = MASK |
| | The mask for the lanes for this controller.
|
| |
| static const EOrder | RGB_ORDER_VALUE = RGB_ORDER |
| | The RGB ordering for this controller.
|
| |
| enum class | RegistrationMode { AutoRegister
, DeferRegister
} |
| | Registration mode for constructor. More...
|
| |
| virtual void | showPixels (PixelController< RGB_ORDER > &pixels) override |
| | Send the LED data to the strip.
|
| |
| | CPixelLEDController (RegistrationMode mode) |
| | Protected constructor with registration mode.
|
| |
| virtual void | show (const CRGB *data, int nLeds, fl::u8 brightness) override |
| | 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) override |
| | Set all the LEDs on the controller to a given color.
|
| |
| | CLEDController (RegistrationMode mode) FL_NOEXCEPT |
| | Protected constructor with registration mode.
|
| |
| bool | mEnabled = true |
| |
| fl::span< CRGB > | mLeds |
| | span of LED data used by this controller
|
| |
| CLEDController * | mPNext = nullptr |
| | pointer to the next LED controller in the linked list
|
| |
| ChannelOptions | mSettings |
| | Optional channel settings (correction, temperature, dither, rgbw, affinity)
|
| |
| static CLEDController * | mPHead = nullptr |
| | pointer to the first LED controller in the linked list
|
| |
| static CLEDController * | mPTail = nullptr |
| | pointer to the last LED controller in the linked list
|
| |