Component: RGB LED APA102C (Outputs: LEDs)

From Flowcode Help
Jump to navigationJump to search


Author Matrix TSL
Version 2.0 (Release)
Category Outputs: LEDs


Image 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.

Examples

No additional examples


Downloadable macro reference

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.

Parameters

FLOAT Scaler
Range: 0.0 to 1.0 Default: 1.0, 0 = Off, 0.5 = Half Brightness, 1.0 = Full Brightness


Return value

This call does not return a value


GetLEDColour

Sets the colour of a single LED in RAM as a 1D array.

Parameters

UINT LED
LED to change the colour / Range: 0 to (LED Count - 1)
BYTE ColIdx
0 = R, 1 = G, 2 = B


Return value

BYTE


DrawLine2D

Draws a line on a 2D array of LEDs

Parameters

UINT X1
UINT Y1
UINT X2
UINT Y2
BYTE R
BYTE G
BYTE B


Return value

This call does not return a value


SetAllLEDColour

Sets the colour of all the LEDs in RAM

Parameters

BYTE R
BYTE G
BYTE B


Return value

This call does not return a value


SetLEDColour

Sets the colour of a single LED in RAM as a 1D array.

Parameters

UINT LED
LED to change the colour / Range: 0 to (LED Count - 1)
BYTE R
BYTE G
BYTE B


Return value

This call does not return a value


Refresh

Clocks out the current colour data to the LEDs from the values stored in RAM

Parameters

This macro has no parameters


Return value

This call does not return a value


ShiftLEDs1D

Shifts the LED colours in 1D and wraps

Parameters

BYTE Direction
0 = Forwards, 1 = Backwards
BYTE DataMode
0=ResetToZero, 1=WrapAroundDisplay, 2=Smear


Return value

This call does not return a value


DrawLine3D

Draws a line on a 3D array of LEDs

Parameters

UINT X1
UINT Y1
UINT Z1
UINT X2
UINT Y2
UINT Z2
BYTE R
BYTE G
BYTE B


Return value

This call does not return a value


GetLEDIndex2D

Sets the index of a single LED in RAM as a 2D array.

Parameters

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)


Return value

UINT


DrawRectangle2D

Draws a basic 2D rectangle onto the LEDs

Parameters

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


Return value

This call does not return a value


ShiftLEDs2D

Shifts the contents of the display by the number of vertices specified

      • Please Note that Wrap mode is currently unavailable***

Parameters

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


Return value

This call does not return a value


GetLEDIndex3D

Gets the index of a single LED in RAM as a 3D array.

Parameters

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)


Return value

UINT


DrawCuboid3D

Draws a basic 3D cuboid onto the LEDs

Parameters

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


Return value

This call does not return a value


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.

Parameters

This macro has no parameters


Return value

This call does not return a value


ShiftLEDs3D

Shifts the contents of the display by the number of vertices specified

      • Please Note that Wrap mode is currently unavailable***

Parameters

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


Return value

This call does not return a value


Simulation macro reference

This component does not contain any simulation macros


Property reference

LED Arrangement

This property is of type Fixed list of ints and can be referenced with the variable name 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

This property is of type Unsigned integer and can be referenced with the variable name LED_Count.

Total number of LEDs in the design

LED Columns

This property is of type Unsigned integer and can be referenced with the variable name LED_Cols.

Number of horizontal LEDs - X axis

Column Spacing

This property is of type Floating point and can be referenced with the variable name x_spacing.

X Spacing Between LEDs on the Panel

LED Rows

This property is of type Unsigned integer and can be referenced with the variable name LED_Rows.

Number of vertical LEDs - Y axis

Row Spacing

This property is of type Floating point and can be referenced with the variable name y_spacing.

Y Spacing Between LEDs on the Panel

LED Layers

This property is of type Unsigned integer and can be referenced with the variable name LED_Layers.

Number of LED layers - Z axis

Layer Spacing

This property is of type Floating point and can be referenced with the variable name z_spacing.

Z Spacing Between LEDs on the Panel

Flip X

This property is of type True or false and can be referenced with the variable name FlipX.

Flips the X axis if the LEDs are wired from the right hand side of the display.

Flip Y

This property is of type True or false and can be referenced with the variable name FlipY.

Flips the Y axis if the LEDs are wired from the bottom side of the display.

Flip Z

This property is of type True or false and can be referenced with the variable name FlipZ.

Flips the Z axis if the LEDs are wired from the upper most side of the display.

LED Current Usage

This property is of type Fixed list of ints and can be referenced with the variable name CurrentUsage.

No additional information


Output Mode

This property is of type Fixed list of ints and can be referenced with the variable name 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

Data Pin

This property is of type Single digital pin and can be referenced with the variable name MOSI.

LED Data Pin - Connected to the Data In pin of the first WS8201 IC.

Clock Pin

This property is of type Single digital pin and can be referenced with the variable name CLK.

LED Clock Pin - Connected to the Clock In pin of the first WS8201 IC.

Channel

This property is of type Fixed list of ints and can be referenced with the variable name cal_spi::CHANNEL.

SPI Channel selector

Prescale

This property is of type Fixed list of ints and can be referenced with the variable name cal_spi::PR_SCALE.

Prescale option selector

MOSI

This property is of type Single digital pin and can be referenced with the variable name cal_spi::MOSI.

SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode.

MISO

This property is of type Single digital pin and can be referenced with the variable name cal_spi::MISO.

SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode.

CLK

This property is of type Single digital pin and can be referenced with the variable name cal_spi::CLK.

SPI Clock Pin CLK - The Clock signal is driven by the SPI master.

Scope Traces

This property is of type True or false and can be referenced with the variable name cal_spi::ScopeTraces.

Selects if the scope traces are automatically generated or not

Console Data

This property is of type True or false and can be referenced with the variable name cal_spi::ConsoleData.

Selects if the console data is automatically generated or not

Injector

This property is of type Fixed list of ints and can be referenced with the variable name cal_spi::Injector.

No additional information