Author
|
Matrix TSL
|
Version
|
1.3
|
Category
|
Robotics
|
Formula AllCode 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 Pack
FREE
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.
FA-Line
Simulation with the API component
An example showing how to use the API component to drive the robot in simulation.
FA API Sim Demo
Downloadable macro reference
|
PlayNote
|
Outputs a single tone from the onboard speaker for the period specified.
|
- UINT
|
Note
|
Sets the pitch of the note in Hz. Range: 1 - 10000
|
- UINT
|
Time
|
Time period to play the note for in milliseconds. Range: 0 - 65535 ms
|
- VOID
|
Return
|
|
LEDOn
|
Switches on a single LED on the front of the Formula Allcode.
|
- BYTE
|
LED
|
Which LED to switch on, range 0-7
|
- VOID
|
Return
|
|
BluetoothTransmit
|
Sends a byte via the Bluetooth data connection.
|
- BYTE
|
Data
|
|
- VOID
|
Return
|
|
LCDPrintString
|
Prints a string to the graphical LCD.
|
- BYTE
|
X
|
The horizontal start pixel. Range 0-127
|
- BYTE
|
Y
|
Y coordinate to print the string. Range 0-31
|
- STRING
|
Data
|
|
- UINT
|
Transparent
|
|
- VOID
|
Return
|
|
LogoConfigure
|
The Logo movement may sometimes be slightly off in terms of distance or angle. Before tweaking the factory values check that the wheels are pushed well onto their shafts but not tight against the FA body. Also check the tyre is on the wheel correctly.
|
- FLOAT
|
Distance
|
mm per encoder step. default = 0.32
|
- FLOAT
|
Angle
|
mm of travel per degree. default = 0.7295
|
- VOID
|
Return
|
|
Stop
|
Stops both motors.
|
- VOID
|
Return
|
|
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.
|
- FLOAT
|
Return
|
|
LEDOff
|
Switches off a single LED on the front of the Formula Allcode.
|
- BYTE
|
LED
|
Which LED to switch on, range 0-7
|
- VOID
|
Return
|
|
LCDPrintNumber
|
Prints a numeric value to the graphical LCD.
|
- BYTE
|
X
|
The horizontal start pixel. Range 0-127
|
- BYTE
|
Y
|
Y coordinate to print the string. Range 0-31
|
- UINT
|
Number
|
|
- BYTE
|
Transparent
|
|
- VOID
|
Return
|
|
LEDWrite
|
Allows control of all 8-LEDs on the front of the Formula Allcode.
|
- BYTE
|
LED_Byte
|
8-bit binary value to write to the 8 LEDs
|
- VOID
|
Return
|
|
BluetoothCheckConnection
|
Checks the status of the Bluetooth connection. Returns 0 for not paired and 1 for paired.
|
- BYTE
|
Return
|
|
ReadMic
|
Reads the current audio signal level from the on-board microphone. Return value range: 0 to 4095
|
- UINT
|
Return
|
|
AudioQueueLength
|
Retreives the current length of valid data within the audio queue
|
- UINT
|
Return
|
|
AudioAddToBuffer
|
Writes a value to the 16-bit audio output buffer.
|
- UINT
|
Data
|
|
- VOID
|
Return
|
|
ReadSwitch
|
Reads the value of one of the switches from the front of the Formula Allcode.
|
- BYTE
|
Switch
|
Which switch do we want to read 0=Left, 1=Right
|
- BYTE
|
Return
|
|
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.
|
- BYTE
|
Sensor
|
Range: 0 to 1 - 0=Left, 1=Right
|
- BYTE
|
Return
|
|
AudioStreamControl
|
Allows control of the audio output functionality via the onboard speaker. Data is loaded into the audio output buffer using the AddToBuffer function.
|
- BYTE
|
Mode
|
0=Off, 8=8-bit Mode, 16=16-bit Mode
|
- BYTE
|
SampleRate
|
Sets the sample rate 0=8KHz, 1=16KHz
|
- VOID
|
Return
|
|
SpinLeft
|
Spins the formula flowcode on the spot in an anticlockwise direction as seen from above.
|
- BYTE
|
Power
|
Amount of power to use to drive motor. Range 0-100
|
- VOID
|
Return
|
|
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.
|
- UINT
|
Angle
|
Angle in degrees you wish to rotate. Range 1-65536
|
- VOID
|
Return
|
|
Forward
|
Drives both motors of the formula flowcode forwards with the power specified.
|
- BYTE
|
Power
|
Amount of power to use to drive motor. Range 0-100
|
- VOID
|
Return
|
|
LCDWriteByte
|
|
- BYTE
|
Data
|
|
- BYTE
|
X
|
|
- BYTE
|
Y
|
|
- VOID
|
Return
|
|
BluetoothReceive
|
Attempt to read a byte from the Bluetooth receive queue.
|
- BYTE
|
Return
|
|
LCDDrawLine
|
Draws a line on the LCD.
|
- BYTE
|
X1
|
Range 0-127
|
- BYTE
|
Y1
|
Range 0-31
|
- BYTE
|
X2
|
Range 0-127
|
- BYTE
|
Y2
|
Range 0-31
|
- VOID
|
Return
|
|
BluetoothQueueLength
|
Reads the length of received Bluetooth data in bytes.
|
- UINT
|
Return
|
|
BluetoothTransmitString
|
Sends a string via the Bluetooth data connection.
|
- STRING
|
Data
|
|
- VOID
|
Return
|
|
LCDBacklight
|
Controls the brighness of the LCD backlight
|
- BYTE
|
Brightness
|
Range: 0-100, 0=Off, 1=Min Brightness, 100=Max Brightness
|
- VOID
|
Return
|
|
AudioReadFromBuffer
|
Allows the audio buffer to be used for other streaming data such as recording the mic.
|
- UINT
|
Return
|
|
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.
|
- BYTE
|
Channel
|
Range: 0 to 1 - 0=Left, 1=Right
|
- UINT
|
Return
|
|
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.
|
- UINT
|
Angle
|
Angle in degrees you wish to rotate. Range 1-65536
|
- VOID
|
Return
|
|
SpinRight
|
Spins the formula flowcode on the spot in a clockwise direction as seen from above.
|
- BYTE
|
Power
|
Amount of power to use to drive motor. Range 0-100
|
- VOID
|
Return
|
|
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.
|
- 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
|
- BYTE
|
Return
|
|
LCDPlotPixel
|
Allows a single pixel on the LCD to be set or cleared.
|
- BYTE
|
X
|
Sets the X coordinate - Range 0-127
|
- BYTE
|
Y
|
Sets the Y coordinate - Range 0-31
|
- VOID
|
Return
|
|
LCDSetBackgroundColour
|
Sets the pixel colour to drive the LCD. Default colour is 1 where a set pixel is black and the background is white.
|
- BYTE
|
Colour
|
Range 0-1 : 0=White, 1=Black
|
- VOID
|
Return
|
|
ReadIRSensor
|
Reads the analogue value from the specified IR distance sensor. Return value range: 0 to 4095 4095 represents the object is very close.
|
- 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
|
- UINT
|
Return
|
|
SetMotors
|
Sets the speed and direction of the Formula Allcode motors.
|
- INT
|
Left
|
Valid Range = -100 to 100
|
- INT
|
Right
|
Valid Range = -100 to 100
|
- VOID
|
Return
|
|
LogoBackwards
|
Drives the robot backward using the encoders as feedback to ensure the robot drives straight. Automatically stops at the specified distance.
|
- UINT
|
Distance
|
Distance you want to robot to drive in mm. Range 1-65535
|
- VOID
|
Return
|
|
EncoderReset
|
Resets the encoder counters to 0
|
- VOID
|
Return
|
|
Reverse
|
Drives both motors of the formula flowcode backwards with the power specified.
|
- BYTE
|
Power
|
Amount of power to use to drive motor. Range 0-100
|
- VOID
|
Return
|
|
WaitForSwitch
|
Waits for the specified switch to be pressed.
|
- BYTE
|
Switch
|
Which switch do we want to wait for 0=Left, 1=Right, 2=Either, 3=Both
|
- VOID
|
Return
|
|
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.
|
- UINT
|
Return
|
|
LCDDrawRectangle
|
Draws a rectange on the LCD.
|
- BYTE
|
X1
|
Range 0-127
|
- BYTE
|
Y1
|
Range 0-31
|
- BYTE
|
X2
|
Range 0-127
|
- BYTE
|
Y2
|
Range 0-31
|
- BYTE
|
Transparent
|
Sets the transparency of the box, 0=Box contains background colour, 1=Box contains previous pixel data
|
- BYTE
|
Solid
|
Chooses to fill the box with colour, 0=Box contains transparency data, 1=Box contains foreground colour
|
- VOID
|
Return
|
|
EncoderReadCount
|
Reads one of the motor encoder counters. Each encoder count is equal to 0.314159 mm.
|
- BYTE
|
Channel
|
0 = LeftCount, 1=RightCount
|
- UINT
|
Return
|
|
CheckUSB
|
Checks to see if a USB cable is connected to the robot. Returns 0 for no connection and 1 for an active connection.
|
- BYTE
|
Return
|
|
LCDSetForegroundColour
|
Sets the pixel colour to drive the LCD. Default colour is 1 where a set pixel is black and the background is white.
|
- BYTE
|
Colour
|
Range 0-1 : 0=White, 1=Black
|
- VOID
|
Return
|
|
Initialise
|
Starts up the Formula Allcode PWM for motor control and performs the wait for button press if enabled.
|
- VOID
|
Return
|
|
LogoSetSpeed
|
Sets the cruise speed for LOGO type macros. Default speed 20%.
|
- BYTE
|
Speed
|
Range 1-100, Default 60
|
- VOID
|
Return
|
|
LogoForwards
|
Drives the robot forward using the encoders as feedback to ensure the robot drives straight. Automatically stops at the specified distance.
|
- UINT
|
Distance
|
Distance you want to robot to drive in mm. Range 1-65535
|
- VOID
|
Return
|
|
LCDClear
|
Clears the contents of the graphical LCD.
|
- VOID
|
Return
|
Property reference
|
Properties
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
IR Simulation
|
|
IR Simulation Mode
|
Controls how the IR sensors are modelled in simulation. Linear is the legacy mode and works as it has always done. Exponential attempts to provide a more accurate reading which is closed to response of the real world hardware,
|
|
IR Thresholds (CheckIR macro)
|
|
IR Distance
|
IR Threshold used with the CheckIR macro
|
|
Line Sensitivity
|
|
|
Simulation Properties
|
|
Sim Speed (1 - 100)
|
Sets the simulated amount of movement relative to the speed of the Formula Allcode.
|
|
Timer Interval (ms)
|
Interval in milliseconds between each simulated movement of the Formula Allcode robot.
|
|
Collision Method
|
Select which objects the robot sensors will interact with.
|
|
Light Source
|
Panel object specified as the simulation light source. Used when simulating "find the light" type tasks.
|
|
Addon Mechanics
|
Useful if you are creating add-ons to the robot which you want to be able to simulate. Point the property at the group containing the Formula Allcode and the additional mechanics. Otherwise leave blank to maintain the normal simulation functionality.
|