Jump to content

Component: Robot Arm AllCode API (Misc): Difference between revisions

From Flowcode Help
Created page with "{| style="width:50%" |- | width="20%" style="color:gray;" | Author | Matrix TSL |- | width="20%" style="color:gray;" | Version | 1.0 |- | width="20%" style="color:gray..."
 
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(5 intermediate revisions by the same user not shown)
Line 90: Line 90:


===Beep===
===Beep===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Beep'''
| width="90%" class="mtx-class-macrohead" | '''Beep'''
|-
|-
| colspan="2" | Allows the beeper to output a warning 
| colspan="2" | Allows the beeper to output a warning 
Line 119: Line 119:


===GetAPIVersion===
===GetAPIVersion===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetAPIVersion'''
| width="90%" class="mtx-class-macrohead" | '''GetAPIVersion'''
|-
|-
| colspan="2" | Gets the API version of the Robot ARM Firmware 
| colspan="2" | Gets the API version of the Robot ARM Firmware 
Line 133: Line 133:


===GotoPosition===
===GotoPosition===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GotoPosition'''
| width="90%" class="mtx-class-macrohead" | '''GotoPosition'''
|-
|-
| colspan="2" | Recalls a previously saved position for the ARMs 5 axis. 
| colspan="2" | Recalls a previously saved position for the ARMs 5 axis. 
Line 152: Line 152:


===GripperClose===
===GripperClose===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GripperClose'''
| width="90%" class="mtx-class-macrohead" | '''GripperClose'''
|-
|-
| colspan="2" | Fully closes the gripper at the end of the arm ready to pick something up. Closes to a defined pressure using the built in pressure sensor. Returns 0 if nothing detected in the gripper Returns 1 if a valid object is detected 
| colspan="2" | Fully closes the gripper at the end of the arm ready to pick something up. Closes to a defined pressure using the built in pressure sensor. Returns 0 if nothing detected in the gripper Returns 1 if a valid object is detected 
Line 171: Line 171:


===GripperOpen===
===GripperOpen===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GripperOpen'''
| width="90%" class="mtx-class-macrohead" | '''GripperOpen'''
|-
|-
| colspan="2" | Fully opens the gripper at the end of the arm ready to pick something up. 
| colspan="2" | Fully opens the gripper at the end of the arm ready to pick something up. 
Line 185: Line 185:


===KineGetXYZ===
===KineGetXYZ===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''KineGetXYZ'''
| width="90%" class="mtx-class-macrohead" | '''KineGetXYZ'''
|-
|-
| colspan="2" | Calculates the current XYZ position from the current servo position coordinates  
| colspan="2" | Calculates the current XYZ position from the current servo position coordinates  
Line 204: Line 204:


===KineSetXYZ===
===KineSetXYZ===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''KineSetXYZ'''
| width="90%" class="mtx-class-macrohead" | '''KineSetXYZ'''
|-
|-
| colspan="2" | Sets the XYZ position and calculates the various servo motor angles required. Returns 0=Impossible, 1=InPosition 
| colspan="2" | Sets the XYZ position and calculates the various servo motor angles required. Returns 0=Impossible, 1=InPosition 
Line 233: Line 233:


===LCDClear===
===LCDClear===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDClear'''
| width="90%" class="mtx-class-macrohead" | '''LCDClear'''
|-
|-
| colspan="2" | Clears the entire contents of the display. 
| colspan="2" | Clears the entire contents of the display. 
Line 247: Line 247:


===LCDClearLine===
===LCDClearLine===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDClearLine'''
| width="90%" class="mtx-class-macrohead" | '''LCDClearLine'''
|-
|-
| colspan="2" | Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data. 
| colspan="2" | Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data. 
Line 266: Line 266:


===LCDCursor===
===LCDCursor===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDCursor'''
| width="90%" class="mtx-class-macrohead" | '''LCDCursor'''
|-
|-
| colspan="2" | Moves the cursor on the LCD Display 
| colspan="2" | Moves the cursor on the LCD Display 
Line 290: Line 290:


===LCDPrintNum===
===LCDPrintNum===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPrintNum'''
| width="90%" class="mtx-class-macrohead" | '''LCDPrintNum'''
|-
|-
| colspan="2" | Will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 
| colspan="2" | Will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 
Line 309: Line 309:


===LCDPrintStr===
===LCDPrintStr===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPrintStr'''
| width="90%" class="mtx-class-macrohead" | '''LCDPrintStr'''
|-
|-
| colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro 
| colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro 
Line 328: Line 328:


===LCDVerbose===
===LCDVerbose===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDVerbose'''
| width="90%" class="mtx-class-macrohead" | '''LCDVerbose'''
|-
|-
| colspan="2" | Controls if the LCD is in user mode or verbose API mode, 
| colspan="2" | Controls if the LCD is in user mode or verbose API mode, 
Line 347: Line 347:


===LEDOff===
===LEDOff===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LEDOff'''
| width="90%" class="mtx-class-macrohead" | '''LEDOff'''
|-
|-
| colspan="2" | Switches off a single LED, LA0-LA7 
| colspan="2" | Switches off a single LED, LA0-LA7 
Line 366: Line 366:


===LEDOn===
===LEDOn===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LEDOn'''
| width="90%" class="mtx-class-macrohead" | '''LEDOn'''
|-
|-
| colspan="2" | Switches on a single LED, LA0-LA7 
| colspan="2" | Switches on a single LED, LA0-LA7 
Line 385: Line 385:


===LEDWrite===
===LEDWrite===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LEDWrite'''
| width="90%" class="mtx-class-macrohead" | '''LEDWrite'''
|-
|-
| colspan="2" | Allows a value to be sent to control all eight LEDs LA0-LA7 at once 
| colspan="2" | Allows a value to be sent to control all eight LEDs LA0-LA7 at once 
Line 404: Line 404:


===MotorsMoving===
===MotorsMoving===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MotorsMoving'''
| width="90%" class="mtx-class-macrohead" | '''MotorsMoving'''
|-
|-
| colspan="2" | Checks to see if any of the motors are still moving. 
| colspan="2" | Checks to see if any of the motors are still moving. 
Line 418: Line 418:


===Park===
===Park===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Park'''
| width="90%" class="mtx-class-macrohead" | '''Park'''
|-
|-
| colspan="2" | Parks the Robot ARM and switches off the servo motors 
| colspan="2" | Parks the Robot ARM and switches off the servo motors 
Line 432: Line 432:


===ReadColour===
===ReadColour===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadColour'''
| width="90%" class="mtx-class-macrohead" | '''ReadColour'''
|-
|-
| colspan="2" | Samples the Colour Sensor and reads the levels of Red, Green and Blue Light back as a 16-bit UINT variable. The colour format is 0b0BBBBBGGGGGRRRRR. The ReadColourChannel macro can be used to get individual channel colours. 
| colspan="2" | Samples the Colour Sensor and reads the levels of Red, Green and Blue Light back as a 16-bit UINT variable. The colour format is 0b0BBBBBGGGGGRRRRR. The ReadColourChannel macro can be used to get individual channel colours. 
Line 446: Line 446:


===ReadColourChannel===
===ReadColourChannel===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadColourChannel'''
| width="90%" class="mtx-class-macrohead" | '''ReadColourChannel'''
|-
|-
| colspan="2" | Reads a single colour channel from the value returned from the ReadColour macro. 
| colspan="2" | Reads a single colour channel from the value returned from the ReadColour macro. 
Line 470: Line 470:


===ReadPressure===
===ReadPressure===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadPressure'''
| width="90%" class="mtx-class-macrohead" | '''ReadPressure'''
|-
|-
| colspan="2" | Read the value of the pressure sensor on the ARM gripper. Returns the value as a byte 
| colspan="2" | Read the value of the pressure sensor on the ARM gripper. Returns the value as a byte 
Line 484: Line 484:


===ReadSwitch===
===ReadSwitch===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadSwitch'''
| width="90%" class="mtx-class-macrohead" | '''ReadSwitch'''
|-
|-
| colspan="2" | Read the value of a single switch.  Returns the value as a byte 
| colspan="2" | Read the value of a single switch.  Returns the value as a byte 
Line 503: Line 503:


===SetAllServos===
===SetAllServos===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetAllServos'''
| width="90%" class="mtx-class-macrohead" | '''SetAllServos'''
|-
|-
| colspan="2" | Move all the servo positions between 0-180 Deg 
| colspan="2" | Move all the servo positions between 0-180 Deg 
Line 542: Line 542:


===SetServo===
===SetServo===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetServo'''
| width="90%" class="mtx-class-macrohead" | '''SetServo'''
|-
|-
| colspan="2" | Move the specified servo motor position between 0-180 Deg 
| colspan="2" | Move the specified servo motor position between 0-180 Deg 
Line 566: Line 566:


===SetTrim===
===SetTrim===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTrim'''
| width="90%" class="mtx-class-macrohead" | '''SetTrim'''
|-
|-
| colspan="2" | Allows minor adjustment on the 5 axis servo motors 
| colspan="2" | Allows minor adjustment on the 5 axis servo motors 
Line 590: Line 590:


===StoreCoords===
===StoreCoords===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StoreCoords'''
| width="90%" class="mtx-class-macrohead" | '''StoreCoords'''
|-
|-
| colspan="2" | Stores the provided coordinates as a position the ARM can recall. 
| colspan="2" | Stores the provided coordinates as a position the ARM can recall. 
Line 634: Line 634:


===StorePosition===
===StorePosition===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''StorePosition'''
| width="90%" class="mtx-class-macrohead" | '''StorePosition'''
|-
|-
| colspan="2" | Stores the current position of the ARMs 5 axis. 
| colspan="2" | Stores the current position of the ARMs 5 axis. 
Line 654: Line 654:
==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
| width="90%" class="mtx-class-propfolder" | Connections
|-
|-
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Operating Mode
| width="90%" class="mtx-class-propfolder" | Operating Mode
|-
|-
|-
|-

Latest revision as of 14:37, 13 July 2026

Author Matrix TSL
Version 1.0
Category Misc


Robot Arm AllCode API component

Matrix 5-axis Robot Arm with Gripper. Compatible with the Matrix Robot ARM Training Curriculum and Hardware. Features gripper pressure sensor, light sensor, colour sensor, Potentiometer, Magnetic sensor.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_RA_API_Component_Source.fcsx

Please click here to view the component source code (Beta): FC_Comp_Source_RA_API_Component_Source.fcsx

Detailed description

No detailed description exists yet for this component

Examples

No additional examples








Macro reference

Beep

Beep
Allows the beeper to output a warning 
- BYTE Iterations
Number of times to repeat 
- UINT OnDelay
Delay in ms 
- UINT OffDelay
Delay in ms 
- BYTE Return


GetAPIVersion

GetAPIVersion
Gets the API version of the Robot ARM Firmware 
- BYTE Return


GotoPosition

GotoPosition
Recalls a previously saved position for the ARMs 5 axis. 
- BYTE Index
Save Index - Range 0-29 
- VOID Return


GripperClose

GripperClose
Fully closes the gripper at the end of the arm ready to pick something up. Closes to a defined pressure using the built in pressure sensor. Returns 0 if nothing detected in the gripper Returns 1 if a valid object is detected 
- BYTE Pressure
Range 1 - 100, Default Pressure = 20 
- BYTE Return


GripperOpen

GripperOpen
Fully opens the gripper at the end of the arm ready to pick something up. 
- VOID Return


KineGetXYZ

KineGetXYZ
Calculates the current XYZ position from the current servo position coordinates  
- BYTE Index
Range 0-2 : 0=X, 1=Y, 2=Z 
- INT Return


KineSetXYZ

KineSetXYZ
Sets the XYZ position and calculates the various servo motor angles required. Returns 0=Impossible, 1=InPosition 
- INT X
 
- INT Y
 
- INT Z
 
- BYTE Return


LCDClear

LCDClear
Clears the entire contents of the display. 
- VOID Return


LCDClearLine

LCDClearLine
Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data. 
- BYTE Line
The line to clear, zero being the first (top) line of the display 
- VOID Return


LCDCursor

LCDCursor
Moves the cursor on the LCD Display 
- BYTE X
Set the cursor position in the X plane, 0 is the left most cell (0-15) 
- BYTE Y
Set the cursor position in the Y plane, 0 is the top most cell (0-1) 
- VOID Return


LCDPrintNum

LCDPrintNum
Will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 
- INT Number
Enter the number or variable to print to the LCD 
- VOID Return


LCDPrintStr

LCDPrintStr
Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro 
- STRING PrintString
Enter the text or variable to print to the LCD 
- VOID Return


LCDVerbose

LCDVerbose
Controls if the LCD is in user mode or verbose API mode, 
- BYTE Mode
0=User Mode, 1=API Verbose Mode 
- VOID Return


LEDOff

LEDOff
Switches off a single LED, LA0-LA7 
- BYTE Index
0=LA0, 1=LA1, 2=LA2, 3=LA3, 4=LA4, 5=LA5, 6=LA6, 7=LA7 
- VOID Return


LEDOn

LEDOn
Switches on a single LED, LA0-LA7 
- BYTE Index
0=LA0, 1=LA1, 2=LA2, 3=LA3, 4=LA4, 5=LA5, 6=LA6, 7=LA7 
- VOID Return


LEDWrite

LEDWrite
Allows a value to be sent to control all eight LEDs LA0-LA7 at once 
- BYTE Value
(0-63) 0b000000 
- VOID Return


MotorsMoving

MotorsMoving
Checks to see if any of the motors are still moving. 
- BYTE Return


Park

Park
Parks the Robot ARM and switches off the servo motors 
- VOID Return


ReadColour

ReadColour
Samples the Colour Sensor and reads the levels of Red, Green and Blue Light back as a 16-bit UINT variable. The colour format is 0b0BBBBBGGGGGRRRRR. The ReadColourChannel macro can be used to get individual channel colours. 
- UINT Return


ReadColourChannel

ReadColourChannel
Reads a single colour channel from the value returned from the ReadColour macro. 
- BYTE Index
0=Red, 1=Green, 2=Blue 
- UINT Colour
 
- BYTE Return


ReadPressure

ReadPressure
Read the value of the pressure sensor on the ARM gripper. Returns the value as a byte 
- BYTE Return


ReadSwitch

ReadSwitch
Read the value of a single switch. Returns the value as a byte 
- BYTE index
0=SA0, 1=SA1, 2=SA2, 3=SA3, 4=SA4, 5=SA5, 6=SA6, 7=SA7 
- BYTE Return


SetAllServos

SetAllServos
Move all the servo positions between 0-180 Deg 
- BYTE Servo0_Base
Position of servo0 in degrees (0-180) 
- BYTE Servo1_Shoulder
Position of servo1 in degrees (0-180) 
- BYTE Servo2_Elbow
Position of servo2 in degrees (0-180) 
- BYTE Servo3_Wrist
Position of servo3 in degrees (0-180) 
- BYTE Servo4_WristRotate
Position of servo4 in degrees (0-180) 
- VOID Return


SetServo

SetServo
Move the specified servo motor position between 0-180 Deg 
- BYTE Index
Range 0-4 : 0=Base, 1=Shoulder, 2=Elbow, 3=Wrist, 4=WristRotate 
- BYTE Position
Position of servo in degrees (0-180) 
- VOID Return


SetTrim

SetTrim
Allows minor adjustment on the 5 axis servo motors 
- BYTE Index
Motor Index Range 0-4 
- BYTE Trim
Amount of Trim Range 0-255, Default Value 128 
- VOID Return


StoreCoords

StoreCoords
Stores the provided coordinates as a position the ARM can recall. 
- BYTE Index
Save Index - Range 0-29 
- BYTE Position0
Range: 0-180 
- BYTE Position1
Range: 0-180 
- BYTE Position2
Range: 0-180 
- BYTE Position3
Range: 0-180 
- BYTE Position4
Range: 0-180 
- VOID Return


StorePosition

StorePosition
Stores the current position of the ARMs 5 axis. 
- BYTE Index
Save Index - Range 0-29 
- VOID Return


Property reference

Properties
Connections
Operating Mode
Mode