Component: Formula AllCode API (AllCode): Difference between revisions
Appearance
No edit summary |
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead"" |
||
| (14 intermediate revisions by 3 users not shown) | |||
| Line 15: | Line 15: | ||
A simulation only component to allow the Formula AllCode robot to be controlled via it's API interface and Bluetooth data connection without having to compile or re-program the robot. | A simulation only component to allow the Formula AllCode robot to be controlled via it's API interface and Bluetooth data connection without having to compile or re-program the robot. | ||
== | ==Detailed description== | ||
| Line 33: | Line 33: | ||
| Line 41: | Line 39: | ||
''No detailed description exists yet for this component'' | |||
==Examples== | |||
| Line 51: | Line 51: | ||
''<span style="color:red;">No additional examples</span>'' | |||
==Macro reference== | |||
{| class="wikitable | ===Backwards=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Backwards''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Drives the robot backwards - waits for the distance to be traversed before returning | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | Distance | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Distance in mm | ||
|- | |- | ||
| 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 138: | Line 101: | ||
{| class="wikitable | ===CardBitmap=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CardBitmap''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Displays a monochrome bitmap read from the card on the LCD | ||
|- | |- | ||
|- | |- | ||
| Line 149: | Line 113: | ||
| width="90%" | X | | width="90%" | X | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Range 0-127 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Y | | width="90%" | Y | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Range 0-31 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | | | width="90%" | Filename | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable" | ===CardCreate=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''CardCreate''' | |||
|- | |||
| colspan="2" | Attempts to create a file on the SD card 255=Error, 1=File Already Exists, 0=Create OK | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | Filename | |||
|- | |- | ||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===CardErase=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CardErase''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Attempts to delete an existing file on the SD card 255=Error, 1=File not found, 0=Delete OK | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | | | width="90%" | Filename | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===CardInit=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CardInit''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Attempts to startup the SD card 255=No Card, 254=Init Fail, 0=Init OK | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable" | ===CardOpen=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''CardOpen''' | |||
|- | |||
| colspan="2" | Attempts to open an existing file on the SD card 255=Error, 1=File not found, 0=Open OK | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | Filename | |||
|- | |- | ||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable" | ===CardPlayback=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''CardPlayback''' | |||
|- | |||
| colspan="2" | Plays back a .Wav file audio stream from the card | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | Filename | |||
|- | |- | ||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| Line 241: | Line 220: | ||
{| class="wikitable | ===CardReadByte=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CardReadByte''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Reads a byte from the currently open file. Starts at the beginning of the file and auto increments to the end | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| Line 259: | Line 234: | ||
{| class="wikitable | ===CardRecordMic=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CardRecordMic''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Records an audio stream on the card from the microphone | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | BitDepth | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0=8-bit, 1=16-bit | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | SampleRate | ||
|- | |||
| colspan="2" | Sample Rate 0=8KHz, 1=16KHz | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | |||
| width="90%" | RecordTime | |||
|- | |- | ||
| colspan="2" | | | colspan="2" | Time to record for in seconds, Range 0-65535 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | | | width="90%" | Filename | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===CardWriteByte=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''CardWriteByte''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Appends a byte to the end of the currently open file | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Data | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| 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 305: | Line 287: | ||
{| class="wikitable | ===EncoderRead=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''EncoderRead''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Reads one of the motor encoder counters. Approx 0.328296mm of travel per encoder unit. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | index | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0=Left, 1=Right | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===EncoderReset=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''EncoderReset''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Resets the motor encoder counters | ||
|- | |- | ||
|- | |- | ||
| 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- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===Forwards=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Forwards''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Drives the robot forwards - waits for the distance to be traversed before returning | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | Distance | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Distance in mm | ||
|- | |- | ||
| 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 359: | Line 339: | ||
{| class="wikitable | ===GetConsoleHandle=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetConsoleHandle''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Gets the handle to the console allowing data displaying on the panel etc. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable" | ===GetProp=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''GetProp''' | |||
|- | |||
| colspan="2" | Allows the property filter for the COM port list to be copied to a parent component. | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | PropName | |||
|- | |- | ||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===LCDBacklight=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDBacklight''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Allows the LCD backlight brighntess to be adjusted | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Intensity | ||
|- | |- | ||
| colspan="2" | 0 | | colspan="2" | Range 0-100, 0=Off, 1=Min Brightness, 100=Max Brightness | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===LCDClear=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDClear''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Clears the LCD | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===LCDDrawLine=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDDrawLine''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Allows a single pixel width line to be drawn on the LCD | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | X1 | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | X Pixel 0-127 | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90% | | width="90%" | Y1 | ||
|- | |- | ||
| | | colspan="2" | Y Pixel 0-31 | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | X2 | |||
|- | |- | ||
| colspan="2" | X Pixel 0-127 | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Y2 | ||
|- | |- | ||
| colspan="2" | 0 | | colspan="2" | Y Pixel 0-31 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===LCDDrawPixel=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDDrawPixel''' | ||
|- | |- | ||
| colspan="2" | Allows a single pixel on the LCD to be set or cleared | | colspan="2" | Allows a single pixel on the LCD to be set or cleared | ||
| Line 485: | Line 468: | ||
{| class="wikitable" | ===LCDDrawRect=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''LCDDrawRect''' | |||
|- | |||
| colspan="2" | Allows a rectangle to be drawn on the LCD | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | X1 | |||
|- | |- | ||
| | | colspan="2" | X Pixel 0-127 | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Y1 | |||
|- | |- | ||
| colspan="2" | Y Pixel 0-31 | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | X2 | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | X Pixel 0-127 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Y2 | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Y Pixel 0-31 | ||
|- | |- | ||
| 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 508: | Line 502: | ||
{| class="wikitable | ===LCDPrintNumber=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDPrintNumber''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Prints a 16-bit signed number to the LCD | ||
|- | |- | ||
|- | |- | ||
| Line 519: | Line 514: | ||
| width="90%" | X | | width="90%" | X | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | X Pixel 0-127 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Y | | width="90%" | Y | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | LCD Y coordinate 0-31 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT | ||
| width="90%" | | | width="90%" | Number | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Range -32768 to 32767 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===LCDPrintString=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDPrintString''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Prints a string to the LCD | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | X | ||
|- | |- | ||
| colspan="2" | 0 | | colspan="2" | X Pixel 0-127 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Y | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | LCD Y Coordinate 0-31 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | | | width="90%" | Data | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===LCDVerbose=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LCDVerbose''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Allows the LCD to automatically report the API commands as they get processed. Default - verbose on | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | State | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0=Off 1=On | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===LEDOff=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''LEDOff''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Clears a single LED 0-7 | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | index | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Range: 0-7 | ||
|- | |- | ||
| 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 605: | Line 598: | ||
{| class="wikitable" | ===LEDOn=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''LEDOn''' | |||
|- | |||
| colspan="2" | Sets a single LED 0-7 | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | index | |||
|- | |- | ||
| colspan="2" | Range: 0-7 | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable" | ===LEDWrite=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''LEDWrite''' | |||
|- | |||
| colspan="2" | Sets the value of the LEDs as an 8-bit output | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Value | |||
|- | |- | ||
| colspan="2" | LED value 0=All Off, 255 = All On | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable" | ===Left=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Left''' | |||
|- | |||
| colspan="2" | Rotates the robot left - waits for the angle to be traversed before returning | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | Angle | |||
|- | |- | ||
| colspan="2" | Angle to turn in degrees | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| width="90%" | | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |||
===PlayNote=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" class="mtx-class-macrohead" | '''PlayNote''' | |||
|- | |- | ||
| | | colspan="2" | Plays a note using the speaker on the FA | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | Note | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Range 1 to 65535 in Hz | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | Delay | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Number of milliseconds to play the note for | ||
|- | |- | ||
| 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 664: | Line 679: | ||
{| class="wikitable | ===ReadAllSensors=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadAllSensors''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Samples all of the robot's sensors at once, storing the values locally | ||
|- | |- | ||
|- | |- | ||
| 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 687: | Line 693: | ||
{| class="wikitable | ===ReadAllValue=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadAllValue''' | ||
|- | |- | ||
| colspan="2" | Reads a single value stored from the read all command Index dictates which sensor value to read | | colspan="2" | Reads a single value stored from the read all command Index dictates which sensor value to read | ||
| Line 705: | Line 712: | ||
{| class="wikitable | ===ReadAxis=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadAxis''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Reads a single X/Y/Z axis from the accelerometer sensor. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | index | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0=X, 1=Y, 2=Z | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable" | ===ReadBearing=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ReadBearing''' | |||
|- | |||
| colspan="2" | Reads the compass bearing based on the degrees clockwise from magnetic north. | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===ReadIR=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ReadIR''' | |||
|- | |- | ||
| | | colspan="2" | Reads an IR sensor 0=Left, 1=FrontLeft, 2=Front, 3=FrontRight, 4=Right, 5=RearRight, 6=Rear, 7=RearLeft | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | index | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0=Left, 1=FrontLeft, 2=Front, 3=FrontRight, 4=Right, 5=RearRight, 6=Rear, 7=RearLeft | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |||
===ReadLight=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" class="mtx-class-macrohead" | '''ReadLight''' | |||
|- | |- | ||
| | | colspan="2" | Reads the light sensor 0-4095 - 4095 = Max Brightness | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===ReadLine=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ReadLine''' | ||
|- | |- | ||
| colspan="2" | Reads one of the IR line sensors 0-1 0=Left, 1=Right | | colspan="2" | Reads one of the IR line sensors 0-1 0=Left, 1=Right | ||
| Line 774: | Line 797: | ||
{| class="wikitable" | ===ReadMic=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ReadMic''' | |||
|- | |||
| colspan="2" | Reads the microphone sensor 0 - 4095 | |||
|- | |- | ||
|- | |- | ||
| colspan="2" | | | 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'' | |||
|} | |||
===ReadSwitch=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ReadSwitch''' | |||
|- | |||
| colspan="2" | Read the switch value | |||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | index | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0 (left) or 1 (right) | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===Right=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Right''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Rotates the robot right - waits for the angle to be traversed before returning | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | Angle | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Angle to turn in degrees | ||
|- | |- | ||
| 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 810: | Line 849: | ||
{| class="wikitable | ===SampleAccel=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SampleAccel''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Samples the accelerometer 0 = no new data, 1 = new data available | ||
|- | |- | ||
|- | |- | ||
| Line 823: | Line 863: | ||
{| class="wikitable | ===SampleMag=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SampleMag''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Samples the magnetometer 0 = no new data, 1 = new data available | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| Line 841: | Line 877: | ||
{| class="wikitable" | ===ServoAutoMoveToPosition=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ServoAutoMoveToPosition''' | |||
|- | |||
| colspan="2" | Allows one of the servo positions to move gradually to a new position | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Channel | |||
|- | |- | ||
| colspan="2" | Range 0-3 | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Position | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Range 0-255 | ||
|- | |- | ||
| 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 859: | Line 901: | ||
{| class="wikitable | ===ServoDisable=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ServoDisable''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Allows one of the servo outputs 0-3 to be disabled | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Channel | ||
|- | |- | ||
| colspan="2" | 0 | | colspan="2" | Range 0-3 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===ServoEnable=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ServoEnable''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Allows one of the servo outputs 0-3 to be enabled | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Channel | ||
|- | |- | ||
| colspan="2" | Range - | | colspan="2" | Range 0-3 | ||
|- | |- | ||
| 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 900: | Line 939: | ||
{| class="wikitable | ===ServoSetAutoMoveSpeed=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ServoSetAutoMoveSpeed''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Changes the speed of the auto movements Default - 1 | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Speed | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Range 1-50 | ||
|- | |- | ||
| 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 918: | Line 958: | ||
{| class="wikitable" | ===ServoSetPosition=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''ServoSetPosition''' | |||
|- | |||
| colspan="2" | Allows one of the servo positions to be assigned | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | Channel | |||
|- | |- | ||
| | | colspan="2" | Range 0-3 | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Position | |||
|- | |- | ||
| colspan="2" | Range 0-255 | |||
|- | |- | ||
| 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 931: | Line 982: | ||
{| class="wikitable | ===SetLogoSpeed=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetLogoSpeed''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Sets the speed of logo movements | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Speed | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Logo Speed 1-100 - Default 40 | ||
|- | |- | ||
| 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 949: | Line 1,001: | ||
{| class="wikitable | ===SetMotors=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetMotors''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Sets the motor speeds without feedback Range -100 to 100 | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT | ||
| width="90%" | | | width="90%" | Left | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Range -100 to 100 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT | ||
| width="90%" | | | width="90%" | Right | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Range -100 to 100 | ||
|- | |- | ||
| 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 972: | Line 1,025: | ||
{| class="wikitable | ===SetProp=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetProp''' | ||
|- | |- | ||
| colspan="2" | Allows the COM port property to be set from a parent component. | |||
| colspan="2" | Allows | |||
|- | |- | ||
|- | |- | ||
| Line 998: | Line 1,039: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | ||
| width="90%" | PropVal | |||
| width="90% | |||
|- | |- | ||
| colspan="2" | | |||
|- | |- | ||
| 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'' | ||
|} | |} | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| Line 1,046: | Line 1,077: | ||
| colspan="2" | | | colspan="2" | | ||
|} | |} | ||
==Component Source Code== | |||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_FormulaAllCode_API.fcsx FC_Comp_Source_FormulaAllCode_API.fcsx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_FormulaAllCode_API.fcsx FC_Comp_Source_FormulaAllCode_API.fcsx] | |||
Latest revision as of 14:22, 13 July 2026
| Author | Matrix Ltd |
| Version | 1.2 |
| Category | AllCode |
Formula AllCode API component
A simulation only component to allow the Formula AllCode robot to be controlled via it's API interface and Bluetooth data connection without having to compile or re-program the robot.
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
Backwards
| Backwards | |
| Drives the robot backwards - waits for the distance to be traversed before returning | |
| Distance | |
| Distance in mm | |
| Return | |
CardBitmap
| CardBitmap | |
| Displays a monochrome bitmap read from the card on the LCD | |
| X | |
| Range 0-127 | |
| Y | |
| Range 0-31 | |
| Filename | |
| Return | |
CardCreate
| CardCreate | |
| Attempts to create a file on the SD card 255=Error, 1=File Already Exists, 0=Create OK | |
| Filename | |
| Return | |
CardErase
| CardErase | |
| Attempts to delete an existing file on the SD card 255=Error, 1=File not found, 0=Delete OK | |
| Filename | |
| Return | |
CardInit
| CardInit | |
| Attempts to startup the SD card 255=No Card, 254=Init Fail, 0=Init OK | |
| Return | |
CardOpen
| CardOpen | |
| Attempts to open an existing file on the SD card 255=Error, 1=File not found, 0=Open OK | |
| Filename | |
| Return | |
CardPlayback
| CardPlayback | |
| Plays back a .Wav file audio stream from the card | |
| Filename | |
| Return | |
CardReadByte
| CardReadByte | |
| Reads a byte from the currently open file. Starts at the beginning of the file and auto increments to the end | |
| Return | |
CardRecordMic
CardWriteByte
| CardWriteByte | |
| Appends a byte to the end of the currently open file | |
| Data | |
| Return | |
EncoderRead
| EncoderRead | |
| Reads one of the motor encoder counters. Approx 0.328296mm of travel per encoder unit. | |
| index | |
| 0=Left, 1=Right | |
| Return | |
EncoderReset
| EncoderReset | |
| Resets the motor encoder counters | |
| Return | |
Forwards
| Forwards | |
| Drives the robot forwards - waits for the distance to be traversed before returning | |
| Distance | |
| Distance in mm | |
| Return | |
GetConsoleHandle
| GetConsoleHandle | |
| Gets the handle to the console allowing data displaying on the panel etc. | |
| Return | |
GetProp
| GetProp | |
| Allows the property filter for the COM port list to be copied to a parent component. | |
| PropName | |
| Return | |
LCDBacklight
| LCDBacklight | |
| Allows the LCD backlight brighntess to be adjusted | |
| Intensity | |
| Range 0-100, 0=Off, 1=Min Brightness, 100=Max Brightness | |
| Return | |
LCDClear
| LCDClear | |
| Clears the LCD | |
| Return | |
LCDDrawLine
| LCDDrawLine | |
| Allows a single pixel width line to be drawn on the LCD | |
| X1 | |
| X Pixel 0-127 | |
| Y1 | |
| Y Pixel 0-31 | |
| X2 | |
| X Pixel 0-127 | |
| Y2 | |
| Y Pixel 0-31 | |
| Return | |
LCDDrawPixel
| LCDDrawPixel | |
| Allows a single pixel on the LCD to be set or cleared | |
| X | |
| X Pixel 0-127 | |
| Y | |
| Y Pixel 0-31 | |
| State | |
| 0=White (Off), 1=Black (On) | |
| Return | |
LCDDrawRect
| LCDDrawRect | |
| Allows a rectangle to be drawn on the LCD | |
| X1 | |
| X Pixel 0-127 | |
| Y1 | |
| Y Pixel 0-31 | |
| X2 | |
| X Pixel 0-127 | |
| Y2 | |
| Y Pixel 0-31 | |
| Return | |
LCDPrintNumber
| LCDPrintNumber | |
| Prints a 16-bit signed number to the LCD | |
| X | |
| X Pixel 0-127 | |
| Y | |
| LCD Y coordinate 0-31 | |
| Number | |
| Range -32768 to 32767 | |
| Return | |
LCDPrintString
| LCDPrintString | |
| Prints a string to the LCD | |
| X | |
| X Pixel 0-127 | |
| Y | |
| LCD Y Coordinate 0-31 | |
| Data | |
| Return | |
LCDVerbose
| LCDVerbose | |
| Allows the LCD to automatically report the API commands as they get processed. Default - verbose on | |
| State | |
| 0=Off 1=On | |
| Return | |
LEDOff
| LEDOff | |
| Clears a single LED 0-7 | |
| index | |
| Range: 0-7 | |
| Return | |
LEDOn
| LEDOn | |
| Sets a single LED 0-7 | |
| index | |
| Range: 0-7 | |
| Return | |
LEDWrite
| LEDWrite | |
| Sets the value of the LEDs as an 8-bit output | |
| Value | |
| LED value 0=All Off, 255 = All On | |
| Return | |
Left
| Left | |
| Rotates the robot left - waits for the angle to be traversed before returning | |
| Angle | |
| Angle to turn in degrees | |
| Return | |
PlayNote
| PlayNote | |
| Plays a note using the speaker on the FA | |
| Note | |
| Range 1 to 65535 in Hz | |
| Delay | |
| Number of milliseconds to play the note for | |
| Return | |
ReadAllSensors
| ReadAllSensors | |
| Samples all of the robot's sensors at once, storing the values locally | |
| Return | |
ReadAllValue
| ReadAllValue | |
| Reads a single value stored from the read all command Index dictates which sensor value to read | |
| Index | |
| 0=SW, 1-8=IR, 9-10=Line, 11=Light, 12=Mic, 13-15=Accel | |
| Return | |
ReadAxis
| ReadAxis | |
| Reads a single X/Y/Z axis from the accelerometer sensor. | |
| index | |
| 0=X, 1=Y, 2=Z | |
| Return | |
ReadBearing
| ReadBearing | |
| Reads the compass bearing based on the degrees clockwise from magnetic north. | |
| Return | |
ReadIR
ReadLight
| ReadLight | |
| Reads the light sensor 0-4095 - 4095 = Max Brightness | |
| Return | |
ReadLine
| ReadLine | |
| Reads one of the IR line sensors 0-1 0=Left, 1=Right | |
| index | |
| 0=Left, 1=Right | |
| Return | |
ReadMic
| ReadMic | |
| Reads the microphone sensor 0 - 4095 | |
| Return | |
ReadSwitch
| ReadSwitch | |
| Read the switch value | |
| index | |
| 0 (left) or 1 (right) | |
| Return | |
Right
| Right | |
| Rotates the robot right - waits for the angle to be traversed before returning | |
| Angle | |
| Angle to turn in degrees | |
| Return | |
SampleAccel
| SampleAccel | |
| Samples the accelerometer 0 = no new data, 1 = new data available | |
| Return | |
SampleMag
| SampleMag | |
| Samples the magnetometer 0 = no new data, 1 = new data available | |
| Return | |
ServoAutoMoveToPosition
| ServoAutoMoveToPosition | |
| Allows one of the servo positions to move gradually to a new position | |
| Channel | |
| Range 0-3 | |
| Position | |
| Range 0-255 | |
| Return | |
ServoDisable
| ServoDisable | |
| Allows one of the servo outputs 0-3 to be disabled | |
| Channel | |
| Range 0-3 | |
| Return | |
ServoEnable
| ServoEnable | |
| Allows one of the servo outputs 0-3 to be enabled | |
| Channel | |
| Range 0-3 | |
| Return | |
ServoSetAutoMoveSpeed
| ServoSetAutoMoveSpeed | |
| Changes the speed of the auto movements Default - 1 | |
| Speed | |
| Range 1-50 | |
| Return | |
ServoSetPosition
| ServoSetPosition | |
| Allows one of the servo positions to be assigned | |
| Channel | |
| Range 0-3 | |
| Position | |
| Range 0-255 | |
| Return | |
SetLogoSpeed
| SetLogoSpeed | |
| Sets the speed of logo movements | |
| Speed | |
| Logo Speed 1-100 - Default 40 | |
| Return | |
SetMotors
| SetMotors | |
| Sets the motor speeds without feedback Range -100 to 100 | |
| Left | |
| Range -100 to 100 | |
| Right | |
| Range -100 to 100 | |
| Return | |
SetProp
| SetProp | |
| Allows the COM port property to be set from a parent component. | |
| PropName | |
| PropVal | |
| Return | |
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_FormulaAllCode_API.fcsx
Please click here to view the component source code (Beta): FC_Comp_Source_FormulaAllCode_API.fcsx