GPS Odometer

Raveon M7 GPS transponders with firmware version D1 or higher allows for the transmission of an electronic “GPS Odometer”. The GPS Odometer is a virtual odometer, not the actual vehicle odometer reading. It is implemented by integrating the distances travelled, based upon GPS locations.  With every GPS position/status message the M7 transponder sends, it can also send the reading of the digital odometer.

The standard $PRAVE message does not have an odometer field, so a variation of the $PRAVE message is used for this system. It is still called the $PRAVE message, but has an additional field in it. The original $PRAVE message had 17 fields in it, and for this system, there will be 18. The Odometer field is added to the end of the message, just before the * character.

The $PRAVE Message – 18 Fields w/Odometer

Field Usage Comments
1 $PRAVE Raveon Proprietary Header
2 From ID The ID of the transponder that transmitted its position over the air. It is a decimal integer number, 0 – 9999.
3 To ID The ID that this position report was sent to. It is a decimal integer number, 0 – 9999.
4 Latitude ddmm.mmmm format. It is signed. + is north, – is south. No sign means north. Note: typically there are 4 decimal places, but as few as 0 decimal places are possible. Null field if no GPS lock. The dd portion is the degrees. mm.mmmmm is the decimal minutes. To parse it, find the decimal point, and the two digits in front of the decimal point are the minutes. The digits after the decimal point is the decimal portion of the minutes, and the digits in front of the minutes represent the degrees. If it is negative degrees there will be a negative sign in front of the number. The actual decimal degrees is: dd + (mm.mmmm/60)
5 Longitude dddmm.mmmm format. It is signed. + is east, – is west. No sign means east. Note: typically there are 4 decimal places, but as few as 0 decimal places are possible. Null field if no GPS lock.

The ddd portion is the degrees. mm.mmmmm is the decimal minutes. To parse it, find the decimal point, and the two digits in front of the decimal point are the minutes. The digits after the decimal point is the decimal portion of the minutes, and the digits in front of the minutes represent the degrees. If it is negative degrees there will be a negative sign in front of the number. The actual decimal degrees is: ddd + (mm.mmmm/60)

6 UTC time The UTC time at the time the transmission was made. Hhmmss format. Null field if no GPS lock.
7 GPS Status 0=not valid position. > 0 is valid GPS. 1=GPS locked and valid position, 2=GPS locked with WAAS corrections applied
8 Num Satellites The number of satellites in view
9 Altitude The altitude in meters. Null field if no GPS lock.
10 Temperature The internal temperature of the RV-M7 in degrees C. Typically this is 5-20 degrees above ambient.
11 Voltage Input voltage to the device that sent this position.
12 IO status A decimal number representing the binary inputs.
13 RSSI The signal-strength of this message as measured by the receiver, in dBm. Note, if the message went through a repeater, it is the signal lever of the repeated message.
14 Speed The speed of the device in km/hour, 0-255
15 Heading The heading of the device 0-360 degrees.
16 Alerts Alert codes for alerts currently indicated in the device. NULL means no alerts. “P” means a proximity alert. “A”means alert. “C” means critical alert, “M” means man-down.
17 Spare A spare field. May be used for UTC date in the future. Typically NULL.
18 Odometer The odometer reading if available. It is in kilometers and may or may not have decimal places. Most reported values typically have are one decimal place. NULL/empty if reading is not available or transponder did not send it. Firmware version D1or higher.
19 * The “*” NMEA end-of-message identifier.
20 Checksum The NMEA 0183 checksum.

Example $PRAVE Sentence:

$PRAVE,0001,0001,3308.9051,-11713.1164,195348,1,10,168,31,13.3,3,-83,0,0,,1003.4*66

If power is lost at the wrong moment, the transponder will recover the last stored odometer reading, which may be a little less than the actual reading last reported. Software that uses the odometer reading should take into account the possibility of the reading going backward or restart at 0 with a new transponder.

The odometer reading is in kilometers. It may be reported with 0,1,2, or 3 decimal places. On legacy Raveon GPS transponders, the $PRAVE field for the odometer reading will be NULL.

The odometer value may be initialized or set with the ODO xxxx command, where xxx is the odometer value in kilometers.

In the M7 GPS transponder, the Odometer value is periodically stored in non-volatile memory inside the GPS transponder. Upon power up, the stored value is restored and continues to accumulate the distance traveled.

Enabling the Odometer Feature

By default, the GPS tracking transponders do not transmit the odometer reading.  They default to using over-the-air format “0”.  To enable a transponder to transmit the digital odometer reading, set the over-the-air message type to type “6” using the OTAFORMAT command:

   OTAFORMAT 6

With OTAFORMAT set to 6, the GPS tracking transponder will transmit the odometer reading every transmission.  The receiving radio modem must also have firmware D1 or higher on it to accept an over-the-air type 6 message, and output the PRAVE message with the odometer reading in field 18.  A GPS transponder or data radio modem with firmware version D1 or higher can accept over-the-air message from transponders with or without the odometer reading, and will automatically detect the over-the-air format and output the proper $PRAVE message.