Treehopper C# API
ILedDriver Interface Reference

Represents an LedDriver More...

Inheritance diagram for ILedDriver:
IFlushable Dm632 LedDriver LedShiftRegister GpioLedDriver< TDigitalOutPin > Ht16k33 Is31fl3218 Max7219 PwmLedDriver< TPwm > Tm1650

Public Member Functions

void LedStateChanged (Led led)
 This is called by the LEDs to force the driver to update the LED state More...
 
void LedBrightnessChanged (Led led)
 This is called by the LEDs to force the driver to update the LED brightness More...
 
Task Clear ()
 Clear (turn off) all LEDs More...
 
Task FlushAsync (bool force=false)
 Flush changed data to the port expander More...
 

Properties

bool HasGlobalBrightnessControl [get]
 Gets or sets whether this controller supports global brightness control. More...
 
bool HasIndividualBrightnessControl [get]
 Gets or sets whether this controller's LEDs have individual brightness control (through PWM or otherwise). More...
 
double Brightness [get, set]
 The brightness, from 0.0-1.0, of the LED. More...
 
IList< LedLeds [get]
 The collection of LEDs that belong to this driver. More...
 
bool AutoFlush [get, set]
 Whether this interface should automatically flush new values or not More...
 
IFlushable Parent [get]
 Gets or sets the parent flushable device (if it exists); if this property is set by this driver, it is expected that flushing the parent will also flush this device More...
 

Detailed Description

Represents an LedDriver

Member Function Documentation

◆ LedStateChanged()

void LedStateChanged ( Led  led)

This is called by the LEDs to force the driver to update the LED state

Parameters
ledThe LED to update

◆ LedBrightnessChanged()

void LedBrightnessChanged ( Led  led)

This is called by the LEDs to force the driver to update the LED brightness

Parameters
ledThe LED to update

◆ Clear()

Task Clear ( )

Clear (turn off) all LEDs

Returns

Implemented in LedShiftRegister, LedDriver, and Dm632.

◆ FlushAsync()

Task FlushAsync ( bool  force = false)
inherited

Flush changed data to the port expander

Parameters
forcewhether to flush all data to the port expander, even if it doesn't appear to have been changed

Implemented in Max7219, Pca9685, LedDriver, BarGraph, ChainableShiftRegisterOutput, RgbLed, Tm1650, Ht16k33, GraphicDisplay, Apa102, Is31fl3218, LedDisplayCollection, GpioLedDriver< TDigitalOutPin >, and PwmLedDriver< TPwm >.

Property Documentation

◆ HasGlobalBrightnessControl

bool HasGlobalBrightnessControl
get

Gets or sets whether this controller supports global brightness control.

◆ HasIndividualBrightnessControl

bool HasIndividualBrightnessControl
get

Gets or sets whether this controller's LEDs have individual brightness control (through PWM or otherwise).

◆ Brightness

double Brightness
getset

The brightness, from 0.0-1.0, of the LED.

This property is meaningless when HasGlobalBrightnessControl is false

◆ Leds

IList<Led> Leds
get

The collection of LEDs that belong to this driver.

◆ AutoFlush

bool AutoFlush
getsetinherited

Whether this interface should automatically flush new values or not

◆ Parent

IFlushable Parent
getinherited

Gets or sets the parent flushable device (if it exists); if this property is set by this driver, it is expected that flushing the parent will also flush this device

This property is designed to make LED displays, which operate across groups of LEDs (and possibly groups of LED drivers), much more efficient to update. Many commonly-used LED drivers are shift registers that are chained together; since these cannot be individually addressed, any write to one must include a write to all the other ones. By properly setting the parent shift register in each chain, displays can optimize these updates.


The documentation for this interface was generated from the following file: