LED channel for parallel output, pretty much a CPixelLEDController but with timing and pin information.
Provides access to LED channel functionality for driving LED strips. RGB_ORDER is set to RGB - reordering is handled internally by the Channel.
Inherits IChannel so ChannelEvents callbacks (and other consumers that only need to identify a channel) can take a non-template reference even after Channel<Bus, Chipset> becomes templated in Phase 3b. See #2428.
Definition at line 48 of file channel.h.
|
| virtual | ~Channel () FL_NOEXCEPT |
| | Destructor.
|
| |
| void | addToDrawList () |
| | Add this channel to the global controller draw list.
|
| |
| void | applyConfig (const ChannelConfig &config) |
| | Apply reconfigurable settings from a ChannelConfig.
|
| |
| CLEDController * | asController () |
| | Get pointer to base CLEDController for linked list traversal.
|
| |
| const CLEDController * | asController () const |
| |
| const ChipsetVariant & | getChipset () const |
| | Get the chipset configuration variant.
|
| |
| int | getClockPin () const |
| | Get the clock pin for this channel (SPI only, -1 for clockless)
|
| |
| CRGB | getCorrection () |
| | Get the color correction.
|
| |
| u8 | getDither () |
| | Get the dither mode.
|
| |
| fl::string | getEngineName () const |
| | Get the name of the currently bound driver (if any)
|
| |
| fl::optional< float > | getGamma () const |
| | Get gamma correction value.
|
| |
| int | getPin () const |
| | Get the pin number for this channel (data pin)
|
| |
| EOrder | getRgbOrder () const |
| | Get the RGB channel ordering.
|
| |
| Rgbw | getRgbw () const |
| | Get the RGBW conversion mode.
|
| |
| const fl::ScreenMap & | getScreenMap () const |
| | Get the current screen map.
|
| |
| CRGB | getTemperature () |
| | Get the color temperature.
|
| |
| const ChipsetTimingConfig & | getTiming () const |
| | Get the timing configuration for this channel (clockless only)
|
| |
| bool | hasScreenMap () const |
| | Check if screen map is configured.
|
| |
| i32 | id () const override |
| | Get the channel ID.
|
| |
| bool | isClockless () const |
| | Check if this is a clockless chipset.
|
| |
| bool | isInDrawList () const |
| | Check if this channel is in the controller draw list.
|
| |
| bool | isSpi () const |
| | Check if this is an SPI chipset.
|
| |
| fl::span< CRGB > | leds () |
| | Get the LED array as a span (non-const)
|
| |
| fl::span< const CRGB > | leds () const |
| | Get the LED array as a span (const)
|
| |
| const fl::string & | name () const override |
| | Get the channel name.
|
| |
| void | removeFromDrawList () |
| | Remove this channel from the global controller draw list.
|
| |
| Channel & | setGamma (float gamma) |
| | Set gamma correction value.
|
| |
| Channel & | setScreenMap (const fl::ScreenMap &map) |
| | Set screen map for JS canvas visualization.
|
| |
| Channel & | setScreenMap (const fl::XMap &map) |
| | Set screen map for 1D strip remapping from XMap.
|
| |
| Channel & | setScreenMap (const fl::XYMap &map, float diameter=-1.f) |
| | Set screen map for JS canvas visualization from XYMap.
|
| |
| Channel & | setScreenMap (fl::u16 width, fl::u16 height, float diameter=-1.f) |
| | Set screen map for JS canvas visualization from dimensions.
|
| |
| void | showLeds (u8 brightness=255) OVERRIDE_IF_NOT_AVR |
| | Show the LEDs with optional brightness scaling.
|
| |
| int | size () const override |
| | Get the number of LEDs in this channel.
|
| |
| | CPixelLEDController () |
| |
| int | lanes () override |
| | Get the number of lanes of the Controller.
|
| |
| virtual void | showPixels (PixelController< RGB_ORDER, 1, 0xFFFFFFFF > &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 | ~IChannel () FL_NOEXCEPT=default |
| |