Where am I? Finding the local GPS transponder position

where am IThis question is often asked with regards to Raveon’s GPS tracking transponders. This tech blog describes how to determine your GPS transponder’s locations and addresses some additional questions.

The short answer

The NMEAOUT 1 command will enable output of NMEA 0183 compliant messages on the serial port. This will work on any GPS-enabled Raveon radio (M7 GX, ATLAS PT, etc). After exiting command mode, you’ll see the GPS transponder outputting messages similar to the following:

$GPGLL,3308.35228,N,11716.16936,W,213357.00,A,A*77
$GPGGA,213357.00,3308.35228,N,11716.16936,W,1,07,1.06,00134,M,-035,M,,*5F
$GPRMC,213357.00,A,3308.35228,N,11716.16936,W,000.8,277.0,040512,12.0,E,A*10
$GPGLL,3308.35218,N,11716.16947,W,213402.00,A,A*75
$GPGGA,213402.00,3308.35218,N,11716.16947,W,1,06,1.14,00135,M,-035,M,,*5E
$GPRMC,213402.00,A,3308.35218,N,11716.16947,W,000.4,254.1,040512,12.0,E,A*1E
$GPGLL,3308.35232,N,11716.16968,W,213407.00,A,A*75
$GPGGA,213407.00,3308.35232,N,11716.16968,W,1,06,1.21,00136,M,-035,M,,*5B
$GPRMC,213407.00,A,3308.35232,N,11716.16968,W,001.1,271.2,040512,12.0,E,A*1E

You probably noticed the GPS coordinates in the messages above. That’s Raveon in San Diego. In this example, there are typically 3 types of NMEA messages (RMC, GGA, and GLL) that the trasponder will periodicallly output. The NMEAMASK command in the Raveon GPS transponder can be used to enable/disable the various NMEA messages. The NMEARATE command can be used to configure how often these commands will be sent out the serial port.

GLL

The $GPGLL message is the simplest NMEA message to use (although they all contain position information). Its NMEA GLL format is:
$GPGLL,<Latitude>,<North/South>,<Longitude>,<East/West>,<UTC Seconds>,<Valid Data>,<Autonomous Mode>*<Checksum>
The possible values for <Valid Data> are “A” when the data is valid and “V” when it is invalid. <Autonomous Mode> is always set to “A” on Raveon radios.

GGA

$GPGGA,<Latitude>,<North/South>,<Longitude>,<East/West>,<GPS signal quality>,<Number of Satellites>,<Horizontal DOP>,<Number of Satellites>,<Altitude>,<Units>,<Geodial separation>,<Units>,<Age of diff GPS data>,<Reference ID>*<Checksum>
The GGA message is included because it contains the altitude information. The altitude field in Raveon products is always in meters.

RMC

$GPRMC,<Latitude>,<North/South>,<Longitude>,<East/West>,<Speed>,<Track>,<Date>,<UTC Date>,<Magnetic Variation;,<E/W>*<Checksum>
The RMC message contains the track/heading and ground speed information.

Why not $PRAVE?

$PRAVE is a special Raveon format that is intended for use with over-the-air position updates. It differs from a standard $GPGLL (or GGA or RMC) in that it also contains flags, addresses and signal strengths specific to Raveon GPS trackers. A number of the fields are not applicable for a message that wasn’t sent over-the-air.
Messages comming out of the Raveon GPS Transponder that begin with $PRAVE are due to the reception of an over-the-air message from another GPS transponder.

Parsing the $PRAVE message

The messages output by enabling the NMEAOUT switch are standard NMEA GPS messages. There are many open source and licensed parsing libraries available. The $PRAVE message format is a NMEA compliant “private message” (the $P indicates this) and most third-party parsers are able to parse it.

Raveon has VB, C and C++ example code that can parse NMEA messages, so contact Raveon tech suport if you would like copies of this code.