Difference between revisions of "Component: Formula AllCode Dummy (RB4420) (Mechatronics)"

From Flowcode Help
Jump to navigationJump to search
Line 17: Line 17:
 
==Component Source Code==
 
==Component Source Code==
  
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_FA_Source_P4_Dummy_Template.fcfx FC_Comp_Source_FA_Source_P4_Dummy_Template.fcfx]
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_temp/FA_Source_P4_Dummy_Template.fcfx FC_Comp_Source_temp/FA_Source_P4_Dummy_Template.fcfx]
  
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_FA_Source_P4_Dummy_Template.fcfx FC_Comp_Source_FA_Source_P4_Dummy_Template.fcfx]
+
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_temp/FA_Source_P4_Dummy_Template.fcfx FC_Comp_Source_temp/FA_Source_P4_Dummy_Template.fcfx]
  
 
==Detailed description==
 
==Detailed description==
Line 91: Line 91:
  
 
{{Fcfile|FA_API_Sim_Demo.fcfx|FA API Sim Demo}}
 
{{Fcfile|FA_API_Sim_Demo.fcfx|FA API Sim Demo}}
 +
 +
  
  
Line 98: Line 100:
 
==Macro reference==
 
==Macro reference==
  
===PlayNote===
+
===AudioAddToBuffer===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PlayNote'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AudioAddToBuffer'''
 
|-
 
|-
| colspan="2" | Outputs a single tone from the onboard speaker for the period specified. 
+
| colspan="2" | Writes a value to the 16-bit audio output buffer. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Note
+
| width="90%" | Data
 
|-
 
|-
| colspan="2" | Sets the pitch of the note in Hz. Range: 1 - 10000 
+
| colspan="2" |  
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Time
 
|-
 
| colspan="2" | Time period to play the note for in milliseconds. Range: 0 - 65535 ms 
 
 
|-
 
|-
 
| 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 122: Line 119:
  
  
===LEDOn===
+
===AudioQueueLength===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LEDOn'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AudioQueueLength'''
 
|-
 
|-
| colspan="2" | Switches on a single LED on the front of the Formula Allcode.  
+
| colspan="2" | Retreives the current length of valid data within the audio queue 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | LED
 
|-
 
| colspan="2" | Which LED to switch on, range 0-7 
 
|-
 
| 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''
 
|}
 
|}
  
  
===BluetoothTransmit===
+
===AudioReadFromBuffer===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BluetoothTransmit'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AudioReadFromBuffer'''
 
|-
 
|-
| colspan="2" | Sends a byte via the Bluetooth data connection. 
+
| colspan="2" | Allows the audio buffer to be used for other streaming data such as recording the mic.  
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Data
 
|-
 
| colspan="2" |  
 
|-
 
| 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''
 
|}
 
|}
  
  
===LCDPrintString===
+
===AudioStreamControl===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPrintString'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AudioStreamControl'''
 
|-
 
|-
| colspan="2" | Prints a string to the graphical LCD. 
+
| colspan="2" | Allows control of the audio output functionality via the onboard speaker. Data is loaded into the audio output buffer using the AddToBuffer function. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X
+
| width="90%" | Mode
 
|-
 
|-
| colspan="2" | The horizontal start pixel. Range 0-127 
+
| colspan="2" | 0=Off, 8=8-bit Mode, 16=16-bit Mode 
 
|-
 
|-
 
| 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%" | SampleRate
 
|-
 
|-
| colspan="2" | Y coordinate to print the string. Range 0-31 
+
| colspan="2" | Sets the sample rate 0=8KHz, 1=16KHz 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | Data
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===BluetoothCheckConnection===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" |  
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BluetoothCheckConnection'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| colspan="2" | Checks the status of the Bluetooth connection. Returns 0 for not paired and 1 for paired. 
| width="90%" | Transparent
 
 
|-
 
|-
| 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-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===Stop===
+
===BluetoothQueueLength===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Stop'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BluetoothQueueLength'''
 
|-
 
|-
| colspan="2" | Stops both motors. 
+
| colspan="2" | Reads the length of received Bluetooth data in bytes.  
 
|-
 
|-
 
|-
 
|-
| 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-u16-icon.png]] - UINT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===ReadBattery===
+
===BluetoothReceive===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadBattery'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BluetoothReceive'''
 
|-
 
|-
| colspan="2" | Reads the current voltage level from the LiPo battery. Return value is the battery voltage in Volts. Take care not to run the battery too low.  Voltages lower than 3.4V may damage the battery. 
+
| colspan="2" | Attempt to read a byte from the Bluetooth receive queue. 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
+
| 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''
 
|}
 
|}
  
  
===LEDOff===
+
===BluetoothTransmit===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LEDOff'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BluetoothTransmit'''
 
|-
 
|-
| colspan="2" | Switches off a single LED on the front of the Formula Allcode.  
+
| colspan="2" | Sends a byte via the Bluetooth data connection. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | LED
+
| width="90%" | Data
 
|-
 
|-
| colspan="2" | Which LED to switch on, range 0-7 
+
| 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 241: Line 232:
  
  
===LCDPrintNumber===
+
===BluetoothTransmitString===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPrintNumber'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BluetoothTransmitString'''
 
|-
 
|-
| colspan="2" | Prints a numeric value to the graphical LCD. 
+
| colspan="2" | Sends a string via the Bluetooth data connection. 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | X
+
| width="90%" | Data
 
|-
 
|-
| colspan="2" | The horizontal start pixel. Range 0-127 
+
| colspan="2" |  
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | Y
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===CheckIR===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | Y coordinate to print the string. Range 0-31 
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckIR'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| colspan="2" | Checks to see if a IR sensor is within the master threshold distance. Returns 0 if the IR reading is below the threshold. Returns 1 if the IR reading is greater than or equal to the threshold. 
| width="90%" | Number
 
 
|-
 
|-
| colspan="2" |  
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparent
+
| width="90%" | Sensor
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | Range: 0 to 7 - 0=Left, 1=Front Left, 2=Front, 3=Front Right, 4=Right, 5=Rear Right, 6=Rear, 7=Rear Left 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===LEDWrite===
+
===CheckLine===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LEDWrite'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckLine'''
 
|-
 
|-
| colspan="2" | Allows control of all 8-LEDs on the front of the Formula Allcode.  
+
| colspan="2" | Checks to see if a line sensor is within the master threshold distance. Returns 0 if the IR reading is below the threshold. Returns 1 if the IR reading is greater than or equal to the threshold. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | LED_Byte
+
| width="90%" | Sensor
 
|-
 
|-
| colspan="2" | 8-bit binary value to write to the 8 LEDs 
+
| colspan="2" | Range: 0 to 1 - 0=Left, 1=Right 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===BluetoothCheckConnection===
+
===CheckUSB===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BluetoothCheckConnection'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckUSB'''
 
|-
 
|-
| colspan="2" | Checks the status of the Bluetooth connection. Returns 0 for not paired and 1 for paired. 
+
| colspan="2" | Checks to see if a USB cable is connected to the robot. Returns 0 for no connection and 1 for an active connection. 
 
|-
 
|-
 
|-
 
|-
Line 308: Line 303:
  
  
===ReadMic===
+
===EncoderReadCount===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadMic'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EncoderReadCount'''
 +
|-
 +
| colspan="2" | Reads one of the motor encoder counters. Each encoder count is equal to 0.314159 mm.  
 +
|-
 
|-
 
|-
| colspan="2" | Reads the current audio signal level from the on-board microphone. Return value range: 0 to 4095 
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Channel
 
|-
 
|-
 +
| colspan="2" | 0 = LeftCount, 1=RightCount 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
Line 322: Line 322:
  
  
===AudioQueueLength===
+
===EncoderReset===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AudioQueueLength'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EncoderReset'''
 
|-
 
|-
| colspan="2" | Retreives the current length of valid data within the audio queue 
+
| colspan="2" | Resets the encoder counters to 0 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===AudioAddToBuffer===
+
===Forward===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AudioAddToBuffer'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Forward'''
 
|-
 
|-
| colspan="2" | Writes a value to the 16-bit audio output buffer. 
+
| colspan="2" | Drives both motors of the formula flowcode forwards with the power specified.  
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Data
+
| width="90%" | Power
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | Amount of power to use to drive motor. Range 0-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 355: Line 355:
  
  
===ReadSwitch===
+
===Initialise===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadSwitch'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
 
|-
 
|-
| colspan="2" | Reads the value of one of the switches from the front of the Formula Allcode. 
+
| colspan="2" | Starts up the Formula Allcode PWM for motor control and performs the wait for button press if enabled. 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | Switch
 
|-
 
| colspan="2" | Which switch do we want to read 0=Left, 1=Right 
 
|-
 
| 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''
 
|}
 
|}
  
  
===CheckLine===
+
===LCDBacklight===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckLine'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDBacklight'''
 
|-
 
|-
| colspan="2" | Checks to see if a line sensor is within the master threshold distance. Returns 0 if the IR reading is below the threshold. Returns 1 if the IR reading is greater than or equal to the threshold. 
+
| colspan="2" | Controls the brighness of the LCD backlight 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Sensor
+
| width="90%" | Brightness
 
|-
 
|-
| colspan="2" | Range: 0 to 1 - 0=Left, 1=Right 
+
| 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-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===AudioStreamControl===
+
===LCDClear===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AudioStreamControl'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDClear'''
|-
 
| colspan="2" | Allows control of the audio output functionality via the onboard speaker. Data is loaded into the audio output buffer using the AddToBuffer function. 
 
 
|-
 
|-
 +
| colspan="2" | Clears the contents of the graphical LCD. 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Mode
 
|-
 
| colspan="2" | 0=Off, 8=8-bit Mode, 16=16-bit Mode 
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | SampleRate
 
|-
 
| colspan="2" | Sets the sample rate 0=8KHz, 1=16KHz 
 
 
|-
 
|-
 
| 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 417: Line 402:
  
  
===SpinLeft===
+
===LCDDrawLine===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SpinLeft'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDDrawLine'''
 
|-
 
|-
| colspan="2" | Spins the formula flowcode on the spot in an anticlockwise direction as seen from above.  
+
| colspan="2" | Draws a line on the LCD. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Power
+
| width="90%" | X1
 
|-
 
|-
| colspan="2" | Amount of power to use to drive motor. Range 0-100 
+
| colspan="2" | Range 0-127 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | Y1
|}
 
 
 
 
 
===LogoTurnLeft===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| colspan="2" | Range 0-31 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LogoTurnLeft'''
 
 
|-
 
|-
| colspan="2" | Rotates the robot left by a specific angle using the encoders as feedback to ensure the robot turns evenly. Automatically stops at the specified turn angle. 
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | X2
 
|-
 
|-
 +
| colspan="2" | Range 0-127 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Angle
+
| width="90%" | Y2
 
|-
 
|-
| colspan="2" | Angle in degrees you wish to rotate. Range 1-65536 
+
| colspan="2" | Range 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 455: Line 436:
  
  
===Forward===
+
===LCDDrawRectangle===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Forward'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDDrawRectangle'''
 
|-
 
|-
| colspan="2" | Drives both motors of the formula flowcode forwards with the power specified.  
+
| colspan="2" | Draws a rectange on the LCD. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Power
+
| width="90%" | X1
 
|-
 
|-
| colspan="2" | Amount of power to use to drive motor. Range 0-100 
+
| colspan="2" | Range 0-127 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | Y1
|}
 
 
 
 
 
===LCDWriteByte===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| colspan="2" | Range 0-31 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDWriteByte'''
 
 
|-
 
|-
| colspan="2" |  
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | X2
 
|-
 
|-
 +
| 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%" | Data
+
| width="90%" | Y2
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | Range 0-31 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X
+
| width="90%" | Transparent
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | Sets the transparency of the box, 0=Box contains background colour, 1=Box contains previous pixel data 
 
|-
 
|-
 
| 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%" | Solid
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | Chooses to fill the box with colour, 0=Box contains transparency data, 1=Box contains foreground colour 
 
|-
 
|-
 
| 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 503: Line 480:
  
  
===BluetoothReceive===
+
===LCDPlotPixel===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BluetoothReceive'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPlotPixel'''
 +
|-
 +
| colspan="2" | Allows a single pixel on the LCD to be set or cleared. 
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | X
 +
|-
 +
| colspan="2" | Sets the X coordinate - Range 0-127 
 
|-
 
|-
| colspan="2" | Attempt to read a byte from the Bluetooth receive queue. 
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Y
 
|-
 
|-
 +
| colspan="2" | Sets the Y coordinate - Range 0-31 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===LCDDrawLine===
+
===LCDPrintNumber===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDDrawLine'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPrintNumber'''
 
|-
 
|-
| colspan="2" | Draws a line on the LCD. 
+
| colspan="2" | Prints a numeric value to the graphical LCD. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X1
+
| width="90%" | X
 
|-
 
|-
| colspan="2" | Range 0-127 
+
| colspan="2" | The horizontal start pixel. 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%" | Y1
+
| width="90%" | Y
 
|-
 
|-
| colspan="2" | Range 0-31 
+
| colspan="2" | Y coordinate to print the string. Range 0-31 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X2
+
| width="90%" | Number
 
|-
 
|-
| colspan="2" | Range 0-127 
+
| colspan="2" |  
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y2
+
| width="90%" | Transparent
 
|-
 
|-
| colspan="2" | Range 0-31 
+
| 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 551: Line 538:
  
  
===BluetoothQueueLength===
+
===LCDPrintString===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BluetoothQueueLength'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPrintString'''
 
|-
 
|-
| colspan="2" | Reads the length of received Bluetooth data in bytes.  
+
| colspan="2" | Prints a string to the graphical LCD. 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | X
|}
 
 
 
 
 
===BluetoothTransmitString===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| colspan="2" | The horizontal start pixel. Range 0-127 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BluetoothTransmitString'''
 
 
|-
 
|-
| colspan="2" | Sends a string via the Bluetooth data connection. 
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Y
 
|-
 
|-
 +
| colspan="2" | Y coordinate to print the string. 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%" | Data
 
| width="90%" | Data
 +
|-
 +
| colspan="2" |  
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Transparent
 
|-
 
|-
 
| colspan="2" |  
 
| colspan="2" |  
Line 584: Line 572:
  
  
===LCDBacklight===
+
===LCDSetBackgroundColour===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDBacklight'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDSetBackgroundColour'''
 
|-
 
|-
| colspan="2" | Controls the brighness of the LCD backlight 
+
| colspan="2" | Sets the pixel colour to drive the LCD. Default colour is 1 where a set pixel is black and the background is white. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Brightness
+
| width="90%" | Colour
 
|-
 
|-
| colspan="2" | Range: 0-100, 0=Off, 1=Min Brightness, 100=Max Brightness 
+
| colspan="2" | Range 0-1 : 0=White, 1=Black 
 
|-
 
|-
 
| 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 603: Line 591:
  
  
===AudioReadFromBuffer===
+
===LCDSetForegroundColour===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AudioReadFromBuffer'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDSetForegroundColour'''
 +
|-
 +
| colspan="2" | Sets the pixel colour to drive the LCD. Default colour is 1 where a set pixel is black and the background is white. 
 +
|-
 
|-
 
|-
| colspan="2" | Allows the audio buffer to be used for other streaming data such as recording the mic.  
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Colour
 
|-
 
|-
 +
| colspan="2" | Range 0-1 : 0=White, 1=Black 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===ReadLineSensor===
+
===LCDWriteByte===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadLineSensor'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDWriteByte'''
 +
|-
 +
| colspan="2" |  
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Data
 +
|-
 +
| colspan="2" |  
 
|-
 
|-
| colspan="2" | Reads the analogue value from the specified IR line sensor. Return value range: 0 to 4095 4095 represents the object is reflecting the most light. 
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | X
 
|-
 
|-
 +
| colspan="2" |  
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
+
| width="90%" | Y
 
|-
 
|-
| colspan="2" | Range: 0 to 1 - 0=Left, 1=Right 
+
| colspan="2" |  
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===LogoTurnRight===
+
===LEDOff===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LogoTurnRight'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LEDOff'''
 
|-
 
|-
| colspan="2" | Rotates the robot right by a specific angle using the encoders as feedback to ensure the robot turns evenly. Automatically stops at the specified turn angle. 
+
| colspan="2" | Switches off a single LED on the front of the Formula Allcode.  
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Angle
+
| width="90%" | LED
 
|-
 
|-
| colspan="2" | Angle in degrees you wish to rotate. Range 1-65536 
+
| colspan="2" | Which LED to switch on, 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 655: Line 658:
  
  
===SpinRight===
+
===LEDOn===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SpinRight'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LEDOn'''
 
|-
 
|-
| colspan="2" | Spins the formula flowcode on the spot in a clockwise direction as seen from above.  
+
| colspan="2" | Switches on a single LED on the front of the Formula Allcode.  
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Power
+
| width="90%" | LED
 
|-
 
|-
| colspan="2" | Amount of power to use to drive motor. Range 0-100 
+
| colspan="2" | Which LED to switch on, 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 674: Line 677:
  
  
===CheckIR===
+
===LEDWrite===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckIR'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LEDWrite'''
 
|-
 
|-
| colspan="2" | Checks to see if a IR sensor is within the master threshold distance. Returns 0 if the IR reading is below the threshold. Returns 1 if the IR reading is greater than or equal to the threshold. 
+
| colspan="2" | Allows control of all 8-LEDs on the front of the Formula Allcode.  
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Sensor
+
| width="90%" | LED_Byte
 
|-
 
|-
| colspan="2" | Range: 0 to 7 - 0=Left, 1=Front Left, 2=Front, 3=Front Right, 4=Right, 5=Rear Right, 6=Rear, 7=Rear Left 
+
| colspan="2" | 8-bit binary value to write to the 8 LEDs 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===LCDPlotPixel===
+
===LogoBackwards===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPlotPixel'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LogoBackwards'''
 
|-
 
|-
| colspan="2" | Allows a single pixel on the LCD to be set or cleared. 
+
| colspan="2" | Drives the robot backward using the encoders as feedback to ensure the robot drives straight. Automatically stops at the specified distance. 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
+
| width="90%" | Distance
 
|-
 
|-
| colspan="2" | Sets the X coordinate - Range 0-127 
+
| colspan="2" | Distance you want to robot to drive in mm. Range 1-65535 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Y
 
|-
 
| colspan="2" | Sets the Y coordinate - Range 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 717: Line 715:
  
  
===LCDSetBackgroundColour===
+
===LogoForwards===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDSetBackgroundColour'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LogoForwards'''
 
|-
 
|-
| colspan="2" | Sets the pixel colour to drive the LCD. Default colour is 1 where a set pixel is black and the background is white. 
+
| colspan="2" | Drives the robot forward using the encoders as feedback to ensure the robot drives straight. Automatically stops at the specified distance. 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Colour
+
| width="90%" | Distance
 
|-
 
|-
| colspan="2" | Range 0-1 : 0=White, 1=Black 
+
| colspan="2" | Distance you want to robot to drive in mm. Range 1-65535 
 
|-
 
|-
 
| 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 736: Line 734:
  
  
===ReadIRSensor===
+
===LogoSetSpeed===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadIRSensor'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LogoSetSpeed'''
 
|-
 
|-
| colspan="2" | Reads the analogue value from the specified IR distance sensor. Return value range: 0 to 4095 4095 represents the object is very close. 
+
| colspan="2" | Sets the cruise speed for LOGO type macros. Default speed 20%. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
+
| width="90%" | Speed
 
|-
 
|-
| colspan="2" | Range: 0 to 7 - 0=Left, 1=Front Left, 2=Front, 3=Front Right, 4=Right, 5=Rear Right, 6=Rear, 7=Rear Left 
+
| colspan="2" | Range 1-100, Default 60 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===SetMotors===
+
===LogoTurnLeft===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetMotors'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LogoTurnLeft'''
 
|-
 
|-
| colspan="2" | Sets the speed and direction of the Formula Allcode motors.  
+
| colspan="2" | Rotates the robot left by a specific angle using the encoders as feedback to ensure the robot turns evenly. Automatically stops at the specified turn angle. 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Left
+
| width="90%" | Angle
 
|-
 
|-
| colspan="2" | Valid Range = -100 to 100 
+
| colspan="2" | Angle in degrees you wish to rotate. Range 1-65536 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" | Right
 
|-
 
| colspan="2" | Valid 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 779: Line 772:
  
  
===LogoBackwards===
+
===LogoTurnRight===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LogoBackwards'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LogoTurnRight'''
 
|-
 
|-
| colspan="2" | Drives the robot backward using the encoders as feedback to ensure the robot drives straight. Automatically stops at the specified distance. 
+
| colspan="2" | Rotates the robot right by a specific angle using the encoders as feedback to ensure the robot turns evenly. Automatically stops at the specified turn angle. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Distance
+
| width="90%" | Angle
 
|-
 
|-
| colspan="2" | Distance you want to robot to drive in mm. Range 1-65535 
+
| colspan="2" | Angle in degrees you wish to rotate. Range 1-65536 
 
|-
 
|-
 
| 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 798: Line 791:
  
  
===EncoderReset===
+
===PlayNote===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EncoderReset'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PlayNote'''
 +
|-
 +
| colspan="2" | Outputs a single tone from the onboard speaker for the period specified. 
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Note
 +
|-
 +
| colspan="2" | Sets the pitch of the note in Hz. Range: 1 - 10000 
 
|-
 
|-
| colspan="2" | Resets the encoder counters to 0 
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 +
| width="90%" | Time
 
|-
 
|-
 +
| colspan="2" | Time period to play the note for in milliseconds. Range: 0 - 65535 ms 
 
|-
 
|-
 
| 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 812: Line 815:
  
  
===Reverse===
+
===ReadBattery===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Reverse'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadBattery'''
 
|-
 
|-
| colspan="2" | Drives both motors of the formula flowcode backwards with the power specified.  
+
| colspan="2" | Reads the current voltage level from the LiPo battery. Return value is the battery voltage in Volts. Take care not to run the battery too low.  Voltages lower than 3.4V may damage the battery. 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="90%" | Power
 
|-
 
| colspan="2" | Amount of power to use to drive motor. Range 0-100 
 
|-
 
| 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''
 
|}
 
|}
  
  
===WaitForSwitch===
+
===ReadIRSensor===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WaitForSwitch'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadIRSensor'''
 
|-
 
|-
| colspan="2" | Waits for the specified switch to be pressed. 
+
| colspan="2" | Reads the analogue value from the specified IR distance sensor. Return value range: 0 to 4095 4095 represents the object is very close. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Switch
+
| width="90%" | Channel
 
|-
 
|-
| colspan="2" | Which switch do we want to wait for 0=Left, 1=Right, 2=Either, 3=Both 
+
| colspan="2" | Range: 0 to 7 - 0=Left, 1=Front Left, 2=Front, 3=Front Right, 4=Right, 5=Rear Right, 6=Rear, 7=Rear Left 
 
|-
 
|-
| 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-u16-icon.png]] - UINT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
Line 864: Line 862:
  
  
===LCDDrawRectangle===
+
===ReadLineSensor===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDDrawRectangle'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadLineSensor'''
 
|-
 
|-
| colspan="2" | Draws a rectange on the LCD. 
+
| colspan="2" | Reads the analogue value from the specified IR line sensor. Return value range: 0 to 4095 4095 represents the object is reflecting the most light. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X1
+
| width="90%" | Channel
 
|-
 
|-
| colspan="2" | Range 0-127 
+
| colspan="2" | Range: 0 to 1 - 0=Left, 1=Right 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y1
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===ReadMic===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | Range 0-31 
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadMic'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" | Reads the current audio signal level from the on-board microphone. Return value range: 0 to 4095 
| width="90%" | X2
 
 
|-
 
|-
| colspan="2" | Range 0-127 
 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Y2
 
|-
 
| colspan="2" | Range 0-31 
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Transparent
 
|-
 
| colspan="2" | Sets the transparency of the box, 0=Box contains background colour, 1=Box contains previous pixel data 
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Solid
 
|-
 
| colspan="2" | Chooses to fill the box with colour, 0=Box contains transparency data, 1=Box contains foreground colour 
 
|-
 
| 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''
 
|}
 
|}
  
  
===EncoderReadCount===
+
===ReadSwitch===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EncoderReadCount'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadSwitch'''
 
|-
 
|-
| colspan="2" | Reads one of the motor encoder counters. Each encoder count is equal to 0.314159 mm.  
+
| colspan="2" | Reads the value of one of the switches from the front of the Formula Allcode. 
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
+
| width="90%" | Switch
 
|-
 
|-
| colspan="2" | 0 = LeftCount, 1=RightCount 
+
| colspan="2" | Which switch do we want to read 0=Left, 1=Right 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
===CheckUSB===
+
===Reverse===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckUSB'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Reverse'''
 +
|-
 +
| colspan="2" | Drives both motors of the formula flowcode backwards with the power specified.  
 
|-
 
|-
| colspan="2" | Checks to see if a USB cable is connected to the robot. Returns 0 for no connection and 1 for an active connection. 
 
 
|-
 
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Power
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" | Amount of power to use to drive motor. Range 0-100 
 +
|-
 +
| 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''
 
|}
 
|}
  
  
===LCDSetForegroundColour===
+
===SetMotors===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDSetForegroundColour'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetMotors'''
 +
|-
 +
| colspan="2" | Sets the speed and direction of the Formula Allcode motors.  
 +
|-
 
|-
 
|-
| colspan="2" | Sets the pixel colour to drive the LCD. Default colour is 1 where a set pixel is black and the background is white. 
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | Left
 
|-
 
|-
 +
| colspan="2" | Valid Range = -100 to 100 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Colour
+
| width="90%" | Right
 
|-
 
|-
| colspan="2" | Range 0-1 : 0=White, 1=Black 
+
| colspan="2" | Valid 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 960: Line 957:
  
  
===Initialise===
+
===SpinLeft===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SpinLeft'''
 +
|-
 +
| colspan="2" | Spins the formula flowcode on the spot in an anticlockwise direction as seen from above.  
 +
|-
 
|-
 
|-
| colspan="2" | Starts up the Formula Allcode PWM for motor control and performs the wait for button press if enabled. 
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Power
 
|-
 
|-
 +
| colspan="2" | Amount of power to use to drive motor. Range 0-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 974: Line 976:
  
  
===LogoSetSpeed===
+
===SpinRight===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LogoSetSpeed'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SpinRight'''
 
|-
 
|-
| colspan="2" | Sets the cruise speed for LOGO type macros. Default speed 20%. 
+
| colspan="2" | Spins the formula flowcode on the spot in a clockwise direction as seen from above.  
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Speed
+
| width="90%" | Power
 
|-
 
|-
| colspan="2" | Range 1-100, Default 60 
+
| colspan="2" | Amount of power to use to drive motor. Range 0-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 993: Line 995:
  
  
===LogoForwards===
+
===Stop===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LogoForwards'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Stop'''
 
|-
 
|-
| colspan="2" | Drives the robot forward using the encoders as feedback to ensure the robot drives straight. Automatically stops at the specified distance. 
+
| colspan="2" | Stops both motors. 
 
|-
 
|-
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Distance
 
|-
 
| colspan="2" | Distance you want to robot to drive in mm. Range 1-65535 
 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 1,012: Line 1,009:
  
  
===LCDClear===
+
===WaitForSwitch===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDClear'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WaitForSwitch'''
 +
|-
 +
| colspan="2" | Waits for the specified switch to be pressed. 
 +
|-
 
|-
 
|-
| colspan="2" | Clears the contents of the graphical LCD. 
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | Switch
 
|-
 
|-
 +
| colspan="2" | Which switch do we want to wait for 0=Left, 1=Right, 2=Either, 3=Both 
 
|-
 
|-
 
| 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

Revision as of 12:00, 3 February 2023

Author Matrix TSL
Version 1.2
Category Mechatronics


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_temp/FA_Source_P4_Dummy_Template.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_temp/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.

FC6 Icon.png FA-Line

FALine.jpg


Simulation with the API component

An example showing how to use the API component to drive the robot in simulation.

FC6 Icon.png FA API Sim Demo




Macro reference

AudioAddToBuffer

Fc9-comp-macro.png AudioAddToBuffer
Writes a value to the 16-bit audio output buffer. 
Fc9-u16-icon.png - UINT Data
 
Fc9-void-icon.png - VOID Return


AudioQueueLength

Fc9-comp-macro.png AudioQueueLength
Retreives the current length of valid data within the audio queue 
Fc9-u16-icon.png - UINT Return


AudioReadFromBuffer

Fc9-comp-macro.png AudioReadFromBuffer
Allows the audio buffer to be used for other streaming data such as recording the mic.  
Fc9-u16-icon.png - UINT Return


AudioStreamControl

Fc9-comp-macro.png AudioStreamControl
Allows control of the audio output functionality via the onboard speaker. Data is loaded into the audio output buffer using the AddToBuffer function. 
Fc9-u8-icon.png - BYTE Mode
0=Off, 8=8-bit Mode, 16=16-bit Mode 
Fc9-u8-icon.png - BYTE SampleRate
Sets the sample rate 0=8KHz, 1=16KHz 
Fc9-void-icon.png - VOID Return


BluetoothCheckConnection

Fc9-comp-macro.png BluetoothCheckConnection
Checks the status of the Bluetooth connection. Returns 0 for not paired and 1 for paired. 
Fc9-u8-icon.png - BYTE Return


BluetoothQueueLength

Fc9-comp-macro.png BluetoothQueueLength
Reads the length of received Bluetooth data in bytes.  
Fc9-u16-icon.png - UINT Return


BluetoothReceive

Fc9-comp-macro.png BluetoothReceive
Attempt to read a byte from the Bluetooth receive queue. 
Fc9-u8-icon.png - BYTE Return


BluetoothTransmit

Fc9-comp-macro.png BluetoothTransmit
Sends a byte via the Bluetooth data connection. 
Fc9-u8-icon.png - BYTE Data
 
Fc9-void-icon.png - VOID Return


BluetoothTransmitString

Fc9-comp-macro.png BluetoothTransmitString
Sends a string via the Bluetooth data connection. 
Fc9-string-icon.png - STRING Data
 
Fc9-void-icon.png - VOID Return


CheckIR

Fc9-comp-macro.png CheckIR
Checks to see if a IR sensor is within the master threshold distance. Returns 0 if the IR reading is below the threshold. Returns 1 if the IR reading is greater than or equal to the threshold. 
Fc9-u8-icon.png - BYTE Sensor
Range: 0 to 7 - 0=Left, 1=Front Left, 2=Front, 3=Front Right, 4=Right, 5=Rear Right, 6=Rear, 7=Rear Left 
Fc9-u8-icon.png - BYTE Return


CheckLine

Fc9-comp-macro.png CheckLine
Checks to see if a line sensor is within the master threshold distance. Returns 0 if the IR reading is below the threshold. Returns 1 if the IR reading is greater than or equal to the threshold. 
Fc9-u8-icon.png - BYTE Sensor
Range: 0 to 1 - 0=Left, 1=Right 
Fc9-u8-icon.png - BYTE Return


CheckUSB

Fc9-comp-macro.png CheckUSB
Checks to see if a USB cable is connected to the robot. Returns 0 for no connection and 1 for an active connection. 
Fc9-u8-icon.png - BYTE Return


EncoderReadCount

Fc9-comp-macro.png EncoderReadCount
Reads one of the motor encoder counters. Each encoder count is equal to 0.314159 mm.  
Fc9-u8-icon.png - BYTE Channel
0 = LeftCount, 1=RightCount 
Fc9-u16-icon.png - UINT Return


EncoderReset

Fc9-comp-macro.png EncoderReset
Resets the encoder counters to 0 
Fc9-void-icon.png - VOID Return


Forward

Fc9-comp-macro.png Forward
Drives both motors of the formula flowcode forwards with the power specified.  
Fc9-u8-icon.png - BYTE Power
Amount of power to use to drive motor. Range 0-100 
Fc9-void-icon.png - VOID Return


Initialise

Fc9-comp-macro.png Initialise
Starts up the Formula Allcode PWM for motor control and performs the wait for button press if enabled. 
Fc9-void-icon.png - VOID Return


LCDBacklight

Fc9-comp-macro.png LCDBacklight
Controls the brighness of the LCD backlight 
Fc9-u8-icon.png - BYTE Brightness
Range: 0-100, 0=Off, 1=Min Brightness, 100=Max Brightness 
Fc9-void-icon.png - VOID Return


LCDClear

Fc9-comp-macro.png LCDClear
Clears the contents of the graphical LCD. 
Fc9-void-icon.png - VOID Return


LCDDrawLine

Fc9-comp-macro.png LCDDrawLine
Draws a line on the LCD. 
Fc9-u8-icon.png - BYTE X1
Range 0-127 
Fc9-u8-icon.png - BYTE Y1
Range 0-31 
Fc9-u8-icon.png - BYTE X2
Range 0-127 
Fc9-u8-icon.png - BYTE Y2
Range 0-31 
Fc9-void-icon.png - VOID Return


LCDDrawRectangle

Fc9-comp-macro.png LCDDrawRectangle
Draws a rectange on the LCD. 
Fc9-u8-icon.png - BYTE X1
Range 0-127 
Fc9-u8-icon.png - BYTE Y1
Range 0-31 
Fc9-u8-icon.png - BYTE X2
Range 0-127 
Fc9-u8-icon.png - BYTE Y2
Range 0-31 
Fc9-u8-icon.png - BYTE Transparent
Sets the transparency of the box, 0=Box contains background colour, 1=Box contains previous pixel data 
Fc9-u8-icon.png - BYTE Solid
Chooses to fill the box with colour, 0=Box contains transparency data, 1=Box contains foreground colour 
Fc9-void-icon.png - VOID Return


LCDPlotPixel

Fc9-comp-macro.png LCDPlotPixel
Allows a single pixel on the LCD to be set or cleared. 
Fc9-u8-icon.png - BYTE X
Sets the X coordinate - Range 0-127 
Fc9-u8-icon.png - BYTE Y
Sets the Y coordinate - Range 0-31 
Fc9-void-icon.png - VOID Return


LCDPrintNumber

Fc9-comp-macro.png LCDPrintNumber
Prints a numeric value to the graphical LCD. 
Fc9-u8-icon.png - BYTE X
The horizontal start pixel. Range 0-127 
Fc9-u8-icon.png - BYTE Y
Y coordinate to print the string. Range 0-31 
Fc9-u16-icon.png - UINT Number
 
Fc9-u8-icon.png - BYTE Transparent
 
Fc9-void-icon.png - VOID Return


LCDPrintString

Fc9-comp-macro.png LCDPrintString
Prints a string to the graphical LCD. 
Fc9-u8-icon.png - BYTE X
The horizontal start pixel. Range 0-127 
Fc9-u8-icon.png - BYTE Y
Y coordinate to print the string. Range 0-31 
Fc9-string-icon.png - STRING Data
 
Fc9-u16-icon.png - UINT Transparent
 
Fc9-void-icon.png - VOID Return


LCDSetBackgroundColour

Fc9-comp-macro.png LCDSetBackgroundColour
Sets the pixel colour to drive the LCD. Default colour is 1 where a set pixel is black and the background is white. 
Fc9-u8-icon.png - BYTE Colour
Range 0-1 : 0=White, 1=Black 
Fc9-void-icon.png - VOID Return


LCDSetForegroundColour

Fc9-comp-macro.png LCDSetForegroundColour
Sets the pixel colour to drive the LCD. Default colour is 1 where a set pixel is black and the background is white. 
Fc9-u8-icon.png - BYTE Colour
Range 0-1 : 0=White, 1=Black 
Fc9-void-icon.png - VOID Return


LCDWriteByte

Fc9-comp-macro.png LCDWriteByte
 
Fc9-u8-icon.png - BYTE Data
 
Fc9-u8-icon.png - BYTE X
 
Fc9-u8-icon.png - BYTE Y
 
Fc9-void-icon.png - VOID Return


LEDOff

Fc9-comp-macro.png LEDOff
Switches off a single LED on the front of the Formula Allcode.  
Fc9-u8-icon.png - BYTE LED
Which LED to switch on, range 0-7 
Fc9-void-icon.png - VOID Return


LEDOn

Fc9-comp-macro.png LEDOn
Switches on a single LED on the front of the Formula Allcode.  
Fc9-u8-icon.png - BYTE LED
Which LED to switch on, range 0-7 
Fc9-void-icon.png - VOID Return


LEDWrite

Fc9-comp-macro.png LEDWrite
Allows control of all 8-LEDs on the front of the Formula Allcode.  
Fc9-u8-icon.png - BYTE LED_Byte
8-bit binary value to write to the 8 LEDs 
Fc9-void-icon.png - VOID Return


LogoBackwards

Fc9-comp-macro.png LogoBackwards
Drives the robot backward using the encoders as feedback to ensure the robot drives straight. Automatically stops at the specified distance. 
Fc9-u16-icon.png - UINT Distance
Distance you want to robot to drive in mm. Range 1-65535 
Fc9-void-icon.png - VOID Return


LogoForwards

Fc9-comp-macro.png LogoForwards
Drives the robot forward using the encoders as feedback to ensure the robot drives straight. Automatically stops at the specified distance. 
Fc9-u16-icon.png - UINT Distance
Distance you want to robot to drive in mm. Range 1-65535 
Fc9-void-icon.png - VOID Return


LogoSetSpeed

Fc9-comp-macro.png LogoSetSpeed
Sets the cruise speed for LOGO type macros. Default speed 20%. 
Fc9-u8-icon.png - BYTE Speed
Range 1-100, Default 60 
Fc9-void-icon.png - VOID Return


LogoTurnLeft

Fc9-comp-macro.png LogoTurnLeft
Rotates the robot left by a specific angle using the encoders as feedback to ensure the robot turns evenly. Automatically stops at the specified turn angle. 
Fc9-u16-icon.png - UINT Angle
Angle in degrees you wish to rotate. Range 1-65536 
Fc9-void-icon.png - VOID Return


LogoTurnRight

Fc9-comp-macro.png LogoTurnRight
Rotates the robot right by a specific angle using the encoders as feedback to ensure the robot turns evenly. Automatically stops at the specified turn angle. 
Fc9-u16-icon.png - UINT Angle
Angle in degrees you wish to rotate. Range 1-65536 
Fc9-void-icon.png - VOID Return


PlayNote

Fc9-comp-macro.png PlayNote
Outputs a single tone from the onboard speaker for the period specified. 
Fc9-u16-icon.png - UINT Note
Sets the pitch of the note in Hz. Range: 1 - 10000 
Fc9-u16-icon.png - UINT Time
Time period to play the note for in milliseconds. Range: 0 - 65535 ms 
Fc9-void-icon.png - VOID Return


ReadBattery

Fc9-comp-macro.png ReadBattery
Reads the current voltage level from the LiPo battery. Return value is the battery voltage in Volts. Take care not to run the battery too low. Voltages lower than 3.4V may damage the battery. 
Fc9-f32-icon.png - FLOAT Return


ReadIRSensor

Fc9-comp-macro.png ReadIRSensor
Reads the analogue value from the specified IR distance sensor. Return value range: 0 to 4095 4095 represents the object is very close. 
Fc9-u8-icon.png - BYTE Channel
Range: 0 to 7 - 0=Left, 1=Front Left, 2=Front, 3=Front Right, 4=Right, 5=Rear Right, 6=Rear, 7=Rear Left 
Fc9-u16-icon.png - UINT Return


ReadLDR

Fc9-comp-macro.png ReadLDR
Reads the current light level from the on board light sensor. Return value range: 0 to 4095 4095 represents the maximum level of light and 0 represents the minimal level of light. 
Fc9-u16-icon.png - UINT Return


ReadLineSensor

Fc9-comp-macro.png ReadLineSensor
Reads the analogue value from the specified IR line sensor. Return value range: 0 to 4095 4095 represents the object is reflecting the most light. 
Fc9-u8-icon.png - BYTE Channel
Range: 0 to 1 - 0=Left, 1=Right 
Fc9-u16-icon.png - UINT Return


ReadMic

Fc9-comp-macro.png ReadMic
Reads the current audio signal level from the on-board microphone. Return value range: 0 to 4095 
Fc9-u16-icon.png - UINT Return


ReadSwitch

Fc9-comp-macro.png ReadSwitch
Reads the value of one of the switches from the front of the Formula Allcode. 
Fc9-u8-icon.png - BYTE Switch
Which switch do we want to read 0=Left, 1=Right 
Fc9-u8-icon.png - BYTE Return


Reverse

Fc9-comp-macro.png Reverse
Drives both motors of the formula flowcode backwards with the power specified.  
Fc9-u8-icon.png - BYTE Power
Amount of power to use to drive motor. Range 0-100 
Fc9-void-icon.png - VOID Return


SetMotors

Fc9-comp-macro.png SetMotors
Sets the speed and direction of the Formula Allcode motors.  
Fc9-s16-icon.png - INT Left
Valid Range = -100 to 100 
Fc9-s16-icon.png - INT Right
Valid Range = -100 to 100 
Fc9-void-icon.png - VOID Return


SpinLeft

Fc9-comp-macro.png SpinLeft
Spins the formula flowcode on the spot in an anticlockwise direction as seen from above.  
Fc9-u8-icon.png - BYTE Power
Amount of power to use to drive motor. Range 0-100 
Fc9-void-icon.png - VOID Return


SpinRight

Fc9-comp-macro.png SpinRight
Spins the formula flowcode on the spot in a clockwise direction as seen from above.  
Fc9-u8-icon.png - BYTE Power
Amount of power to use to drive motor. Range 0-100 
Fc9-void-icon.png - VOID Return


Stop

Fc9-comp-macro.png Stop
Stops both motors. 
Fc9-void-icon.png - VOID Return


WaitForSwitch

Fc9-comp-macro.png WaitForSwitch
Waits for the specified switch to be pressed. 
Fc9-u8-icon.png - BYTE Switch
Which switch do we want to wait for 0=Left, 1=Right, 2=Either, 3=Both 
Fc9-void-icon.png - VOID Return



Property reference

Fc9-prop-icon.png Properties
Fc9-type-7-icon.png Wait For Button
Determines if the program will automatically wait for one of the front switches to be pressed before executing the program. Ran as part of the initialise function after the various components have been initialised. 
Fc9-type-16-icon.png Show Creation Info
Specifies what information is shown to the user on calling the initialise function. The time and date shown are the compilation time and date to help pinpoint the firmware version. 
Fc9-type-7-icon.png Bluetooth Reset
Decides if the Bluetooth data connection can reset the Formula AllCode. Used by mLoader when programming via Bluetooth to allow reprogramming without having to physically touch the robot. To ensure programming security set this option to No. 
Fc9-type-7-icon.png Use Motor Feedback
Controls when the motor feedback is used. No - Speed control feedback is not used for SetMotors commands. Yes - Speed control feedback is used for the SetMotors commands. SetMotors commands include Forward, Backward, SpinLeft, SpinRight as well as SetMotors itself. Logo functions always use feedback. 
Fc9-conn-icon.png IR Thresholds (CheckIR macro)
Fc9-type-21-icon.png IR Distance
IR Threshold used with the CheckIR macro 
Fc9-type-21-icon.png Line Sensitivity
 
Fc9-conn-icon.png Simulation Properties
Fc9-type-21-icon.png Sim Speed (1 - 100)
Sets the simulated amount of movement relative to the speed of the Formula Allcode. 
Fc9-type-21-icon.png Timer Interval (ms)
Interval in milliseconds between each simulated movement of the Formula Allcode robot. 
Fc9-type-16-icon.png Collision Method
Select which objects the robot sensors will interact with. 
Fc9-type-17-icon.png Light Source
Panel object specified as the simulation light source. Used when simulating "find the light" type tasks.