Jump to content

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

From Flowcode Help
No edit summary
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 17: Line 17:
==Component Source Code==
==Component Source Code==


Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_GPS.fcfx FC_Comp_Source_GPS.fcfx]
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_GPS.fcfx FC_Comp_Source_GPS.fcfx]
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GPS.fcfx FC_Comp_Source_GPS.fcfx]


==Detailed description==
==Detailed description==




Line 34: Line 48:


==Examples==
==Examples==




Line 62: Line 88:
{{Fcfile|GPSTracker.fcfx|GPS Tracker}}
{{Fcfile|GPSTracker.fcfx|GPS Tracker}}


==Downloadable macro reference==


==Macro reference==
===CheckBufferOverflow===
{| 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;" | '''ReadGroundSpeed'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CheckBufferOverflow'''
|-
|-
| colspan="2" | Returns the current ground speed. Only returns correct data if Log Ground Speed property is set to yes. 
| 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. 
|-
|-
|-
|-
| 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''
|}
|}




===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;" | '''ReadNumberOfSatellites'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
|-
|-
| colspan="2" | Returns the current detected number of satellites. Only returns correct data if Log Satellite Count property is set to yes. 
| colspan="2" | Initialises the UART used to communicate with the GPS module. 
|-
|-
|-
|-
| 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''
|}
|}




===IsDataValid===
{| 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;" | '''ReadDilutionOfPrecision'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IsDataValid'''
|-
|-
| colspan="2" | Returns the current dilution of precision. Only returns correct data if Log Dilution Of Precision property is set to yes. 
| colspan="2" | Returns the state of the incoming data - 0 = NotValid, 1 = Valid 255 = No GPS Data Received. 
|-
|-
|-
|-
| 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''
|}
|}




===ReadAltitude===
{| 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;" | '''CheckBufferOverflow'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadAltitude'''
|-
|-
| 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. 
| colspan="2" | Returns the current altitude. Only returns correct data if Log Altitude property is set to yes. 
|-
|-
|-
|-
| 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-f32-icon.png]] - FLOAT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




===ReadCourseOverGround===
{| 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;" | '''ReadLongitude'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadCourseOverGround'''
|-
|-
| colspan="2" | Returns the current longitude. Only returns correct data if Log Longitude property is set to yes. 
| colspan="2" | Returns the current course over ground. Only returns correct data if Log Course Over Ground property is set to yes. 
|-
|-
|-
|-
Line 129: Line 170:




===ReadDilutionOfPrecision===
{| 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;" | '''ReadUTCTime'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadDilutionOfPrecision'''
|-
|-
| colspan="2" | Returns a segment of the current UTC Time. Only returns correct data if Log UTC Time property is set to yes. 
| colspan="2" | Returns the current dilution of precision. Only returns correct data if Log Dilution Of Precision property is set to yes. 
|-
|-
|-
|-
| 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%" | Unit
|-
| colspan="2" | Specifies which segment to read - 'h', 'm', 's' 
|-
| 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''
|}
|}




===ReadGroundSpeed===
{| 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;" | '''IsDataValid'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadGroundSpeed'''
|-
|-
| colspan="2" | Returns the state of the incoming data - 0 = NotValid, 1 = Valid 255 = No GPS Data Received. 
| colspan="2" | Returns the current ground speed. Only returns correct data if Log Ground Speed property is set to yes. 
|-
|-
|-
|-
| 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-f32-icon.png]] - FLOAT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




===ReadHorizontalDilutionOfPrecision===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
Line 173: Line 212:




===ReadLatitude===
{| 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;" | '''ReadAltitude'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadLatitude'''
|-
|-
| colspan="2" | Returns the current altitude. Only returns correct data if Log Altitude property is set to yes. 
| colspan="2" | Returns the current latitude. Only returns correct data if Log Latitude property is set to yes. 
|-
|-
|-
|-
Line 186: Line 226:




===ReadLongitude===
{| 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;" | '''ReadCourseOverGround'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadLongitude'''
|-
|-
| colspan="2" | Returns the current course over ground. Only returns correct data if Log Course Over Ground property is set to yes. 
| colspan="2" | Returns the current longitude. Only returns correct data if Log Longitude property is set to yes. 
|-
|-
|-
|-
Line 199: Line 240:




===ReadNumberOfSatellites===
{| 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;" | '''ReadUTCDate'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadNumberOfSatellites'''
|-
| colspan="2" | Returns a segment of the current UTC Date. Only returns correct data if Log UTC Date property is set to yes. 
|-
|-
| colspan="2" | Returns the current detected number of satellites. Only returns correct data if Log Satellite Count property is set to yes. 
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Unit
|-
| colspan="2" | Specifies which segment to read - 'd', 'm', 'y' 
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
Line 217: Line 254:




===ReadUTCDate===
{| 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;" | '''ReadVerticalDilutionOfPrecision'''
| 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. 
|-
|-
|-
| colspan="2" | Returns the current vertical dilution of precision. Only returns correct data if Log VDOP property is set to yes. 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Unit
|-
|-
| colspan="2" | Specifies which segment to read - 'd', 'm', 'y' 
|-
|-
| 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''
|}
|}




===ReadUTCTime===
{| 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;" | '''ReadLatitude'''
| 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. 
|-
|-
|-
| colspan="2" | Returns the current latitude. Only returns correct data if Log Latitude property is set to yes. 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Unit
|-
|-
| colspan="2" | Specifies which segment to read - 'h', 'm', 's' 
|-
|-
| 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''
|}
|}




===ReadVerticalDilutionOfPrecision===
{| 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;" | '''ReadVerticalDilutionOfPrecision'''
|-
|-
| colspan="2" | Initialises the UART used to communicate with the GPS module. 
| colspan="2" | Returns the current vertical dilution of precision. Only returns correct data if Log VDOP property is set to yes. 
|-
|-
|-
|-
| 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-f32-icon.png]] - FLOAT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}





Latest revision as of 13:10, 7 February 2023

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.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_GPS.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_GPS.fcfx

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






Macro reference

CheckBufferOverflow

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


Initialise

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


IsDataValid

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


ReadAltitude

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


ReadCourseOverGround

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


ReadDilutionOfPrecision

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


ReadGroundSpeed

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


ReadHorizontalDilutionOfPrecision

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


ReadLatitude

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


ReadLongitude

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


ReadNumberOfSatellites

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


ReadUTCDate

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


ReadUTCTime

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


ReadVerticalDilutionOfPrecision

ReadVerticalDilutionOfPrecision
Returns the current vertical dilution of precision. Only returns correct data if Log VDOP property is set to yes. 
- FLOAT 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
 
Simulation
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.