Difference between revisions of "Component: Formula AllCode Dummy (RB4420) (Mechatronics)"
From Flowcode Help
Jump to navigationJump to searchLine 91: | Line 91: | ||
{{Fcfile|FA_API_Sim_Demo.fcfx|FA API Sim Demo}} | {{Fcfile|FA_API_Sim_Demo.fcfx|FA API Sim Demo}} | ||
+ | |||
+ | |||
Line 96: | Line 98: | ||
==Macro reference== | ==Macro reference== | ||
+ | ===PlayNote=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 119: | Line 122: | ||
+ | ===LEDOn=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 137: | Line 141: | ||
+ | ===BluetoothTransmit=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 155: | Line 160: | ||
+ | ===LCDPrintString=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 188: | Line 194: | ||
+ | ===Stop=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 201: | Line 208: | ||
+ | ===ReadBattery=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 214: | Line 222: | ||
+ | ===LEDOff=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 232: | Line 241: | ||
+ | ===LCDPrintNumber=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 265: | Line 275: | ||
+ | ===LEDWrite=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 283: | Line 294: | ||
+ | ===BluetoothCheckConnection=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 296: | Line 308: | ||
+ | ===ReadMic=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 309: | Line 322: | ||
+ | ===AudioQueueLength=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 322: | Line 336: | ||
+ | ===AudioAddToBuffer=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 340: | Line 355: | ||
+ | ===ReadSwitch=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 358: | Line 374: | ||
+ | ===CheckLine=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 376: | Line 393: | ||
+ | ===AudioStreamControl=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 399: | Line 417: | ||
+ | ===SpinLeft=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 417: | Line 436: | ||
+ | ===LogoTurnLeft=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 435: | Line 455: | ||
+ | ===Forward=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 453: | Line 474: | ||
+ | ===LCDWriteByte=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 481: | Line 503: | ||
+ | ===BluetoothReceive=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 494: | Line 517: | ||
+ | ===LCDDrawLine=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 527: | Line 551: | ||
+ | ===BluetoothQueueLength=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 540: | Line 565: | ||
+ | ===BluetoothTransmitString=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 558: | Line 584: | ||
+ | ===LCDBacklight=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 576: | Line 603: | ||
+ | ===AudioReadFromBuffer=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 589: | Line 617: | ||
+ | ===ReadLineSensor=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 607: | Line 636: | ||
+ | ===LogoTurnRight=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 625: | Line 655: | ||
+ | ===SpinRight=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 643: | Line 674: | ||
+ | ===CheckIR=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 661: | Line 693: | ||
+ | ===LCDPlotPixel=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 684: | Line 717: | ||
+ | ===LCDSetBackgroundColour=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 702: | Line 736: | ||
+ | ===ReadIRSensor=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 720: | Line 755: | ||
+ | ===SetMotors=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 743: | Line 779: | ||
+ | ===LogoBackwards=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 761: | Line 798: | ||
+ | ===EncoderReset=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 774: | Line 812: | ||
+ | ===Reverse=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 792: | Line 831: | ||
+ | ===WaitForSwitch=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 810: | Line 850: | ||
+ | ===ReadLDR=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 823: | Line 864: | ||
+ | ===LCDDrawRectangle=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 866: | Line 908: | ||
+ | ===EncoderReadCount=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 884: | Line 927: | ||
+ | ===CheckUSB=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 897: | Line 941: | ||
+ | ===LCDSetForegroundColour=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 915: | Line 960: | ||
+ | ===Initialise=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 928: | Line 974: | ||
+ | ===LogoSetSpeed=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 946: | Line 993: | ||
+ | ===LogoForwards=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 964: | Line 1,012: | ||
+ | ===LCDClear=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- |
Revision as of 11:49, 3 February 2023
Author | Matrix TSL |
Version | 1.2 |
Category | Mechatronics |
Contents
- 1 Formula AllCode Dummy component
- 2 Component Source Code
- 3 Detailed description
- 4 Examples
- 5 Macro reference
- 5.1 PlayNote
- 5.2 LEDOn
- 5.3 BluetoothTransmit
- 5.4 LCDPrintString
- 5.5 Stop
- 5.6 ReadBattery
- 5.7 LEDOff
- 5.8 LCDPrintNumber
- 5.9 LEDWrite
- 5.10 BluetoothCheckConnection
- 5.11 ReadMic
- 5.12 AudioQueueLength
- 5.13 AudioAddToBuffer
- 5.14 ReadSwitch
- 5.15 CheckLine
- 5.16 AudioStreamControl
- 5.17 SpinLeft
- 5.18 LogoTurnLeft
- 5.19 Forward
- 5.20 LCDWriteByte
- 5.21 BluetoothReceive
- 5.22 LCDDrawLine
- 5.23 BluetoothQueueLength
- 5.24 BluetoothTransmitString
- 5.25 LCDBacklight
- 5.26 AudioReadFromBuffer
- 5.27 ReadLineSensor
- 5.28 LogoTurnRight
- 5.29 SpinRight
- 5.30 CheckIR
- 5.31 LCDPlotPixel
- 5.32 LCDSetBackgroundColour
- 5.33 ReadIRSensor
- 5.34 SetMotors
- 5.35 LogoBackwards
- 5.36 EncoderReset
- 5.37 Reverse
- 5.38 WaitForSwitch
- 5.39 ReadLDR
- 5.40 LCDDrawRectangle
- 5.41 EncoderReadCount
- 5.42 CheckUSB
- 5.43 LCDSetForegroundColour
- 5.44 Initialise
- 5.45 LogoSetSpeed
- 5.46 LogoForwards
- 5.47 LCDClear
- 6 Property reference
Formula AllCode Dummy component
A component to allow all the features of the Formula AllCode robot to be investigated. Fully simulated component which can interact with simulated objects on the panel as well as control the real hardware.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_FA_Source_P4_Dummy_Template.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_FA_Source_P4_Dummy_Template.fcfx
Detailed description
No detailed description exists yet for this component
Examples
Line Following
Line following example using the Formula AllCode, works with objects on the simulation panel and on the real hardware.
Simulation with the API component
An example showing how to use the API component to drive the robot in simulation.
Macro reference
PlayNote
LEDOn
![]() |
LEDOn |
Switches on a single LED on the front of the Formula Allcode. | |
![]() |
LED |
Which LED to switch on, range 0-7 | |
![]() |
Return |
BluetoothTransmit
![]() |
BluetoothTransmit |
Sends a byte via the Bluetooth data connection. | |
![]() |
Data |
![]() |
Return |
LCDPrintString
Stop
![]() |
Stop |
Stops both motors. | |
![]() |
Return |
ReadBattery
LEDOff
![]() |
LEDOff |
Switches off a single LED on the front of the Formula Allcode. | |
![]() |
LED |
Which LED to switch on, range 0-7 | |
![]() |
Return |
LCDPrintNumber
LEDWrite
![]() |
LEDWrite |
Allows control of all 8-LEDs on the front of the Formula Allcode. | |
![]() |
LED_Byte |
8-bit binary value to write to the 8 LEDs | |
![]() |
Return |
BluetoothCheckConnection
![]() |
BluetoothCheckConnection |
Checks the status of the Bluetooth connection. Returns 0 for not paired and 1 for paired. | |
![]() |
Return |
ReadMic
![]() |
ReadMic |
Reads the current audio signal level from the on-board microphone. Return value range: 0 to 4095 | |
![]() |
Return |
AudioQueueLength
![]() |
AudioQueueLength |
Retreives the current length of valid data within the audio queue | |
![]() |
Return |
AudioAddToBuffer
![]() |
AudioAddToBuffer |
Writes a value to the 16-bit audio output buffer. | |
![]() |
Data |
![]() |
Return |
ReadSwitch
![]() |
ReadSwitch |
Reads the value of one of the switches from the front of the Formula Allcode. | |
![]() |
Switch |
Which switch do we want to read 0=Left, 1=Right | |
![]() |
Return |
CheckLine
AudioStreamControl
SpinLeft
![]() |
SpinLeft |
Spins the formula flowcode on the spot in an anticlockwise direction as seen from above. | |
![]() |
Power |
Amount of power to use to drive motor. Range 0-100 | |
![]() |
Return |
LogoTurnLeft
Forward
![]() |
Forward |
Drives both motors of the formula flowcode forwards with the power specified. | |
![]() |
Power |
Amount of power to use to drive motor. Range 0-100 | |
![]() |
Return |
LCDWriteByte
![]() |
LCDWriteByte |
![]() |
Data |
![]() |
X |
![]() |
Y |
![]() |
Return |
BluetoothReceive
![]() |
BluetoothReceive |
Attempt to read a byte from the Bluetooth receive queue. | |
![]() |
Return |
LCDDrawLine
![]() |
LCDDrawLine |
Draws a line on the LCD. | |
![]() |
X1 |
Range 0-127 | |
![]() |
Y1 |
Range 0-31 | |
![]() |
X2 |
Range 0-127 | |
![]() |
Y2 |
Range 0-31 | |
![]() |
Return |
BluetoothQueueLength
![]() |
BluetoothQueueLength |
Reads the length of received Bluetooth data in bytes. | |
![]() |
Return |
BluetoothTransmitString
![]() |
BluetoothTransmitString |
Sends a string via the Bluetooth data connection. | |
![]() |
Data |
![]() |
Return |
LCDBacklight
![]() |
LCDBacklight |
Controls the brighness of the LCD backlight | |
![]() |
Brightness |
Range: 0-100, 0=Off, 1=Min Brightness, 100=Max Brightness | |
![]() |
Return |
AudioReadFromBuffer
![]() |
AudioReadFromBuffer |
Allows the audio buffer to be used for other streaming data such as recording the mic. | |
![]() |
Return |
ReadLineSensor
LogoTurnRight
SpinRight
![]() |
SpinRight |
Spins the formula flowcode on the spot in a clockwise direction as seen from above. | |
![]() |
Power |
Amount of power to use to drive motor. Range 0-100 | |
![]() |
Return |
CheckIR
LCDPlotPixel
![]() |
LCDPlotPixel |
Allows a single pixel on the LCD to be set or cleared. | |
![]() |
X |
Sets the X coordinate - Range 0-127 | |
![]() |
Y |
Sets the Y coordinate - Range 0-31 | |
![]() |
Return |
LCDSetBackgroundColour
![]() |
LCDSetBackgroundColour |
Sets the pixel colour to drive the LCD. Default colour is 1 where a set pixel is black and the background is white. | |
![]() |
Colour |
Range 0-1 : 0=White, 1=Black | |
![]() |
Return |
ReadIRSensor
SetMotors
![]() |
SetMotors |
Sets the speed and direction of the Formula Allcode motors. | |
![]() |
Left |
Valid Range = -100 to 100 | |
![]() |
Right |
Valid Range = -100 to 100 | |
![]() |
Return |
LogoBackwards
EncoderReset
![]() |
EncoderReset |
Resets the encoder counters to 0 | |
![]() |
Return |
Reverse
![]() |
Reverse |
Drives both motors of the formula flowcode backwards with the power specified. | |
![]() |
Power |
Amount of power to use to drive motor. Range 0-100 | |
![]() |
Return |
WaitForSwitch
![]() |
WaitForSwitch |
Waits for the specified switch to be pressed. | |
![]() |
Switch |
Which switch do we want to wait for 0=Left, 1=Right, 2=Either, 3=Both | |
![]() |
Return |
ReadLDR
LCDDrawRectangle
EncoderReadCount
![]() |
EncoderReadCount |
Reads one of the motor encoder counters. Each encoder count is equal to 0.314159 mm. | |
![]() |
Channel |
0 = LeftCount, 1=RightCount | |
![]() |
Return |
CheckUSB
![]() |
CheckUSB |
Checks to see if a USB cable is connected to the robot. Returns 0 for no connection and 1 for an active connection. | |
![]() |
Return |
LCDSetForegroundColour
![]() |
LCDSetForegroundColour |
Sets the pixel colour to drive the LCD. Default colour is 1 where a set pixel is black and the background is white. | |
![]() |
Colour |
Range 0-1 : 0=White, 1=Black | |
![]() |
Return |
Initialise
![]() |
Initialise |
Starts up the Formula Allcode PWM for motor control and performs the wait for button press if enabled. | |
![]() |
Return |
LogoSetSpeed
![]() |
LogoSetSpeed |
Sets the cruise speed for LOGO type macros. Default speed 20%. | |
![]() |
Speed |
Range 1-100, Default 60 | |
![]() |
Return |
LogoForwards
LCDClear
![]() |
LCDClear |
Clears the contents of the graphical LCD. | |
![]() |
Return |