Author
|
Matrix TSL
|
Version
|
2.0
|
Category
|
LEDs
|
RGB LED APA102C component
A simple chained RGB LED controller IC allowing multiple LEDs to be controlled using a serial data stream. Allows RGB LEDs to be driven with full 24-bit colour depth. Allows single chains, 2D arrays and 3D cube formations to be simulated. Supports Bit Banged or SPI peripheral based data modes.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_LED_APA102C.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_LED_APA102C.fcfx
Detailed description
No detailed description exists yet for this component
Examples
Here is an example that lights the LEDs up Red, Green and then Blue for a second. The program then goes into a loop where a colour is assigned to LED0 and then shifted through the other chained LEDs. the colour assigned to LED0 will slowly fade and be slightly randmised to allow some colour variation during operation.
APA102C Demo
Macro reference
DrawCuboid3D
|
DrawCuboid3D
|
Draws a basic 3D cuboid onto the LEDs
|
- BYTE
|
X1
|
|
- BYTE
|
Y1
|
|
- BYTE
|
Z1
|
|
- BYTE
|
X2
|
|
- BYTE
|
Y2
|
|
- BYTE
|
Z2
|
|
- BYTE
|
DrawStyle
|
Sets the draw style - 0=Soild, 1=Edge, 2=Corners
|
- BYTE
|
R
|
|
- BYTE
|
G
|
|
- BYTE
|
B
|
|
- VOID
|
Return
|
DrawLine2D
|
DrawLine2D
|
Draws a line on a 2D array of LEDs
|
- UINT
|
X1
|
|
- UINT
|
Y1
|
|
- UINT
|
X2
|
|
- UINT
|
Y2
|
|
- BYTE
|
R
|
|
- BYTE
|
G
|
|
- BYTE
|
B
|
|
- VOID
|
Return
|
DrawLine3D
|
DrawLine3D
|
Draws a line on a 3D array of LEDs
|
- UINT
|
X1
|
|
- UINT
|
Y1
|
|
- UINT
|
Z1
|
|
- UINT
|
X2
|
|
- UINT
|
Y2
|
|
- UINT
|
Z2
|
|
- BYTE
|
R
|
|
- BYTE
|
G
|
|
- BYTE
|
B
|
|
- VOID
|
Return
|
DrawRectangle2D
|
DrawRectangle2D
|
Draws a basic 2D rectangle onto the LEDs
|
- BYTE
|
X1
|
|
- BYTE
|
Y1
|
|
- BYTE
|
X2
|
|
- BYTE
|
Y2
|
|
- BYTE
|
DrawStyle
|
Sets the draw style - 0=Soild, 1=Edge, 2=Corners
|
- BYTE
|
R
|
|
- BYTE
|
G
|
|
- BYTE
|
B
|
|
- VOID
|
Return
|
GetLEDColour
|
GetLEDColour
|
Sets the colour of a single LED in RAM as a 1D array.
|
- UINT
|
LED
|
LED to change the colour / Range: 0 to (LED Count - 1)
|
- BYTE
|
ColIdx
|
0 = R, 1 = G, 2 = B
|
- BYTE
|
Return
|
GetLEDIndex2D
|
GetLEDIndex2D
|
Sets the index of a single LED in RAM as a 2D array.
|
- UINT
|
X
|
LED Column to change the colour / Range: 0 to (LED Column - 1)
|
- UINT
|
Y
|
LED Row to change the colour / Range: 0 to (LED Row - 1)
|
- UINT
|
Return
|
GetLEDIndex3D
|
GetLEDIndex3D
|
Gets the index of a single LED in RAM as a 3D array.
|
- UINT
|
X
|
LED Column to change the colour / Range: 0 to (LED Column - 1)
|
- UINT
|
Y
|
LED Row to change the colour / Range: 0 to (LED Row - 1)
|
- UINT
|
Z
|
LED Layer to change the colour / Range: 0 to (LED Layer - 1)
|
- UINT
|
Return
|
Initialise
|
Initialise
|
Inisialises the RGB colour RAM to 0,0,0 = LED Off and clocks out the data to initialise all the WS2801 ICs in the chain.
|
- VOID
|
Return
|
Refresh
|
Refresh
|
Clocks out the current colour data to the LEDs from the values stored in RAM
|
- VOID
|
Return
|
SetAllLEDColour
|
SetAllLEDColour
|
Sets the colour of all the LEDs in RAM
|
- BYTE
|
R
|
|
- BYTE
|
G
|
|
- BYTE
|
B
|
|
- VOID
|
Return
|
SetBrightness
|
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.
|
- FLOAT
|
Scaler
|
Range: 0.0 to 1.0 Default: 1.0, 0 = Off, 0.5 = Half Brightness, 1.0 = Full Brightness
|
- VOID
|
Return
|
SetBrightnessByte
|
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.
|
- BYTE
|
Scaler
|
Range: 0 to 255 Default: 255, 0 = Off, 128 = Half Brightness, 255 = Full Brightness
|
- VOID
|
Return
|
SetLEDColour
|
SetLEDColour
|
Sets the colour of a single LED in RAM as a 1D array.
|
- UINT
|
LED
|
LED to change the colour / Range: 0 to (LED Count - 1)
|
- BYTE
|
R
|
|
- BYTE
|
G
|
|
- BYTE
|
B
|
|
- VOID
|
Return
|
ShiftLEDs1D
|
ShiftLEDs1D
|
Shifts the LED colours in 1D and wraps
|
- BYTE
|
Direction
|
0 = Forwards, 1 = Backwards
|
- BYTE
|
DataMode
|
0=ResetToZero, 1=WrapAroundDisplay, 2=Smear
|
- VOID
|
Return
|
ShiftLEDs2D
|
ShiftLEDs2D
|
Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable***
|
- INT
|
X
|
Number of pixels to shift the display -1 to 1 / 0 = No Shift
|
- INT
|
Y
|
Number of pixels to shift the display -1 to 1 / 0 = No Shift
|
- BYTE
|
DataMode
|
0=ResetToZero, 1=WrapAroundDisplay, 2=Smear
|
- VOID
|
Return
|
ShiftLEDs3D
|
ShiftLEDs3D
|
Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable***
|
- INT
|
X
|
Number of pixels to shift the display -1 to 1 / 0 = No Shift
|
- INT
|
Y
|
Number of pixels to shift the display -1 to 1 / 0 = No Shift
|
- INT
|
Z
|
Number of pixels to shift the display -1 to 1 / 0 = No Shift
|
- BYTE
|
DataMode
|
0=ResetToZero, 1=WrapAroundDisplay, 2=Smear
|
- VOID
|
Return
|
Property reference
|
Properties
|
|
LED Properties
|
|
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
|
|
LED Count
|
Total number of LEDs in the design
|
|
Column Spacing
|
X Spacing Between LEDs on the Panel
|
|
LED Current Usage
|
|
|
Connections
|
|
Output Mode
|
Sets the output mode used to drive the data to the LEDs Bit Banged Mode = Allows Any I/O Pin but may be slower SPI Mode = Fixed SPI Peripheral Pins but may be faster - Note that the SPI MISO pin will not be available for general I/O
|
|
Connection Properties
|
|
Channel
|
SPI Channel selector
|
|
Prescale
|
Prescale option selector
|
|
MOSI
|
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode.
|
|
MISO
|
SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode.
|
|
CLK
|
SPI Clock Pin CLK - The Clock signal is driven by the SPI master.
|
|
Simulation
|
|
Scope Traces
|
Selects if the scope traces are automatically generated or not
|
|
Console Data
|
Selects if the console data is automatically generated or not
|
|
API
|
|