Component: RGB LED APA102C (LEDs): Difference between revisions
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 28: | Line 28: | ||
===DrawCuboid3D=== | ===DrawCuboid3D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DrawCuboid3D''' | ||
|- | |- | ||
| colspan="2" | Draws a basic 3D cuboid onto the LEDs | | colspan="2" | Draws a basic 3D cuboid onto the LEDs | ||
| Line 92: | Line 92: | ||
===DrawLine2D=== | ===DrawLine2D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DrawLine2D''' | ||
|- | |- | ||
| colspan="2" | Draws a line on a 2D array of LEDs | | colspan="2" | Draws a line on a 2D array of LEDs | ||
| Line 141: | Line 141: | ||
===DrawLine3D=== | ===DrawLine3D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DrawLine3D''' | ||
|- | |- | ||
| colspan="2" | Draws a line on a 3D array of LEDs | | colspan="2" | Draws a line on a 3D array of LEDs | ||
| Line 200: | Line 200: | ||
===DrawRectangle2D=== | ===DrawRectangle2D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DrawRectangle2D''' | ||
|- | |- | ||
| colspan="2" | Draws a basic 2D rectangle onto the LEDs | | colspan="2" | Draws a basic 2D rectangle onto the LEDs | ||
| Line 254: | Line 254: | ||
===GetLEDColour=== | ===GetLEDColour=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetLEDColour''' | ||
|- | |- | ||
| colspan="2" | Sets the colour of a single LED in RAM as a 1D array. | | colspan="2" | Sets the colour of a single LED in RAM as a 1D array. | ||
| Line 278: | Line 278: | ||
===GetLEDIndex2D=== | ===GetLEDIndex2D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetLEDIndex2D''' | ||
|- | |- | ||
| colspan="2" | Sets the index of a single LED in RAM as a 2D array. | | colspan="2" | Sets the index of a single LED in RAM as a 2D array. | ||
| Line 302: | Line 302: | ||
===GetLEDIndex3D=== | ===GetLEDIndex3D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetLEDIndex3D''' | ||
|- | |- | ||
| colspan="2" | Gets the index of a single LED in RAM as a 3D array. | | colspan="2" | Gets the index of a single LED in RAM as a 3D array. | ||
| Line 331: | Line 331: | ||
===Initialise=== | ===Initialise=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | 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. | | colspan="2" | 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. | ||
| Line 345: | Line 345: | ||
===Refresh=== | ===Refresh=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Refresh''' | ||
|- | |- | ||
| colspan="2" | Clocks out the current colour data to the LEDs from the values stored in RAM | | colspan="2" | Clocks out the current colour data to the LEDs from the values stored in RAM | ||
| Line 359: | Line 359: | ||
===SetAllLEDColour=== | ===SetAllLEDColour=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetAllLEDColour''' | ||
|- | |- | ||
| colspan="2" | Sets the colour of all the LEDs in RAM | | colspan="2" | Sets the colour of all the LEDs in RAM | ||
| Line 388: | Line 388: | ||
===SetBrightness=== | ===SetBrightness=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetBrightness''' | ||
|- | |- | ||
| colspan="2" | 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. | | colspan="2" | 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. | ||
| Line 407: | Line 407: | ||
===SetBrightnessByte=== | ===SetBrightnessByte=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetBrightnessByte''' | ||
|- | |- | ||
| colspan="2" | 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. | | colspan="2" | 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. | ||
| Line 426: | Line 426: | ||
===SetLEDColour=== | ===SetLEDColour=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetLEDColour''' | ||
|- | |- | ||
| colspan="2" | Sets the colour of a single LED in RAM as a 1D array. | | colspan="2" | Sets the colour of a single LED in RAM as a 1D array. | ||
| Line 460: | Line 460: | ||
===ShiftLEDs1D=== | ===ShiftLEDs1D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ShiftLEDs1D''' | ||
|- | |- | ||
| colspan="2" | Shifts the LED colours in 1D and wraps | | colspan="2" | Shifts the LED colours in 1D and wraps | ||
| Line 484: | Line 484: | ||
===ShiftLEDs2D=== | ===ShiftLEDs2D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ShiftLEDs2D''' | ||
|- | |- | ||
| colspan="2" | Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable*** | | colspan="2" | Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable*** | ||
| Line 513: | Line 513: | ||
===ShiftLEDs3D=== | ===ShiftLEDs3D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ShiftLEDs3D''' | ||
|- | |- | ||
| colspan="2" | Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable*** | | colspan="2" | Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable*** | ||
| Line 548: | Line 548: | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | LED Properties | ||
|- | |- | ||
|- | |- | ||
| Line 578: | Line 578: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Connections | ||
|- | |- | ||
|- | |- | ||
| Line 587: | Line 587: | ||
| colspan="2" | 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 | | colspan="2" | 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 | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Connection Properties | ||
|- | |- | ||
|- | |- | ||
| Line 616: | Line 616: | ||
| colspan="2" | SPI Clock Pin CLK - The Clock signal is driven by the SPI master. | | colspan="2" | SPI Clock Pin CLK - The Clock signal is driven by the SPI master. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Simulation | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:37, 13 July 2026
| 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.
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.
Macro reference
DrawCuboid3D
DrawLine2D
| DrawLine2D | |
| Draws a line on a 2D array of LEDs | |
| X1 | |
| Y1 | |
| X2 | |
| Y2 | |
| R | |
| G | |
| B | |
| Return | |
DrawLine3D
| DrawLine3D | |
| Draws a line on a 3D array of LEDs | |
| X1 | |
| Y1 | |
| Z1 | |
| X2 | |
| Y2 | |
| Z2 | |
| R | |
| G | |
| B | |
| Return | |
DrawRectangle2D
GetLEDColour
| GetLEDColour | |
| Sets the colour of a single LED in RAM as a 1D array. | |
| LED | |
| LED to change the colour / Range: 0 to (LED Count - 1) | |
| ColIdx | |
| 0 = R, 1 = G, 2 = B | |
| Return | |
GetLEDIndex2D
GetLEDIndex3D
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. | |
| Return | |
Refresh
| Refresh | |
| Clocks out the current colour data to the LEDs from the values stored in RAM | |
| Return | |
SetAllLEDColour
| SetAllLEDColour | |
| Sets the colour of all the LEDs in RAM | |
| R | |
| G | |
| B | |
| Return | |
SetBrightness
SetBrightnessByte
SetLEDColour
| SetLEDColour | |
| Sets the colour of a single LED in RAM as a 1D array. | |
| LED | |
| LED to change the colour / Range: 0 to (LED Count - 1) | |
| R | |
| G | |
| B | |
| Return | |
ShiftLEDs1D
| ShiftLEDs1D | |
| Shifts the LED colours in 1D and wraps | |
| Direction | |
| 0 = Forwards, 1 = Backwards | |
| DataMode | |
| 0=ResetToZero, 1=WrapAroundDisplay, 2=Smear | |
| Return | |
ShiftLEDs2D
ShiftLEDs3D
Property reference
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