Jump to content

Component: GPS (EB056, Generic NMEA) (Wireless): Difference between revisions

From Flowcode Help
XML import
No edit summary
Line 1: Line 1:
 
{| style="width:50%"
 
{| width="50%"
|-
|-
| width="20%" style="color: gray;" | Author
| width="20%" style="color:gray;" | Author
| Matrix Ltd.
| Matrix Ltd.
|-
|-
| width="20%" style="color: gray;" | Version
| width="20%" style="color:gray;" | Version
| 2.0 (Release)
| 2.1
|-
|-
| width="20%" style="color: gray;" | Category
| width="20%" style="color:gray;" | Category
| Wireless
| Wireless
|}
|}




==GPS (EB056, Generic NMEA) component==
Component designed to process incoming NMEA style GPS data and convert into meaningful values such as longitude, lattitude, ground speed, UTC date and time. Also available in the form of the EB056 GPS E-block.
==Detailed description==


==[[File:Component Icon 575a3a3f_09b8_46be_8069_c4d1894d7e7e.png|Image]] GPS (EB056, Generic NMEA) component==
''No detailed description exists yet for this component''
Component designed to process incoming NMEA style GPS data and convert into meaningful
values such as longitude, lattitude, ground speed, UTC date and time.
Also available in the form of the EB056 GPS E-block.


==Examples==
==Examples==
GPS Example File
GPS Example File
{{Fcfile|GPS_test2.fcfx|GPS Example}}
{{Fcfile|GPS_test2.fcfx|GPS Example}}
Line 39: Line 40:
==Downloadable macro reference==
==Downloadable macro reference==


===<span style="font-weight: normal;"><u><tt>ReadGroundSpeed</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns the current ground speed.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadGroundSpeed'''
|-
| colspan="2" | Returns the current ground speed. Only returns correct data if Log Ground Speed property is set to yes.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


Only returns correct data if Log Ground Speed property is set to yes.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadNumberOfSatellites'''
|-
| colspan="2" | Returns the current detected number of satellites. Only returns correct data if Log Satellite Count property is set to yes.&nbsp;
|-
|-
| 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''
|}


:''This macro has no parameters''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadDilutionOfPrecision'''
|-
| colspan="2" | Returns the current dilution of precision. Only returns correct data if Log Dilution Of Precision property is set to yes.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''


:[[Variable Types|FLOAT]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckBufferOverflow'''
|-
| colspan="2" | Returns the state of the buffer - 0 = OK, 1 = BufferTooShort, 2 = ItemNotFound. Only returns correct data if Log Buffer Overflow Property is set to Yes.&nbsp;
|-
|-
| 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''
|}




===<span style="font-weight: normal;"><u><tt>ReadNumberOfSatellites</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns the current detected number of satellites.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadLongitude'''
|-
| colspan="2" | Returns the current longitude. Only returns correct data if Log Longitude property is set to yes.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


Only returns correct data if Log Satellite Count property is set to yes.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadUTCTime'''
|-
| colspan="2" | Returns a segment of the current UTC Time. Only returns correct data if Log UTC Time property is set to yes.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Unit
|-
| colspan="2" | Specifies which segment to read - 'h', 'm', 's'&nbsp;
|-
| 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''
|}


:''This macro has no parameters''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IsDataValid'''
|-
| colspan="2" | Returns the state of the incoming data - 0 = NotValid, 1 = Valid 255 = No GPS Data Received.&nbsp;
|-
|-
| 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''
|}


'''Return value'''


:[[Variable Types|BYTE]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadHorizontalDilutionOfPrecision'''
|-
| colspan="2" | Returns the current horizontal dilution of precision. Only returns correct data if Log HDOP property is set to yes.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>ReadDilutionOfPrecision</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns the current dilution of precision.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadAltitude'''
|-
| colspan="2" | Returns the current altitude. Only returns correct data if Log Altitude property is set to yes.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


Only returns correct data if Log Dilution Of Precision property is set to yes.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadCourseOverGround'''
|-
| colspan="2" | Returns the current course over ground. Only returns correct data if Log Course Over Ground property is set to yes.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


:''This macro has no parameters''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadUTCDate'''
|-
| colspan="2" | Returns a segment of the current UTC Date. Only returns correct data if Log UTC Date property is set to yes.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Unit
|-
| colspan="2" | Specifies which segment to read - 'd', 'm', 'y'&nbsp;
|-
| 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''
|}


'''Return value'''


:[[Variable Types|FLOAT]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadVerticalDilutionOfPrecision'''
|-
| colspan="2" | Returns the current vertical dilution of precision. Only returns correct data if Log VDOP property is set to yes.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>CheckBufferOverflow</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns the state of the buffer - 0 = OK, 1 = BufferTooShort, 2 = ItemNotFound.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadLatitude'''
|-
| colspan="2" | Returns the current latitude. Only returns correct data if Log Latitude property is set to yes.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


Only returns correct data if Log Buffer Overflow Property is set to Yes.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
|-
| colspan="2" | Initialises the UART used to communicate with the GPS module.&nbsp;
|-
|-
| 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''
|}


:''This macro has no parameters''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardPlayback'''
|-
| colspan="2" | Plays back a .Wav file audio stream from the card&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Filename
|-
| colspan="2" | &nbsp;
|-
| 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''
|}


'''Return value'''


:[[Variable Types|BYTE]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadMic'''
|-
| colspan="2" | Reads the microphone sensor 0 - 4095&nbsp;
|-
|-
| 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''
|}




===<span style="font-weight: normal;"><u><tt>ReadLongitude</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns the current longitude.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadSwitch'''
|-
| colspan="2" | Read the switch value&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | index
|-
| colspan="2" | 0 (left) or 1 (right)&nbsp;
|-
| 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''
|}


Only returns correct data if Log Longitude property is set to yes.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SampleAccel'''
|-
| colspan="2" | Samples the accelerometer 0 = no new data, 1 = new data available&nbsp;
|-
|-
| 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''
|}


:''This macro has no parameters''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Left'''
|-
| colspan="2" | Rotates the robot left - waits for the angle to be traversed before returning&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Angle
|-
| colspan="2" | Angle to turn in degrees&nbsp;
|-
| 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''
|}


'''Return value'''


:[[Variable Types|FLOAT]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadIR'''
|-
| colspan="2" | Reads an IR sensor 0=Left, 1=FrontLeft, 2=Front, 3=FrontRight, 4=Right, 5=RearRight,  6=Rear, 7=RearLeft&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | index
|-
| colspan="2" | 0=Left, 1=FrontLeft, 2=Front, 3=FrontRight, 4=Right, 5=RearRight, 6=Rear, 7=RearLeft&nbsp;
|-
| 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''
|}




===<span style="font-weight: normal;"><u><tt>ReadUTCTime</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns a segment of the current UTC Time.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDDrawPixel'''
|-
| colspan="2" | Allows a single pixel on the LCD to be set or cleared&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X
|-
| colspan="2" | X Pixel 0-127&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y
|-
| colspan="2" | Y Pixel 0-31&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | State
|-
| colspan="2" | 0=White (Off), 1=Black (On)&nbsp;
|-
| 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''
|}


Only returns correct data if Log UTC Time property is set to yes.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ServoSetPosition'''
|-
| colspan="2" | Allows one of the servo positions to be assigned&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | Range 0-3&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Position
|-
| colspan="2" | Range 0-255&nbsp;
|-
| 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''
|}


:[[Variable Types|BYTE]] ''Unit''
::Specifies which segment to read - 'h', 'm', 's'


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardBitmap'''
|-
| colspan="2" | Displays a monochrome bitmap read from the card on the LCD&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X
|-
| colspan="2" | Range 0-127&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y
|-
| colspan="2" | Range 0-31&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Filename
|-
| colspan="2" | &nbsp;
|-
| 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''
|}


'''Return value'''


:[[Variable Types|BYTE]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardRecordMic'''
|-
| colspan="2" | Records an audio stream on the card from the microphone&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | BitDepth
|-
| colspan="2" | 0=8-bit, 1=16-bit&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | SampleRate
|-
| colspan="2" | Sample Rate 0=8KHz, 1=16KHz&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | RecordTime
|-
| colspan="2" | Time to record for in seconds, Range 0-65535&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Filename
|-
| colspan="2" | &nbsp;
|-
| 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''
|}




===<span style="font-weight: normal;"><u><tt>IsDataValid</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns the state of the incoming data - 0 = NotValid, 1 = Valid
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardOpen'''
|-
| colspan="2" | Attempts to open an existing file on the SD card 255=Error, 1=File not found, 0=Open OK&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Filename
|-
| colspan="2" | &nbsp;
|-
| 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''
|}


255 = No GPS Data Received.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Forwards'''
|-
| colspan="2" | Drives the robot forwards - waits for the distance to be traversed before returning&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Distance
|-
| colspan="2" | Distance in mm&nbsp;
|-
| 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''
|}


:''This macro has no parameters''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadBearing'''
|-
| colspan="2" | Reads the compass bearing based on the degrees clockwise from magnetic north.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''


:[[Variable Types|BYTE]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetConsoleHandle'''
|-
| colspan="2" | Gets the handle to the console allowing data displaying on the panel etc.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===<span style="font-weight: normal;"><u><tt>ReadHorizontalDilutionOfPrecision</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns the current horizontal dilution of precision.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDDrawLine'''
|-
| colspan="2" | Allows a single pixel width line to be drawn on the LCD&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X1
|-
| colspan="2" | X Pixel 0-127&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y1
|-
| colspan="2" | Y Pixel 0-31&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X2
|-
| colspan="2" | X Pixel 0-127&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y2
|-
| colspan="2" | Y Pixel 0-31&nbsp;
|-
| 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''
|}


Only returns correct data if Log HDOP property is set to yes.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ServoAutoMoveToPosition'''
|-
| colspan="2" | Allows one of the servo positions to move gradually to a new position&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | Range 0-3&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Position
|-
| colspan="2" | Range 0-255&nbsp;
|-
| 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''
|}


:''This macro has no parameters''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadAllValue'''
|-
| colspan="2" | Reads a single value stored from the read all command Index dictates which sensor value to read&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Index
|-
| colspan="2" | 0=SW, 1-8=IR, 9-10=Line, 11=Light, 12=Mic, 13-15=Accel&nbsp;
|-
| 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''
|}


'''Return value'''


:[[Variable Types|FLOAT]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDBacklight'''
|-
| colspan="2" | Allows the LCD backlight brighntess to be adjusted&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Intensity
|-
| colspan="2" | Range 0-100, 0=Off, 1=Min Brightness, 100=Max Brightness&nbsp;
|-
| 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''
|}




===<span style="font-weight: normal;"><u><tt>ReadAltitude</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns the current altitude.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDDrawRect'''
|-
| colspan="2" | Allows a rectangle to be drawn on the LCD&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X1
|-
| colspan="2" | X Pixel 0-127&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y1
|-
| colspan="2" | Y Pixel 0-31&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | X2
|-
| colspan="2" | X Pixel 0-127&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Y2
|-
| colspan="2" | Y Pixel 0-31&nbsp;
|-
| 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''
|}


Only returns correct data if Log Altitude property is set to yes.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadLine'''
|-
| colspan="2" | Reads one of the IR line sensors 0-1 0=Left, 1=Right&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | index
|-
| colspan="2" | 0=Left, 1=Right&nbsp;
|-
| 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''
|}


:''This macro has no parameters''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ServoDisable'''
|-
| colspan="2" | Allows one of the servo outputs 0-3 to be disabled&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | Range 0-3&nbsp;
|-
| 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''
|}


'''Return value'''


:[[Variable Types|FLOAT]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ServoEnable'''
|-
| colspan="2" | Allows one of the servo outputs 0-3 to be enabled&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Channel
|-
| colspan="2" | Range 0-3&nbsp;
|-
| 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''
|}




===<span style="font-weight: normal;"><u><tt>ReadCourseOverGround</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns the current course over ground.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardReadByte'''
|-
| colspan="2" | Reads a byte from the currently open file. Starts at the beginning of the file and auto increments to the end&nbsp;
|-
|-
| 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''
|}


Only returns correct data if Log Course Over Ground property is set to yes.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardErase'''
|-
| colspan="2" | Attempts to delete an existing file on the SD card 255=Error, 1=File not found, 0=Delete OK&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Filename
|-
| colspan="2" | &nbsp;
|-
| 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''
|}


:''This macro has no parameters''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardWriteByte'''
|-
| colspan="2" | Appends a byte to the end of the currently open file &nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Data
|-
| colspan="2" | &nbsp;
|-
| 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''
|}


'''Return value'''


:[[Variable Types|FLOAT]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EncoderRead'''
|-
| colspan="2" | Reads one of the motor encoder counters. Approx 0.328296mm of travel per encoder unit.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | index
|-
| colspan="2" | 0=Left, 1=Right&nbsp;
|-
| 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''
|}




===<span style="font-weight: normal;"><u><tt>ReadUTCDate</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns a segment of the current UTC Date.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetMotors'''
|-
| colspan="2" | Sets the motor speeds without feedback Range -100 to 100&nbsp;
|-
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Left
|-
| colspan="2" | Range -100 to 100&nbsp;
|-
| width="10%" align="center" | [[File:]] -
| width="90%" | Right
|-
| colspan="2" | Range -100 to 100&nbsp;
|-
| 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''
|}


Only returns correct data if Log UTC Date property is set to yes.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Backwards'''
|-
| colspan="2" | Drives the robot backwards - waits for the distance to be traversed before returning&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Distance
|-
| colspan="2" | Distance in mm&nbsp;
|-
| 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''
|}


:[[Variable Types|BYTE]] ''Unit''
::Specifies which segment to read - 'd', 'm', 'y'


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EncoderReset'''
|-
| colspan="2" | Resets the motor encoder counters&nbsp;
|-
|-
| 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''
|}


'''Return value'''


:[[Variable Types|BYTE]]
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDVerbose'''
|-
| colspan="2" | Allows the LCD to automatically report the API commands as they get processed. Default - verbose on&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | State
|-
| colspan="2" | 0=Off 1=On&nbsp;
|-
| 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''
|}




===<span style="font-weight: normal;"><u><tt>ReadVerticalDilutionOfPrecision</tt></u></span>===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
Returns the current vertical dilution of precision.
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetProp'''
|-
| colspan="2" | Allows the COM port property to be set from a parent component.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | PropName
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| width="90%" | PropVal
|-
| colspan="2" | &nbsp;
|-
| 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''
|}


Only returns correct data if Log VDOP property is set to yes.


'''Parameters'''
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardInit'''
|-
| colspan="2" | Attempts to startup the SD card  255=No Card, 254=Init Fail, 0=Init OK&nbsp;
|-
|-
| 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''
|}


:''This macro has no parameters''


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetProp'''
|-
| colspan="2" | Allows the property filter for the COM port list to be copied to a parent component.&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | PropName
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


'''Return value'''
:[[Variable Types|FLOAT]]


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDClear'''
|-
| colspan="2" | Clears the LCD&nbsp;
|-
|-
| 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''
|}


===<span style="font-weight: normal;"><u><tt>ReadLatitude</tt></u></span>===
Returns the current latitude.


Only returns correct data if Log Latitude property is set to yes.
'''Parameters'''
:''This macro has no parameters''
'''Return value'''
:[[Variable Types|FLOAT]]
===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
Initialises the UART used to communicate with the GPS module.
'''Parameters'''
:''This macro has no parameters''
'''Return value'''
:''This call does not return a value''
==Simulation macro reference==
''This component does not contain any simulation macros''




==Property reference==
==Property reference==
<span style="font-weight: normal;"><u>Buffer Size</u></span>


This property is of type ''Unsigned integer'' and can be referenced with the variable name ''buff_size''.
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
The maximum number of bytes of a NMEA message we can store before processing the message.
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
<span style="font-weight: normal;"><u>Log Altitude</u></span>
|-
 
|-
This property is of type ''True or false'' and can be referenced with the variable name ''ALT_EN''.
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Buffer Size
Adds a variable to store the incoming altitude value
|-
 
| colspan="2" | The maximum number of bytes of a NMEA message we can store before processing the message.&nbsp;
Referenced by macro: ReadAltitude
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
<span style="font-weight: normal;"><u>Log Buffer Overflow</u></span>
| width="90%" | Log Altitude
 
|-
This property is of type ''True or false'' and can be referenced with the variable name ''OVERFLOW_EN''.
| colspan="2" | Adds a variable to store the incoming altitude value Referenced by macro: ReadAltitude&nbsp;
 
|-
Adds a variable to store if the incoming message buffer overflows
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Log Buffer Overflow
Referenced by macro: CheckBufferOverflow
|-
 
| colspan="2" | Adds a variable to store if the incoming message buffer overflows Referenced by macro: CheckBufferOverflow&nbsp;
<span style="font-weight: normal;"><u>Log Course Over Ground</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
This property is of type ''True or false'' and can be referenced with the variable name ''COG_EN''.
| width="90%" | Log Course Over Ground
 
|-
Adds a variable to store the incoming course over ground value
| colspan="2" | Adds a variable to store the incoming course over ground value Referenced by macro: ReadCourseOverGround&nbsp;
 
|-
Referenced by macro: ReadCourseOverGround
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Log Dilution Of Precision
<span style="font-weight: normal;"><u>Log Dilution Of Precision</u></span>
|-
 
| colspan="2" | Adds a variable to store the incoming DOP value Referenced by macro: ReadDilutionOfPrecision&nbsp;
This property is of type ''True or false'' and can be referenced with the variable name ''DOP_EN''.
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
Adds a variable to store the incoming DOP value
| width="90%" | Log Ground Speed
 
|-
Referenced by macro: ReadDilutionOfPrecision
| colspan="2" | Adds a variable to store the incoming ground speed value Referenced by macro: ReadGroundSpeed&nbsp;
 
|-
<span style="font-weight: normal;"><u>Log Ground Speed</u></span>
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Log Horizontal DOP
This property is of type ''True or false'' and can be referenced with the variable name ''SPD_EN''.
|-
 
| colspan="2" | Adds a variable to store the incoming HDOP value Referenced by macro: ReadHorizontalDilutionOfPrecision&nbsp;
Adds a variable to store the incoming ground speed value
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
Referenced by macro: ReadGroundSpeed
| width="90%" | Log Latitude
 
|-
<span style="font-weight: normal;"><u>Log Horizontal DOP</u></span>
| colspan="2" | Adds a variable to store the incoming latitude value Referenced by macro: ReadLatitude&nbsp;
 
|-
This property is of type ''True or false'' and can be referenced with the variable name ''HDOP_EN''.
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Log Longitude
Adds a variable to store the incoming HDOP value
|-
 
| colspan="2" | Adds a variable to store the incoming longitude value Referenced by macro: Read Longitude&nbsp;
Referenced by macro: ReadHorizontalDilutionOfPrecision
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
<span style="font-weight: normal;"><u>Log Latitude</u></span>
| width="90%" | Log Satellite Count
 
|-
This property is of type ''True or false'' and can be referenced with the variable name ''LAT_EN''.
| colspan="2" | Adds a variable to store the number of satellites in range Referenced by macro: ReadNumberOfSatellites&nbsp;
 
|-
Adds a variable to store the incoming latitude value
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Log UTC Time
Referenced by macro: ReadLatitude
|-
 
| colspan="2" | Adds a variable to store the incoming UTC Time value Referenced by macro: ReadUTCTime&nbsp;
<span style="font-weight: normal;"><u>Log Longitude</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
This property is of type ''True or false'' and can be referenced with the variable name ''LON_EN''.
| width="90%" | Log UTC Date
 
|-
Adds a variable to store the incoming longitude value
| colspan="2" | Adds a variable to store the incoming UTC Date value Referenced by macro: ReadUTCDate&nbsp;
 
|-
Referenced by macro: Read Longitude
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Log Verticle DOP
<span style="font-weight: normal;"><u>Log Satellite Count</u></span>
|-
 
| colspan="2" | Adds a variable to store the incoming VDOP value Referenced by macro: ReadVerticalDilutionOfPrecision&nbsp;
This property is of type ''True or false'' and can be referenced with the variable name ''CNT_EN''.
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
Adds a variable to store the number of satellites in range
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''  
 
|-
Referenced by macro: ReadNumberOfSatellites
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
<span style="font-weight: normal;"><u>Log UTC Time</u></span>
| width="90%" | Channel
 
|-
This property is of type ''True or false'' and can be referenced with the variable name ''TIME_EN''.
| colspan="2" | UART Channel selector Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels. Hardware channels use the selected peripheral on-board the target microcontroller.&nbsp;
 
|-
Adds a variable to store the incoming UTC Time value
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | RX
Referenced by macro: ReadUTCTime
|-
 
| colspan="2" | Pin to be used for Receive data&nbsp;
<span style="font-weight: normal;"><u>Log UTC Date</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
This property is of type ''True or false'' and can be referenced with the variable name ''DATE_EN''.
| width="90%" | Baud Options
 
|-
Adds a variable to store the incoming UTC Date value
| colspan="2" | Baud rate option selector&nbsp;
 
|-
Referenced by macro: ReadUTCDate
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
| width="90%" | Baud Rate
<span style="font-weight: normal;"><u>Log Verticle DOP</u></span>
|-
 
| colspan="2" | &nbsp;
This property is of type ''True or false'' and can be referenced with the variable name ''VDOP_EN''.
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
Adds a variable to store the incoming VDOP value
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''  
 
|-
Referenced by macro: ReadVerticalDilutionOfPrecision
|-
 
| width="10%" align="center" | [[File:Fc9-type-10-icon.png]]
<span style="font-weight: normal;"><u>Channel</u></span>
| width="90%" | Label
 
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::CHANNEL''.
| colspan="2" | Label used to help identify the component on the panel.&nbsp;
 
|-
UART Channel selector
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Show Globe
Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels.
|-
 
| colspan="2" | Allows a graphical globe to be shown on the panel along with a coordinate marker.&nbsp;
Hardware channels use the selected peripheral on-board the target microcontroller.
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
<span style="font-weight: normal;"><u>RX</u></span>
| width="90%" | Scope Traces
 
|-
This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_uart::RX''.
| colspan="2" | Selects if the scope traces are automatically added to the data recorder window or not.    Simulation - draws an approximation of the UART data onto the scope trace.    ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.&nbsp;
 
|-
Pin to be used for Receive data
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | Console Data
<span style="font-weight: normal;"><u>Baud Options</u></span>
|-
 
| colspan="2" | Selects if the console data is automatically generated or not&nbsp;
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::BAUD_LIST''.
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
Baud rate option selector
| width="90%" | Console Columns
 
|-
<span style="font-weight: normal;"><u>Baud Rate</u></span>
| colspan="2" | Number of characters that can be displayed on a single line of the console.&nbsp;
 
|-
This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_uart::BAUD''.
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Data Source
''<span style="color:red;">No additional information</span>''
|-
 
| colspan="2" | Simulation data source used to allow the component to connect to various remote devices    Nothing - Simulation data is ignored    COM port - Routes the communication data to and from a physical or virtual COM port     Injector - Routes the communication data via a data injector component on the Panel.&nbsp;
 
|}
 
<span style="font-weight: normal;"><u>Label</u></span>
 
This property is of type ''Line of text'' and can be referenced with the variable name ''label''.
 
Label used to help identify the component on the panel.
 
<span style="font-weight: normal;"><u>Show Globe</u></span>
 
This property is of type ''True or false'' and can be referenced with the variable name ''ShowGlobe''.
 
Allows a graphical globe to be shown on the panel along with a coordinate marker.
 
<span style="font-weight: normal;"><u>Scope Traces</u></span>
 
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ScopeTraces''.
 
Selects if the scope traces are automatically added to the data recorder window or not.
 
     Simulation - draws an approximation of the UART data onto the scope trace.
 
     ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD.
 
<span style="font-weight: normal;"><u>Console Data</u></span>
 
This property is of type ''True or false'' and can be referenced with the variable name ''cal_uart::ConsoleData''.
 
Selects if the console data is automatically generated or not
 
<span style="font-weight: normal;"><u>Console Columns</u></span>
 
This property is of type ''Unsigned integer'' and can be referenced with the variable name ''cal_uart::ConsoleColumns''.
 
Number of characters that can be displayed on a single line of the console.
 
<span style="font-weight: normal;"><u>Data Source</u></span>
 
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_uart::DataSource''.
 
Simulation data source used to allow the component to connect to various remote devices
 
     Nothing - Simulation data is ignored
 
     COM port - Routes the communication data to and from a physical or virtual COM port  
 
    Injector - Routes the communication data via a data injector component on the Panel.

Revision as of 18:59, 16 November 2021

Author Matrix Ltd.
Version 2.1
Category Wireless


GPS (EB056, Generic NMEA) component

Component designed to process incoming NMEA style GPS data and convert into meaningful values such as longitude, lattitude, ground speed, UTC date and time. Also available in the form of the EB056 GPS E-block.

Detailed description

No detailed description exists yet for this component

Examples

GPS Example File GPS Example Example should show the Latitude generated by the GPS injector as well as the system time in simulation or UTC time on hardware.


Example data provided by the GPS NMEA injector component


GPS tracking application using an Arduino and an SD card reader. GPS Tracker

Downloadable macro reference

ReadGroundSpeed
Returns the current ground speed. Only returns correct data if Log Ground Speed property is set to yes. 
[[File:]] - Return


ReadNumberOfSatellites
Returns the current detected number of satellites. Only returns correct data if Log Satellite Count property is set to yes. 
- BYTE Return


ReadDilutionOfPrecision
Returns the current dilution of precision. Only returns correct data if Log Dilution Of Precision property is set to yes. 
[[File:]] - Return


CheckBufferOverflow
Returns the state of the buffer - 0 = OK, 1 = BufferTooShort, 2 = ItemNotFound. Only returns correct data if Log Buffer Overflow Property is set to Yes. 
- BYTE Return


ReadLongitude
Returns the current longitude. Only returns correct data if Log Longitude property is set to yes. 
[[File:]] - Return


ReadUTCTime
Returns a segment of the current UTC Time. Only returns correct data if Log UTC Time property is set to yes. 
- BYTE Unit
Specifies which segment to read - 'h', 'm', 's' 
- BYTE Return


IsDataValid
Returns the state of the incoming data - 0 = NotValid, 1 = Valid 255 = No GPS Data Received. 
- BYTE Return


ReadHorizontalDilutionOfPrecision
Returns the current horizontal dilution of precision. Only returns correct data if Log HDOP property is set to yes. 
[[File:]] - Return


ReadAltitude
Returns the current altitude. Only returns correct data if Log Altitude property is set to yes. 
[[File:]] - Return


ReadCourseOverGround
Returns the current course over ground. Only returns correct data if Log Course Over Ground property is set to yes. 
[[File:]] - Return


ReadUTCDate
Returns a segment of the current UTC Date. Only returns correct data if Log UTC Date property is set to yes. 
- BYTE Unit
Specifies which segment to read - 'd', 'm', 'y' 
- BYTE Return


ReadVerticalDilutionOfPrecision
Returns the current vertical dilution of precision. Only returns correct data if Log VDOP property is set to yes. 
[[File:]] - Return


ReadLatitude
Returns the current latitude. Only returns correct data if Log Latitude property is set to yes. 
[[File:]] - Return


Initialise
Initialises the UART used to communicate with the GPS module. 
- VOID Return


CardPlayback
Plays back a .Wav file audio stream from the card 
- STRING Filename
 
- BYTE Return


ReadMic
Reads the microphone sensor 0 - 4095 
- UINT Return


ReadSwitch
Read the switch value 
- BYTE index
0 (left) or 1 (right) 
- BYTE Return


SampleAccel
Samples the accelerometer 0 = no new data, 1 = new data available 
- BYTE Return


Left
Rotates the robot left - waits for the angle to be traversed before returning 
- UINT Angle
Angle to turn in degrees 
- VOID Return


ReadIR
Reads an IR sensor 0=Left, 1=FrontLeft, 2=Front, 3=FrontRight, 4=Right, 5=RearRight, 6=Rear, 7=RearLeft 
- BYTE index
0=Left, 1=FrontLeft, 2=Front, 3=FrontRight, 4=Right, 5=RearRight, 6=Rear, 7=RearLeft 
- UINT Return


LCDDrawPixel
Allows a single pixel on the LCD to be set or cleared 
- BYTE X
X Pixel 0-127 
- BYTE Y
Y Pixel 0-31 
- BYTE State
0=White (Off), 1=Black (On) 
- VOID Return


ServoSetPosition
Allows one of the servo positions to be assigned 
- BYTE Channel
Range 0-3 
- BYTE Position
Range 0-255 
- VOID Return


CardBitmap
Displays a monochrome bitmap read from the card on the LCD 
- BYTE X
Range 0-127 
- BYTE Y
Range 0-31 
- STRING Filename
 
- BYTE Return


CardRecordMic
Records an audio stream on the card from the microphone 
- BYTE BitDepth
0=8-bit, 1=16-bit 
- BYTE SampleRate
Sample Rate 0=8KHz, 1=16KHz 
- UINT RecordTime
Time to record for in seconds, Range 0-65535 
- STRING Filename
 
- BYTE Return


CardOpen
Attempts to open an existing file on the SD card 255=Error, 1=File not found, 0=Open OK 
- STRING Filename
 
- BYTE Return


Forwards
Drives the robot forwards - waits for the distance to be traversed before returning 
- UINT Distance
Distance in mm 
- VOID Return


ReadBearing
Reads the compass bearing based on the degrees clockwise from magnetic north. 
[[File:]] - Return


GetConsoleHandle
Gets the handle to the console allowing data displaying on the panel etc. 
[[File:]] - Return


LCDDrawLine
Allows a single pixel width line to be drawn on the LCD 
- BYTE X1
X Pixel 0-127 
- BYTE Y1
Y Pixel 0-31 
- BYTE X2
X Pixel 0-127 
- BYTE Y2
Y Pixel 0-31 
- VOID Return


ServoAutoMoveToPosition
Allows one of the servo positions to move gradually to a new position 
- BYTE Channel
Range 0-3 
- BYTE Position
Range 0-255 
- VOID Return


ReadAllValue
Reads a single value stored from the read all command Index dictates which sensor value to read 
- BYTE Index
0=SW, 1-8=IR, 9-10=Line, 11=Light, 12=Mic, 13-15=Accel 
- UINT Return


LCDBacklight
Allows the LCD backlight brighntess to be adjusted 
- BYTE Intensity
Range 0-100, 0=Off, 1=Min Brightness, 100=Max Brightness 
- VOID Return


LCDDrawRect
Allows a rectangle to be drawn on the LCD 
- BYTE X1
X Pixel 0-127 
- BYTE Y1
Y Pixel 0-31 
- BYTE X2
X Pixel 0-127 
- BYTE Y2
Y Pixel 0-31 
- VOID Return


ReadLine
Reads one of the IR line sensors 0-1 0=Left, 1=Right 
- BYTE index
0=Left, 1=Right 
- UINT Return


ServoDisable
Allows one of the servo outputs 0-3 to be disabled 
- BYTE Channel
Range 0-3 
- VOID Return


ServoEnable
Allows one of the servo outputs 0-3 to be enabled 
- BYTE Channel
Range 0-3 
- VOID Return


CardReadByte
Reads a byte from the currently open file. Starts at the beginning of the file and auto increments to the end 
- BYTE Return


CardErase
Attempts to delete an existing file on the SD card 255=Error, 1=File not found, 0=Delete OK 
- STRING Filename
 
- BYTE Return


CardWriteByte
Appends a byte to the end of the currently open file  
- BYTE Data
 
- VOID Return


EncoderRead
Reads one of the motor encoder counters. Approx 0.328296mm of travel per encoder unit. 
- BYTE index
0=Left, 1=Right 
- UINT Return


SetMotors
Sets the motor speeds without feedback Range -100 to 100 
[[File:]] - Left
Range -100 to 100 
[[File:]] - Right
Range -100 to 100 
- VOID Return


Backwards
Drives the robot backwards - waits for the distance to be traversed before returning 
- UINT Distance
Distance in mm 
- VOID Return


EncoderReset
Resets the motor encoder counters 
- VOID Return


LCDVerbose
Allows the LCD to automatically report the API commands as they get processed. Default - verbose on 
- BYTE State
0=Off 1=On 
- VOID Return


SetProp
Allows the COM port property to be set from a parent component. 
- STRING PropName
 
- ULONG PropVal
 
- VOID Return


CardInit
Attempts to startup the SD card 255=No Card, 254=Init Fail, 0=Init OK 
- BYTE Return


GetProp
Allows the property filter for the COM port list to be copied to a parent component. 
- STRING PropName
 
- STRING Return


LCDClear
Clears the LCD 
- VOID Return



Property reference

Properties
Buffer Size
The maximum number of bytes of a NMEA message we can store before processing the message. 
Log Altitude
Adds a variable to store the incoming altitude value Referenced by macro: ReadAltitude 
Log Buffer Overflow
Adds a variable to store if the incoming message buffer overflows Referenced by macro: CheckBufferOverflow 
Log Course Over Ground
Adds a variable to store the incoming course over ground value Referenced by macro: ReadCourseOverGround 
Log Dilution Of Precision
Adds a variable to store the incoming DOP value Referenced by macro: ReadDilutionOfPrecision 
Log Ground Speed
Adds a variable to store the incoming ground speed value Referenced by macro: ReadGroundSpeed 
Log Horizontal DOP
Adds a variable to store the incoming HDOP value Referenced by macro: ReadHorizontalDilutionOfPrecision 
Log Latitude
Adds a variable to store the incoming latitude value Referenced by macro: ReadLatitude 
Log Longitude
Adds a variable to store the incoming longitude value Referenced by macro: Read Longitude 
Log Satellite Count
Adds a variable to store the number of satellites in range Referenced by macro: ReadNumberOfSatellites 
Log UTC Time
Adds a variable to store the incoming UTC Time value Referenced by macro: ReadUTCTime 
Log UTC Date
Adds a variable to store the incoming UTC Date value Referenced by macro: ReadUTCDate 
Log Verticle DOP
Adds a variable to store the incoming VDOP value Referenced by macro: ReadVerticalDilutionOfPrecision 
Connections
Channel
UART Channel selector Software channels are bit banged using generic I/O pins but are not as reliable as hardware channels. Hardware channels use the selected peripheral on-board the target microcontroller. 
RX
Pin to be used for Receive data 
Baud Options
Baud rate option selector 
Baud Rate
 
Simulations
Label
Label used to help identify the component on the panel. 
Show Globe
Allows a graphical globe to be shown on the panel along with a coordinate marker. 
Scope Traces
Selects if the scope traces are automatically added to the data recorder window or not. Simulation - draws an approximation of the UART data onto the scope trace. ICT - sets up the scope trace for incoming data and adds UART packet decoding at the correct BAUD. 
Console Data
Selects if the console data is automatically generated or not 
Console Columns
Number of characters that can be displayed on a single line of the console. 
Data Source
Simulation data source used to allow the component to connect to various remote devices Nothing - Simulation data is ignored COM port - Routes the communication data to and from a physical or virtual COM port Injector - Routes the communication data via a data injector component on the Panel.