Component: RGB LED WS2811 / WS2812 / APA106 (LEDs)

From Flowcode Help
Jump to navigationJump to search
Author Matrix TSL
Version 1.5
Category LEDs


RGB LED WS2811 / WS2812 / APA106 component

A simple chained RGB LED controller IC allowing multiple LEDs to be controlled using a serial data stream. Compatible with the WS2811, WS2812, WS2812B, APA104 and APA106 Type Controller ICs. Allows RGB LEDs to be driven with full 24-bit colour depth. Allows single chains, 2D arrays and 3D cube formations to be simulated. Requires a high speed microcontroller to generate the critical timings to drive the device.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_LED_WS2811.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_LED_WS2811.fcfx

Detailed description

No detailed description exists yet for this component

Examples

No additional examples






Macro reference

Delay_T0H

Fc9-comp-macro.png Delay_T0H
 
Fc9-void-icon.png - VOID Return


Delay_T0L

Fc9-comp-macro.png Delay_T0L
 
Fc9-void-icon.png - VOID Return


Delay_T1H

Fc9-comp-macro.png Delay_T1H
 
Fc9-void-icon.png - VOID Return


Delay_T1L

Fc9-comp-macro.png Delay_T1L
 
Fc9-void-icon.png - VOID Return


DrawCuboid3D

Fc9-comp-macro.png DrawCuboid3D
Draws a basic 3D cuboid onto the LEDs 
Fc9-u8-icon.png - BYTE X1
Start X pixel coordinate 
Fc9-u8-icon.png - BYTE Y1
Start Y pixel coordinate 
Fc9-u8-icon.png - BYTE Z1
Start Z pixel coordinate 
Fc9-u8-icon.png - BYTE X2
End X pixel coordinate 
Fc9-u8-icon.png - BYTE Y2
End Y pixel coordinate 
Fc9-u8-icon.png - BYTE Z2
End Z pixel coordinate 
Fc9-u8-icon.png - BYTE DrawStyle
Sets the draw style - 0=Soild, 1=Edge, 2=Corners 
Fc9-u8-icon.png - BYTE R
Red Colour Channel 
Fc9-u8-icon.png - BYTE G
Green Colour Channel 
Fc9-u8-icon.png - BYTE B
White Colour Channel 
Fc9-void-icon.png - VOID Return


DrawLine2D

Fc9-comp-macro.png DrawLine2D
Draws a line on a 2D array of LEDs 
Fc9-u16-icon.png - UINT X1
Start X Coordinate 
Fc9-u16-icon.png - UINT Y1
Start Y Coordinate 
Fc9-u16-icon.png - UINT X2
End X Coordinate 
Fc9-u16-icon.png - UINT Y2
End Y Coordinate 
Fc9-u8-icon.png - BYTE R
Red colour channel 
Fc9-u8-icon.png - BYTE G
Green colour channel 
Fc9-u8-icon.png - BYTE B
Blue colour channel 
Fc9-void-icon.png - VOID Return


DrawLine3D

Fc9-comp-macro.png DrawLine3D
Draws a line on a 3D array of LEDs 
Fc9-u16-icon.png - UINT X1
Start X Coordinate 
Fc9-u16-icon.png - UINT Y1
Start Y Coordinate 
Fc9-u16-icon.png - UINT Z1
Start Z Coordinate 
Fc9-u16-icon.png - UINT X2
End X Coordinate 
Fc9-u16-icon.png - UINT Y2
End Y Coordinate 
Fc9-u16-icon.png - UINT Z2
End Z Coordinate 
Fc9-u8-icon.png - BYTE R
Red Colour Channel 
Fc9-u8-icon.png - BYTE G
Green Colour Channel 
Fc9-u8-icon.png - BYTE B
Blue Colour Channel 
Fc9-void-icon.png - VOID Return


DrawRectangle2D

Fc9-comp-macro.png DrawRectangle2D
Draws a basic 2D rectangle onto the LEDs 
Fc9-u8-icon.png - BYTE X1
 
Fc9-u8-icon.png - BYTE Y1
 
Fc9-u8-icon.png - BYTE X2
 
Fc9-u8-icon.png - BYTE Y2
 
Fc9-u8-icon.png - BYTE DrawStyle
Sets the draw style - 0=Soild, 1=Edge, 2=Corners 
Fc9-u8-icon.png - BYTE R
 
Fc9-u8-icon.png - BYTE G
 
Fc9-u8-icon.png - BYTE B
 
Fc9-void-icon.png - VOID Return


GetLEDColour

Fc9-comp-macro.png GetLEDColour
Sets the colour of a single LED in RAM as a 1D array. 
Fc9-u16-icon.png - UINT LED
LED to change the colour / Range: 0 to (LED Count - 1) 
Fc9-u8-icon.png - BYTE ColIdx
0 = Red, 1 = Green, 2 = Blue 
Fc9-u8-icon.png - BYTE Return


GetLEDIndex2D

Fc9-comp-macro.png GetLEDIndex2D
Sets the index of a single LED in RAM as a 2D array. 
Fc9-u16-icon.png - UINT X
LED Column to change the colour / Range: 0 to (LED Column - 1) 
Fc9-u16-icon.png - UINT Y
LED Row to change the colour / Range: 0 to (LED Row - 1) 
Fc9-u16-icon.png - UINT Return


GetLEDIndex3D

Fc9-comp-macro.png GetLEDIndex3D
Gets the index of a single LED in RAM as a 3D array. 
Fc9-u16-icon.png - UINT X
LED Column to change the colour / Range: 0 to (LED Column - 1) 
Fc9-u16-icon.png - UINT Y
LED Row to change the colour / Range: 0 to (LED Row - 1) 
Fc9-u16-icon.png - UINT Z
LED Layer to change the colour / Range: 0 to (LED Layer - 1) 
Fc9-u16-icon.png - UINT Return


Initialise

Fc9-comp-macro.png Initialise
Inisialises the RGB colour RAM to 0,0,0 = LED Off and clocks out the data to initialise all the LED ICs in the chain. 
Fc9-void-icon.png - VOID Return


OutputHigh

Fc9-comp-macro.png OutputHigh
 
Fc9-void-icon.png - VOID Return


OutputLow

Fc9-comp-macro.png OutputLow
 
Fc9-void-icon.png - VOID Return


Refresh

Fc9-comp-macro.png Refresh
Clocks out the current colour data to the LEDs from the values stored in RAM 
Fc9-void-icon.png - VOID Return


SetAllLEDColour

Fc9-comp-macro.png SetAllLEDColour
Sets the colour of all the LEDs in RAM 
Fc9-u8-icon.png - BYTE R
Red Colour Channel 
Fc9-u8-icon.png - BYTE G
Green Colour Channel 
Fc9-u8-icon.png - BYTE B
Blue Colour Channel 
Fc9-void-icon.png - VOID Return


SetBrightness

Fc9-comp-macro.png SetBrightness
Allows the output colour brightness of the LEDs to be scaled down. For example to save current usage or to reduce brightness in dark environments.  
Fc9-f32-icon.png - FLOAT Scaler
Range: 0.0 to 1.0 Default: 1.0, 0 = Off, 0.5 = Half Brightness, 1.0 = Full Brightness 
Fc9-void-icon.png - VOID Return


SetBrightnessByte

Fc9-comp-macro.png SetBrightnessByte
Allows the output colour brightness of the LEDs to be scaled down. For example to save current usage or to reduce brightness in dark environments.  
Fc9-u8-icon.png - BYTE Scaler
Range: 0 to 255 Default: 255, 0 = Off, 128 = Half Brightness, 255 = Full Brightness 
Fc9-void-icon.png - VOID Return


SetLEDColour

Fc9-comp-macro.png SetLEDColour
Sets the colour of a single LED in RAM as a 1D array. 
Fc9-u16-icon.png - UINT LED
LED to change the colour / Range: 0 to (LED Count - 1) 
Fc9-u8-icon.png - BYTE R
Red Colour Channel 
Fc9-u8-icon.png - BYTE G
Green Colour Channel 
Fc9-u8-icon.png - BYTE B
Blue Colour Channel 
Fc9-void-icon.png - VOID Return


ShiftLEDs1D

Fc9-comp-macro.png ShiftLEDs1D
Shifts the LED colours in 1D and wraps  
Fc9-u8-icon.png - BYTE Direction
0 = Forwards, 1 = Backwards 
Fc9-u8-icon.png - BYTE DataMode
0=ResetToZero, 1=WrapAroundDisplay, 2=Smear 
Fc9-void-icon.png - VOID Return


ShiftLEDs2D

Fc9-comp-macro.png ShiftLEDs2D
Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable*** 
Fc9-s16-icon.png - INT X
Number of pixels to shift the display -1 to 1 / 0 = No Shift 
Fc9-s16-icon.png - INT Y
Number of pixels to shift the display -1 to 1 / 0 = No Shift 
Fc9-u8-icon.png - BYTE DataMode
0=ResetToZero, 1=WrapAroundDisplay, 2=Smear 
Fc9-void-icon.png - VOID Return


ShiftLEDs3D

Fc9-comp-macro.png ShiftLEDs3D
Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable*** 
Fc9-s16-icon.png - INT X
Number of pixels to shift the display -1 to 1 / 0 = No Shift 
Fc9-s16-icon.png - INT Y
Number of pixels to shift the display -1 to 1 / 0 = No Shift 
Fc9-s16-icon.png - INT Z
Number of pixels to shift the display -1 to 1 / 0 = No Shift 
Fc9-u8-icon.png - BYTE DataMode
0=ResetToZero, 1=WrapAroundDisplay, 2=Smear 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png Controller IC
Fc9-type-16-icon.png LED Controller
Allows the user to select which LED controller IC they are using. The different controller ICs all work the same way but have different timing characteristics. 
Fc9-type-16-icon.png Data Order
Configures the order the colour data is clocked out to the LEDs 
Fc9-type-15-icon.png Reset Time (uS)
Blanking reset period to reset the LED shift chain and start from the beginning 
Fc9-type-15-icon.png T0H (uS)
Logic 0 high time in microseconds 
Fc9-type-15-icon.png T0L (uS)
Logic 0 low time in microseconds 
Fc9-type-15-icon.png T1H (uS)
Logic 1 high time in microseconds 
Fc9-type-15-icon.png T1L (uS)
Logic 1 low time in microseconds 
Fc9-conn-icon.png LED Properties
Fc9-type-16-icon.png LED Arrangement
Controls the arrangement of the LEDs on the panel. 1D - Creates a straight line of LEDs 2D - Creates an X by Y Array of LEDs 3D - Creates an X by Y by Z Array of LEDs 
Fc9-type-21-icon.png LED Count
Total number of LEDs in the design 
Fc9-type-16-icon.png Arrangement
LEDs will likely be arranged in one of two ways. Parallel = Each row of LEDs run from left to right - easier to address but harder to wire. Alternating = Each row of LEDs runs in an alternating direction - harder to address but easier to wire. 
Fc9-type-21-icon.png Column Count
Number of horizontal LEDs - X axis 
Fc9-type-15-icon.png Column Spacing
X Spacing Between LEDs on the Panel 
Fc9-type-21-icon.png Row Count
Number of vertical LEDs - Y axis 
Fc9-type-15-icon.png Row Spacing
Y Spacing Between LEDs on the Panel 
Fc9-type-21-icon.png Layer Count
Number of LED layers - Z axis 
Fc9-type-15-icon.png Layer Spacing
Z Spacing Between LEDs on the Panel 
Fc9-type-7-icon.png Flip X
Flips the X axis if the LEDs are wired from the right hand side of the display. 
Fc9-type-7-icon.png Flip Y
Flips the Y axis if the LEDs are wired from the under side of the display. 
Fc9-type-7-icon.png Flip Z
Flips the X axis if the LEDs are wired from the upper most side of the display. 
Fc9-conn-icon.png Connections
Fc9-type-5-icon.png Data Pin
LED Data Pin - Connected to the Data In pin of the first WS821x IC. 
Fc9-type-7-icon.png Invert Data