Difference between revisions of "Component: RGB LED WS2811 / WS2812 / APA106 (LEDs)"

From Flowcode Help
Jump to navigationJump to search
(Created page with "{| style="width:50%" |- | width="20%" style="color:gray;" | Author | Matrix TSL |- | width="20%" style="color:gray;" | Version | 1.5 |- | width="20%" style="color:gray...")
 
 
(8 intermediate revisions by the same user not shown)
Line 17: Line 17:
 
==Component Source Code==
 
==Component Source Code==
  
Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_LED_WS2811.fcfx FC_Comp_Source_LED_WS2811.fcfx]
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_LED_WS2811.fcfx FC_Comp_Source_LED_WS2811.fcfx]
 +
 
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_LED_WS2811.fcfx FC_Comp_Source_LED_WS2811.fcfx]
  
 
==Detailed description==
 
==Detailed description==
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
 
''No detailed description exists yet for this component''
 
''No detailed description exists yet for this component''
  
 
==Examples==
 
==Examples==
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
 
''<span style="color:red;">No additional examples</span>''
 
''<span style="color:red;">No additional examples</span>''
  
==Downloadable macro reference==
 
  
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
==Macro reference==
 +
 +
===Delay_T0H===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetBrightness'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_T0H'''
 
|-
 
|-
| 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. &nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
|-
 
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
 
| width="90%" | Scaler
 
|-
 
| colspan="2" | Range: 0.0 to 1.0 Default: 1.0, 0 = Off, 0.5 = Half Brightness, 1.0 = Full Brightness&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 47: Line 75:
  
  
 +
===Delay_T0L===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLEDColour'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_T0L'''
 
|-
 
|-
| colspan="2" | Sets the colour of a single LED in RAM as a 1D array.&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | LED
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===Delay_T1H===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | LED to change the colour / Range: 0 to (LED Count - 1)&nbsp;
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_T1H'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" | &nbsp;
| width="90%" | ColIdx
 
 
|-
 
|-
| colspan="2" | 0 = Red, 1 = Green, 2 = Blue&nbsp;
 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===Delay_T1L===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''OutputLow'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_T1L'''
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
Line 83: Line 117:
  
  
 +
===DrawCuboid3D===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetBrightnessByte'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawCuboid3D'''
 +
|-
 +
| colspan="2" | Draws a basic 3D cuboid onto the LEDs&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | X1
 +
|-
 +
| colspan="2" | Start X pixel coordinate&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Y1
 +
|-
 +
| colspan="2" | Start Y pixel coordinate&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Z1
 +
|-
 +
| colspan="2" | Start Z pixel coordinate&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | X2
 +
|-
 +
| colspan="2" | End X pixel coordinate&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Y2
 +
|-
 +
| colspan="2" | End Y pixel coordinate&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Z2
 +
|-
 +
| colspan="2" | End Z pixel coordinate&nbsp;
 
|-
 
|-
| 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. &nbsp;
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | DrawStyle
 
|-
 
|-
 +
| colspan="2" | Sets the draw style - 0=Soild, 1=Edge, 2=Corners&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Scaler
+
| width="90%" | R
 
|-
 
|-
| colspan="2" | Range: 0 to 255 Default: 255, 0 = Off, 128 = Half Brightness, 255 = Full Brightness&nbsp;
+
| colspan="2" | Red Colour Channel&nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | G
|}
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| colspan="2" | Green Colour Channel&nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_T0L'''
 
 
|-
 
|-
| colspan="2" | &nbsp;
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | B
 
|-
 
|-
 +
| colspan="2" | White Colour Channel&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 114: Line 181:
  
  
 +
===DrawLine2D===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 162: Line 230:
  
  
 +
===DrawLine3D===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''OutputHigh'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawLine3D'''
 +
|-
 +
| colspan="2" | Draws a line on a 3D array of LEDs&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | X1
 +
|-
 +
| colspan="2" | Start X Coordinate&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y1
 +
|-
 +
| colspan="2" | Start Y Coordinate&nbsp;
 
|-
 
|-
| colspan="2" | &nbsp;
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Z1
 
|-
 
|-
 +
| colspan="2" | Start Z Coordinate&nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | X2
|}
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| colspan="2" | End X Coordinate&nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetLEDColour'''
 
 
|-
 
|-
| colspan="2" | Sets the colour of a single LED in RAM as a 1D array.&nbsp;
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Y2
 
|-
 
|-
 +
| colspan="2" | End Y Coordinate&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | LED
+
| width="90%" | Z2
 
|-
 
|-
| colspan="2" | LED to change the colour / Range: 0 to (LED Count - 1)&nbsp;
+
| colspan="2" | End Z Coordinate&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
Line 208: Line 289:
  
  
 +
===DrawRectangle2D===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetAllLEDColour'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawRectangle2D'''
 
|-
 
|-
| colspan="2" | Sets the colour of all the LEDs in RAM&nbsp;
+
| colspan="2" | Draws a basic 2D rectangle onto the LEDs&nbsp;
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | R
+
| width="90%" | X1
 
|-
 
|-
| colspan="2" | Red Colour Channel&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | G
+
| width="90%" | Y1
 
|-
 
|-
| colspan="2" | Green Colour Channel&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | B
+
| width="90%" | X2
 
|-
 
|-
| colspan="2" | Blue Colour Channel&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | Y2
|}
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_T0H'''
 
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | DrawStyle
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| colspan="2" | Sets the draw style - 0=Soild, 1=Edge, 2=Corners&nbsp;
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_T1L'''
+
| width="90%" | R
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | G
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| colspan="2" | &nbsp;
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Refresh'''
+
| width="90%" | B
|-
 
| colspan="2" | Clocks out the current colour data to the LEDs from the values stored in RAM&nbsp;
 
 
|-
 
|-
 +
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 275: Line 343:
  
  
 +
===GetLEDColour===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShiftLEDs1D'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLEDColour'''
 
|-
 
|-
| colspan="2" | Shifts the LED colours in 1D and wraps &nbsp;
+
| colspan="2" | Sets the colour of a single LED in RAM as a 1D array.&nbsp;
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Direction
+
| width="90%" | LED
 
|-
 
|-
| colspan="2" | 0 = Forwards, 1 = Backwards&nbsp;
+
| colspan="2" | LED to change the colour / Range: 0 to (LED Count - 1)&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | DataMode
+
| width="90%" | ColIdx
 
|-
 
|-
| colspan="2" | 0=ResetToZero, 1=WrapAroundDisplay, 2=Smear&nbsp;
+
| colspan="2" | 0 = Red, 1 = Green, 2 = Blue&nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===GetLEDIndex2D===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawLine3D'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLEDIndex2D'''
 
|-
 
|-
| colspan="2" | Draws a line on a 3D array of LEDs&nbsp;
+
| colspan="2" | Sets the index of a single LED in RAM as a 2D array.&nbsp;
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
+
| width="90%" | X
 
|-
 
|-
| colspan="2" | Start X Coordinate&nbsp;
+
| colspan="2" | LED Column to change the colour / Range: 0 to (LED Column - 1)&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
+
| width="90%" | Y
 
|-
 
|-
| colspan="2" | Start Y Coordinate&nbsp;
+
| colspan="2" | LED Row to change the colour / Range: 0 to (LED Row - 1)&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Z1
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===GetLEDIndex3D===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | Start Z Coordinate&nbsp;
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLEDIndex3D'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| colspan="2" | Gets the index of a single LED in RAM as a 3D array.&nbsp;
| width="90%" | X2
 
 
|-
 
|-
| colspan="2" | End X Coordinate&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y2
+
| width="90%" | X
 
|-
 
|-
| colspan="2" | End Y Coordinate&nbsp;
+
| colspan="2" | LED Column to change the colour / Range: 0 to (LED Column - 1)&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Z2
+
| width="90%" | Y
 
|-
 
|-
| colspan="2" | End Z Coordinate&nbsp;
+
| colspan="2" | LED Row to change the colour / Range: 0 to (LED Row - 1)&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | R
+
| width="90%" | Z
 
|-
 
|-
| colspan="2" | Red Colour Channel&nbsp;
+
| colspan="2" | LED Layer to change the colour / Range: 0 to (LED Layer - 1)&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | G
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===Initialise===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | Green Colour Channel&nbsp;
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" | 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.&nbsp;
| width="90%" | B
 
 
|-
 
|-
| colspan="2" | Blue Colour Channel&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 356: Line 434:
  
  
 +
===OutputHigh===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Delay_T1H'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''OutputHigh'''
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
Line 369: Line 448:
  
  
 +
===OutputLow===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLEDIndex2D'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''OutputLow'''
 
|-
 
|-
| colspan="2" | Sets the index of a single LED in RAM as a 2D array.&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | X
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===Refresh===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | LED Column to change the colour / Range: 0 to (LED Column - 1)&nbsp;
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Refresh'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| colspan="2" | Clocks out the current colour data to the LEDs from the values stored in RAM&nbsp;
| width="90%" | Y
 
 
|-
 
|-
| colspan="2" | LED Row to change the colour / Range: 0 to (LED Row - 1)&nbsp;
 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===SetAllLEDColour===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawRectangle2D'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetAllLEDColour'''
 
|-
 
|-
| colspan="2" | Draws a basic 2D rectangle onto the LEDs&nbsp;
+
| colspan="2" | Sets the colour of all the LEDs in RAM&nbsp;
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | X1
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Y1
 
 
|-
 
|-
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | X2
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Y2
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | DrawStyle
 
|-
 
| colspan="2" | Sets the draw style - 0=Soild, 1=Edge, 2=Corners&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | R
 
| width="90%" | R
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Red Colour Channel&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | G
 
| width="90%" | G
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Green Colour Channel&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | B
 
| width="90%" | B
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Blue Colour Channel&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 445: Line 505:
  
  
 +
===SetBrightness===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShiftLEDs2D'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetBrightness'''
 
|-
 
|-
| colspan="2" | Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable***&nbsp;
+
| 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. &nbsp;
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" | X
+
| width="90%" | Scaler
 
|-
 
|-
| colspan="2" | Number of pixels to shift the display -1 to 1 / 0 = No Shift&nbsp;
+
| colspan="2" | Range: 0.0 to 1.0 Default: 1.0, 0 = Off, 0.5 = Half Brightness, 1.0 = Full Brightness&nbsp;
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" | Y
 
|-
 
| colspan="2" | Number of pixels to shift the display -1 to 1 / 0 = No Shift&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | DataMode
 
|-
 
| colspan="2" | 0=ResetToZero, 1=WrapAroundDisplay, 2=Smear&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 473: Line 524:
  
  
 +
===SetBrightnessByte===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLEDIndex3D'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetBrightnessByte'''
 
|-
 
|-
| colspan="2" | Gets the index of a single LED in RAM as a 3D array.&nbsp;
+
| 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. &nbsp;
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X
+
| width="90%" | Scaler
 
|-
 
|-
| colspan="2" | LED Column to change the colour / Range: 0 to (LED Column - 1)&nbsp;
+
| colspan="2" | Range: 0 to 255 Default: 255, 0 = Off, 128 = Half Brightness, 255 = Full Brightness&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | Y
 
|-
 
| colspan="2" | LED Row to change the colour / Range: 0 to (LED Row - 1)&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Z
 
|-
 
| colspan="2" | LED Layer to change the colour / Range: 0 to (LED Layer - 1)&nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
 
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===SetLEDColour===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawCuboid3D'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetLEDColour'''
 
|-
 
|-
| colspan="2" | Draws a basic 3D cuboid onto the LEDs&nbsp;
+
| colspan="2" | Sets the colour of a single LED in RAM as a 1D array.&nbsp;
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X1
+
| width="90%" | LED
 
|-
 
|-
| colspan="2" | Start X pixel coordinate&nbsp;
+
| colspan="2" | LED to change the colour / Range: 0 to (LED Count - 1)&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y1
+
| width="90%" | R
 
|-
 
|-
| colspan="2" | Start Y pixel coordinate&nbsp;
+
| colspan="2" | Red Colour Channel&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Z1
+
| width="90%" | G
 
|-
 
|-
| colspan="2" | Start Z pixel coordinate&nbsp;
+
| colspan="2" | Green Colour Channel&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X2
+
| width="90%" | B
 
|-
 
|-
| colspan="2" | End X pixel coordinate&nbsp;
+
| colspan="2" | Blue Colour Channel&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | Y2
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===ShiftLEDs1D===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | End Y pixel coordinate&nbsp;
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShiftLEDs1D'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" | Shifts the LED colours in 1D and wraps &nbsp;
| width="90%" | Z2
 
 
|-
 
|-
| colspan="2" | End Z pixel coordinate&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | DrawStyle
+
| width="90%" | Direction
 
|-
 
|-
| colspan="2" | Sets the draw style - 0=Soild, 1=Edge, 2=Corners&nbsp;
+
| colspan="2" | 0 = Forwards, 1 = Backwards&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | R
+
| width="90%" | DataMode
 
|-
 
|-
| colspan="2" | Red Colour Channel&nbsp;
+
| colspan="2" | 0=ResetToZero, 1=WrapAroundDisplay, 2=Smear&nbsp;
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | G
 
|-
 
| colspan="2" | Green Colour Channel&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | B
 
|-
 
| colspan="2" | White Colour Channel&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 564: Line 601:
  
  
 +
===ShiftLEDs2D===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShiftLEDs2D'''
 +
|-
 +
| colspan="2" | Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable***&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | X
 +
|-
 +
| colspan="2" | Number of pixels to shift the display -1 to 1 / 0 = No Shift&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | Y
 +
|-
 +
| colspan="2" | Number of pixels to shift the display -1 to 1 / 0 = No Shift&nbsp;
 
|-
 
|-
| colspan="2" | 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.&nbsp;
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | DataMode
 
|-
 
|-
 +
| colspan="2" | 0=ResetToZero, 1=WrapAroundDisplay, 2=Smear&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 577: Line 630:
  
  
 +
===ShiftLEDs3D===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 608: Line 662:
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
  
  

Latest revision as of 13:11, 7 February 2023

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