Difference between revisions of "Component: RGB LED APA102C (LEDs)"

From Flowcode Help
Jump to navigationJump to search
 
(16 intermediate revisions by 2 users not shown)
Line 16: Line 16:
  
 
==Detailed description==
 
==Detailed description==
 
 
 
 
  
 
''No detailed description exists yet for this component''
 
''No detailed description exists yet for this component''
Line 25: Line 21:
 
==Examples==
 
==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.
  
 +
{{Fcfile|APA102_Demo.fcfx|APA102C Demo}}
  
 +
==Macro reference==
  
 
+
===DrawCuboid3D===
 
 
''<span style="color:red;">No additional examples</span>''
 
 
 
 
 
==Downloadable macro reference==
 
 
 
 
{| 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;" | '''DrawCuboid3D'''
 
|-
 
|-
| 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" | Draws a basic 3D cuboid onto the LEDs&nbsp;
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Scaler
+
| width="90%" | X1
 
|-
 
|-
| colspan="2" | Range: 0.0 to 1.0 Default: 1.0, 0 = Off, 0.5 = Half Brightness, 1.0 = Full Brightness&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%" | Y1
|}
 
 
 
 
 
{| 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" | &nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLEDColour'''
 
|-
 
| 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%" | LED
 
|-
 
| 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%" | ColIdx
+
| width="90%" | Z1
|-
 
| colspan="2" | 0 = R, 1 = G, 2 = B&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''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. &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%" | Scaler
+
| width="90%" | X2
|-
 
| colspan="2" | Range: 0 to 255 Default: 255, 0 = Off, 128 = Half Brightness, 255 = Full Brightness&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''DrawLine2D'''
 
|-
 
| colspan="2" | Draws a line on a 2D array of LEDs&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | X1
 
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y1
+
| width="90%" | Y2
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X2
+
| width="90%" | Z2
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y2
+
| width="90%" | DrawStyle
 
|-
 
|-
| colspan="2" | &nbsp;
+
| 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
Line 142: Line 91:
  
  
 +
===DrawLine2D===
 
{| 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;" | '''SetLEDColour'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DrawLine2D'''
 
|-
 
|-
| colspan="2" | Sets the colour of a single LED in RAM as a 1D array.&nbsp;
+
| colspan="2" | Draws a line on a 2D array of LEDs&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%" | X1
 
|-
 
|-
| colspan="2" | LED to change the colour / Range: 0 to (LED Count - 1)&nbsp;
+
| colspan="2" | &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%" | Y1
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | G
+
| width="90%" | X2
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | B
+
| width="90%" | Y2
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
|-
 
| 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''
 
|}
 
 
 
{| 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;" | '''SetAllLEDColour'''
 
|-
 
| colspan="2" | Sets the colour of all the LEDs in RAM&nbsp;
 
|-
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
Line 203: Line 140:
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
===DrawLine3D===
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Refresh'''
 
|-
 
| colspan="2" | Clocks out the current colour data to the LEDs from the values stored in RAM&nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''ShiftLEDs1D'''
 
|-
 
| colspan="2" | Shifts the LED colours in 1D and wraps &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Direction
 
|-
 
| colspan="2" | 0 = Forwards, 1 = Backwards&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="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 297: Line 199:
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
===DrawRectangle2D===
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLEDIndex2D'''
 
|-
 
| 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="90%" | X
 
|-
 
| 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="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="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 373: Line 253:
  
  
 +
===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;" | '''ShiftLEDs2D'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLEDColour'''
 
|-
 
|-
| 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" | Sets the colour of a single LED in RAM as a 1D array.&nbsp;
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
+
| width="90%" | LED
 
|-
 
|-
| colspan="2" | Number of pixels to shift the display -1 to 1 / 0 = No Shift&nbsp;
+
| colspan="2" | LED to change the colour / Range: 0 to (LED Count - 1)&nbsp;
|-
 
| width="10%" align="center" | [[File:]] -
 
| 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="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 = R, 1 = G, 2 = B&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;" | '''GetLEDIndex3D'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetLEDIndex2D'''
 
|-
 
|-
| colspan="2" | Gets the index of a single LED in RAM as a 3D array.&nbsp;
+
| colspan="2" | Sets the index of a single LED in RAM as a 2D array.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 418: Line 295:
 
|-
 
|-
 
| colspan="2" | LED Row to change the colour / Range: 0 to (LED Row - 1)&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="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="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
Line 429: Line 301:
  
  
 +
===GetLEDIndex3D===
 
{| 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;" | '''GetLEDIndex3D'''
 
|-
 
|-
| colspan="2" | Draws a basic 3D cuboid onto the LEDs&nbsp;
+
| colspan="2" | Gets the index of a single LED in RAM as a 3D 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
 
|-
 
| 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%" | Z1
 
|-
 
| 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%" | Z2
 
|-
 
| 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="90%" | R
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | G
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | B
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''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.&nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''ShiftLEDs3D'''
 
|-
 
| 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:]] -
 
 
| width="90%" | X
 
| width="90%" | X
 
|-
 
|-
| colspan="2" | Number of pixels to shift the display -1 to 1 / 0 = No Shift&nbsp;
+
| colspan="2" | LED Column to change the colour / Range: 0 to (LED Column - 1)&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Y
 
| width="90%" | Y
 
|-
 
|-
| colspan="2" | Number of pixels to shift the display -1 to 1 / 0 = No Shift&nbsp;
+
| colspan="2" | LED Row to change the colour / Range: 0 to (LED Row - 1)&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Z
 
| width="90%" | Z
 
|-
 
|-
| colspan="2" | Number of pixels to shift the display -1 to 1 / 0 = No Shift&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%" | 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="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===Initialise===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 543: Line 336:
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
 
|-
 
|-
| colspan="2" | Sets up the data memory and draws the simulated LED cube on the panel.&nbsp;
+
| 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.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 551: Line 344:
  
  
 +
===Refresh===
 
{| 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;" | '''Refresh'''
 
|-
 
|-
| colspan="2" | Starts up the formula flowcode PWM for motor control and performs the wait for button press&nbsp;
+
| colspan="2" | Clocks out the current colour data to the LEDs from the values stored in RAM&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 564: Line 358:
  
  
 +
===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;" | '''Initialise'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetAllLEDColour'''
 
|-
 
|-
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&nbsp;
+
| colspan="2" | Sets the colour of all the LEDs in RAM&nbsp;
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''Initialise'''
 
|-
 
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''Initialise'''
 
|-
 
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''Initialise'''
 
|-
 
| colspan="2" | The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called.&nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''Initialise'''
 
|-
 
| colspan="2" | Resets and initialises the Internet E-Block. It sets up the gateway address, subnet mask, device IP address and device MAC address as defined in the properties of the Flowcode component. This macro must be called before any other TCP_IP component macros &nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''Initialise'''
 
|-
 
| colspan="2" | Resets and initialises the Internet E-Block. It sets up the gateway address, subnet mask, device IP address and device MAC address as defined in the properties of the Flowcode component. This macro must be called before any other TCP_IP component macros &nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''Initialise'''
 
|-
 
| colspan="2" | Resets and initialises the Internet E-Block. It sets up the gateway address, subnet mask, device IP address and device MAC address as defined in the properties of the Flowcode component. This macro must be called before any other TCP_IP component macros &nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''MODPMSHAPE'''
 
|-
 
| colspan="2" | Sets PM waveform shape to; 0 = SINE, 1 = SQUARE, 2 = RAMPUP, 3 = RAMPDN, 4 = TRIANG, 5 = NOISE, 6 = DC, 7 = SINC, 8 = EXPRISE, 9 = LOGRISE, 10 = ARB1,  11 = ARB2, 12 = ARB3, 13= ARB4.&nbsp;
 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Shape
+
| width="90%" | R
|-
 
| colspan="2" | Sets PM waveform shape (1 = SINE, 2 = SQUARE, 3 = RAMPUP, 4 = RAMPDN, 5 = TRIANG, 6 = NOISE, 7 = DC, 8 = SINC, 9 = EXPRISE, 10 = LOGRISE, 11 = ARB1, 12 = ARB2, 13 = ARB3, 14= ARB4).&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''ARB4'''
 
|-
 
| colspan="2" | Loads the binary-data to an existing arbitrary waveform memory location ARB4.&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%" | Waveform
+
| width="90%" | G
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
|-
 
| 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''
 
|}
 
 
 
{| 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;" | '''CLKSRRet'''
 
|-
 
| colspan="2" | Returns the clock source <INT> or <EXT>.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
 
| 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="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODPMDEV'''
 
|-
 
| colspan="2" | Sets PM waveform deviation to <nrf> degrees. (Lower limit: -360° - Upper limit: 360°).&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:]] -
 
| width="90%" | Degrees
 
|-
 
| colspan="2" | Sets PM waveform deviation in degrees (-360 - 360).&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
{| 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;" | '''MSTLOCK'''
 
|-
 
| colspan="2" | Sends signal to SLAVE generator to get synchronised&nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
{| 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;" | '''HILVL'''
 
|-
 
| colspan="2" | Sets the amplitude-high-level to <nrf> Volts. (Lower limit: -0.490 V - Upper limit: 5.000 V).&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:]] -
 
| width="90%" | HighLevel
 
|-
 
| colspan="2" | Sets the amplitude-high-level in Volts(V) (-0.490 V - 5.000 V).&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
{| 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;" | '''ARB3'''
 
|-
 
| colspan="2" | Loads the binary-data to an existing arbitrary waveform memory location ARB3.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Waveform
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| 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''
 
|}
 
 
 
{| 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;" | '''WAVE'''
 
|-
 
| colspan="2" | Sets the waveform type.  0 = SINE, 1 = SQUARE, 2 = RAMP, 3 = TRIANG, 4 = PULSE, 5 = NOISE, 6 = ARB&nbsp;
 
|-
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | WaveType
+
| width="90%" | B
|-
 
| colspan="2" | 0 = SINE, 1 = SQUARE, 2 = RAMP, 3 = TRIANG, 4 = PULSE, 5 = NOISE, 6 = ARB.&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''CALADJ'''
 
|-
 
| colspan="2" | Adjust the selected calibration value by <nrf> (Lower limit: -100 - Upper limit: 100).&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:]] -
 
| width="90%" | Calibrate
 
|-
 
| colspan="2" | Adjust the selected calibration value (-100 - 100).&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''STBRet'''
 
|-
 
| colspan="2" | Returns the value of the Status Byte Register in <nr1> numeric format.&nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''ARB2'''
 
|-
 
| colspan="2" | Loads the binary-data to an existing arbitrary waveform memory location ARB2.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Waveform
 
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
Line 838: Line 387:
  
  
 +
===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;" | '''EERRet'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetBrightness'''
 
|-
 
|-
| colspan="2" | Query and clear execution error number register.&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" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
+
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | Scaler
|}
 
 
 
 
 
{| 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" | Range: 0.0 to 1.0 Default: 1.0, 0 = Off, 0.5 = Half Brightness, 1.0 = Full Brightness&nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODFMSRC'''
 
|-
 
| colspan="2" | Sets FM waveform source to; 0 INT, 1 = EXT.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:]] -
 
| width="90%" | Source
 
|-
 
| colspan="2" | Sets FM waveform source (0 = INT, 1 = EXT).&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 869: Line 406:
  
  
 +
===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;" | '''MODAMFREQ'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetBrightnessByte'''
 
|-
 
|-
| colspan="2" | Sets AM waveform frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 20kHz).&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:]] -
 
| width="90%" | Frequency
 
|-
 
| colspan="2" | Sets AM waveform frequency in Hertz(Hz) (1uHz - 20kHz).&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''ESE'''
 
|-
 
| colspan="2" | Sets the Standard Event Status Enable Register to the value of <nrf>.&nbsp;
 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Value
+
| width="90%" | Scaler
 
|-
 
|-
| colspan="2" | Value of register 0-255&nbsp;
+
| colspan="2" | Range: 0 to 255 Default: 255, 0 = Off, 128 = Half Brightness, 255 = 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 905: Line 425:
  
  
 +
===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;" | '''ARB1'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetLEDColour'''
 
|-
 
|-
| colspan="2" | Loads the binary-data to an existing arbitrary waveform memory location ARB1.&nbsp;
+
| 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="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Waveform
+
| width="90%" | LED
|-
 
| colspan="2" | 16 Bit binary number for arbitrary waveform.&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''ARB4DEFRet'''
 
|-
 
| colspan="2" | Returns user specified waveform name, waveform pint interpolation state and waveform length of ARB4.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 
| 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="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CLS'''
 
|-
 
| colspan="2" | Clears status byte register of the interface.&nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''MSTRELOCK'''
 
|-
 
| colspan="2" | Resynchronises the two generators in MASTER-SLAVE mode.&nbsp;
 
|-
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''NOISLVL'''
 
|-
 
| colspan="2" | Sets the output noise level to <nr1> %. (Lower limit: 0% - Upper limit: 50%)&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%" | Percent
+
| width="90%" | R
|-
 
| colspan="2" | Sets the output noise level in percent. (0 - 50)&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''LOCKMODE'''
 
|-
 
| colspan="2" | Sets the synchronising mode to; 0 = MASTER, 1 = SLAVE, 2 = INDEP.&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%" | Mode
+
| width="90%" | G
|-
 
| colspan="2" | Sets the synchronising mode (0 = MASTER, 1 = SLAVE, 2 = INDEP).&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''ADDRESSRet'''
 
|-
 
| colspan="2" | Returns the instruments address&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
 
| 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="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MODPMSRC'''
 
|-
 
| colspan="2" | Sets PM waveform source to; 0 INT, 1 = EXT.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:]] -
 
| width="90%" | Source
 
|-
 
| colspan="2" | Sets PM waveform source (0 = INT, 1 = EXT).&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''MODPWMSRC'''
 
|-
 
| colspan="2" | Sets PWM waveform source to; 0 = INT, 1 = EXT.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:]] -
 
| width="90%" | Source
 
|-
 
| colspan="2" | Sets PWM waveform source (0 = INT, 1 = EXT).&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''MOD'''
 
|-
 
| colspan="2" | Sets modulation to; 0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM.&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%" | Modulation
+
| width="90%" | B
 
|-
 
|-
| colspan="2" | Sets modulation (0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM).&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 1,065: Line 459:
  
  
 +
===ShiftLEDs1D===
 
{| 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;" | '''ISTRet'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShiftLEDs1D'''
 
|-
 
|-
| colspan="2" | Returns IST local message as defined by IEEE Std. 488.2. The syntax of the response is 0<rmt>, if the local message is false, or 1<rmt>, if the local message is true.&nbsp;
+
| colspan="2" | Shifts the LED colours in 1D and wraps &nbsp;
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
 
| 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="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LRNRet'''
 
|-
 
| colspan="2" | Returns the complete setup of the instrument as a binary data block&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
 
| 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="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''OPCRet'''
 
|-
 
| colspan="2" | Query Operation Complete status. The response is always 1<rmt> and will be available immediately the command is executed because all commands are sequential.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
 
| 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="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SWPTYPE'''
 
|-
 
| colspan="2" | Sets the sweep type to; 0 = LINUP, 1 = LINDN, 2 = LINUPDN, 3 = LINDNUP, 4 = LOGUP, 5 = LOGDN, 6 = LOGUPDN, 7 = LOGDNUP.&nbsp;
 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Type
+
| width="90%" | Direction
|-
 
| colspan="2" | Set the sweep type (0 = LINUP, 1 = LINDN, 2 = LINUPDN, 3 = LINDNUP, 4 = LOGUP, 5 = LOGDN, 6 = LOGUPDN, 7 = LOGDNUP).&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''PULSRANGE'''
 
|-
 
| colspan="2" | Sets PWM waveform source to <1>, <2> or <3>; 1 = 1, 2 = 2, 3 = 3.&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%" | Range
+
| width="90%" | DataMode
 
|-
 
|-
| colspan="2" | Sets the pulse rise and fall range. (1, 2 or 3)&nbsp;
+
| 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 1,140: Line 483:
  
  
 +
===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;" | '''TSTRet'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShiftLEDs2D'''
 
|-
 
|-
| colspan="2" | The generator has no self test capability and the response is always 0 <rmt>.&nbsp;
+
| 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" style="border-top: 2px solid #000;" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | X
|}
 
 
 
 
 
{| 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" | Number of pixels to shift the display -1 to 1 / 0 = No Shift&nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BSTTRGPOL'''
 
 
|-
 
|-
| colspan="2" | Sets the burst trigger slope to; 0 = POS, 1 = NEG.&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:]] -  
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Slope
+
| width="90%" | DataMode
 
|-
 
|-
| colspan="2" | Set the burst trigger slope (0 = POS, 1 = NEG).&nbsp;
+
| 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 1,171: Line 512:
  
  
 +
===ShiftLEDs3D===
 
{| 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;" | '''ARB3Ret'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ShiftLEDs3D'''
 
|-
 
|-
| colspan="2" | Returns the binary-data from an existing abbitrary wavefrom memory location.&nbsp;
+
| 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" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | X
|}
 
 
 
 
 
{| 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" | Number of pixels to shift the display -1 to 1 / 0 = No Shift&nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BSTPHASE'''
 
 
|-
 
|-
| colspan="2" | Sets the burst phase to <nrf> degrees. (Lower limit: -360 - Upper limit: 360)&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:]] -  
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Degrees
+
| width="90%" | Z
 
|-
 
|-
| colspan="2" | Sets the burst phase in degrees (-360 - 360)&nbsp;
+
| colspan="2" | Number of pixels to shift the display -1 to 1 / 0 = No Shift&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%" | DataMode
|}
 
 
 
 
 
{| 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;" | '''IDNRet'''
 
|-
 
| colspan="2" | Returns the instrument identification. The IDN is saved to the variable passed from the function 'ReturnIDN'. The return parameter is TRUE when the IDN is successfully returned.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 
| width="90%" | ReturnIDN
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 
| 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="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SWPTRGPER'''
 
|-
 
| colspan="2" | Sets the sweep trigger period to <nrf> seconds&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:]] -
 
| width="90%" | Seconds
 
|-
 
| colspan="2" | Set the sweep trigger period in seconds.&nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''PULSDLY'''
 
|-
 
| colspan="2" | Sets the waveform delay to <nrf> sec&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:]] -
 
| width="90%" | Sec
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| 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''
 
|}
 
 
 
 
 
{| 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;" | '''Initialise'''
 
|-
 
| colspan="2" | Opens the COM port ready for communications.&nbsp;
 
 
|-
 
|-
 +
| 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
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
  
  
Line 1,277: Line 552:
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
 +
|-
 +
|-
 +
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 +
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | LED Properties
 
|-
 
|-
 
|-
 
|-
Line 1,288: Line 567:
 
|-
 
|-
 
| colspan="2" | Total number of LEDs in the design&nbsp;
 
| colspan="2" | Total number of LEDs in the design&nbsp;
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | LED Columns
 
|-
 
| colspan="2" | Number of horizontal LEDs - X axis&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
Line 1,299: Line 573:
 
| colspan="2" | X Spacing Between LEDs on the Panel&nbsp;
 
| colspan="2" | X Spacing Between LEDs on the Panel&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | LED Rows
+
| width="90%" | LED Current Usage
 
|-
 
|-
| colspan="2" | Number of vertical LEDs - Y axis&nbsp;
+
| colspan="2" | &nbsp;
|-
 
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
| width="90%" | Row Spacing
 
|-
 
| colspan="2" | Y Spacing Between LEDs on the Panel&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | LED Layers
 
|-
 
| colspan="2" | Number of LED layers - Z axis&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
| width="90%" | Layer Spacing
 
|-
 
| colspan="2" | Z Spacing Between LEDs on the Panel&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Flip X
 
 
|-
 
|-
| colspan="2" | Flips the X axis if the LEDs are wired from the right hand side of the display.&nbsp;
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 +
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Flip Y
 
|-
 
| colspan="2" | Flips the Y axis if the LEDs are wired from the bottom side of the display.&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Flip Z
 
|-
 
| colspan="2" | Flips the Z axis if the LEDs are wired from the upper most side of the display.&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | LED Current Usage
+
| width="90%" | Output Mode
 
|-
 
|-
| colspan="2" | &nbsp;
+
| 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 &nbsp;
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | Data Pin
 
|-
 
| colspan="2" | LED Data Pin - Connected to the Data In pin of the first WS8201 IC.&nbsp;
 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" | Clock Pin
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connection Properties
 
|-
 
|-
| colspan="2" | LED Clock Pin - Connected to the Clock In pin of the first WS8201 IC.&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Line 1,374: Line 616:
 
| colspan="2" | SPI Clock Pin CLK - The Clock signal is driven by the SPI master.&nbsp;
 
| colspan="2" | SPI Clock Pin CLK - The Clock signal is driven by the SPI master.&nbsp;
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Output Mode
 
|-
 
| 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 &nbsp;
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''
 
 
|-
 
|-
 
|-
 
|-
Line 1,402: Line 635:
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|}
 
|}
 +
 +
==Component Source Code==
 +
 +
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_LED_APA102C.fcfx FC_Comp_Source_LED_APA102C.fcfx]
 +
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_LED_APA102C.fcfx FC_Comp_Source_LED_APA102C.fcfx]

Latest revision as of 13:16, 15 December 2023

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.

FC6 Icon.png APA102C Demo

Macro reference

DrawCuboid3D

Fc9-comp-macro.png DrawCuboid3D
Draws a basic 3D cuboid onto the LEDs 
Fc9-u8-icon.png - BYTE X1
 
Fc9-u8-icon.png - BYTE Y1
 
Fc9-u8-icon.png - BYTE Z1
 
Fc9-u8-icon.png - BYTE X2
 
Fc9-u8-icon.png - BYTE Y2
 
Fc9-u8-icon.png - BYTE Z2
 
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


DrawLine2D

Fc9-comp-macro.png DrawLine2D
Draws a line on a 2D array of LEDs 
Fc9-u16-icon.png - UINT X1
 
Fc9-u16-icon.png - UINT Y1
 
Fc9-u16-icon.png - UINT X2
 
Fc9-u16-icon.png - UINT Y2
 
Fc9-u8-icon.png - BYTE R
 
Fc9-u8-icon.png - BYTE G
 
Fc9-u8-icon.png - BYTE B
 
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
 
Fc9-u16-icon.png - UINT Y1
 
Fc9-u16-icon.png - UINT Z1
 
Fc9-u16-icon.png - UINT X2
 
Fc9-u16-icon.png - UINT Y2
 
Fc9-u16-icon.png - UINT Z2
 
Fc9-u8-icon.png - BYTE R
 
Fc9-u8-icon.png - BYTE G
 
Fc9-u8-icon.png - BYTE B
 
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 = R, 1 = G, 2 = B 
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 WS2801 ICs in the chain. 
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
 
Fc9-u8-icon.png - BYTE G
 
Fc9-u8-icon.png - BYTE B
 
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
 
Fc9-u8-icon.png - BYTE G
 
Fc9-u8-icon.png - BYTE B
 
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 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-15-icon.png Column Spacing
X Spacing Between LEDs on the Panel 
Fc9-type-16-icon.png LED Current Usage
 
Fc9-conn-icon.png Connections
Fc9-type-16-icon.png 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  
Fc9-conn-icon.png Connection Properties
Fc9-type-16-icon.png Channel
SPI Channel selector 
Fc9-type-16-icon.png Prescale
Prescale option selector 
Fc9-type-5-icon.png MOSI
SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. 
Fc9-type-5-icon.png MISO
SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. 
Fc9-type-5-icon.png CLK
SPI Clock Pin CLK - The Clock signal is driven by the SPI master. 
Fc9-conn-icon.png Simulation
Fc9-type-7-icon.png Scope Traces
Selects if the scope traces are automatically generated or not 
Fc9-type-7-icon.png Console Data
Selects if the console data is automatically generated or not 
Fc9-type-16-icon.png API
 

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