NMEA Messages

This document describes the NMEA messages supported by the Bluetooth GPS PSY.

The target audiences for this document are device creators and GPS hardware vendors who want to know which NMEA messages are sent from the PSY to a GPS device and which messages the PSY expects to receive from the device.

Introduction

The Bluetooth GPS PSY communicates with a GPS device using the NMEA 0183 protocol.

The messages used for communication between the PSY and a GPS device are listed in the following sections.

Note: The SiRF NMEA messages (those beginning with $PSRF) are not sent when a GPS device reports that it supports PNOK extensions. Positioning and power management messages for PNOK compatible GPS devices are described in PNOK messages.

Required background

Familiarity with the following is helpful in understanding this document:

GPS initialisation messages

The PSY sends initialisation messages to the GPS device in order to:

  • Set the device to NMEA mode (to return messages defined by NMEA 0183).

  • Initialise the device's power mode.

  • Specify which NMEA messages to return, and their rate of return.

Setting NMEA mode

The PSY sends an SiRF binary protocol initialisation message to switch the GPS device to NMEA mode. The message is "Switch To NMEA Protocol – Message ID 129" (0x81 hexadecimal). This message switches a serial port from binary to NMEA protocol and sets message output rates and bit rate on the port.

The message is: \xA0\xA2\x00\x18\x81\x02\x01\x01\x00\x01\x05\x01\x05\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x12\xC0\x01\x6A\xB0\xB3\r\n.

Requesting NMEA messages

The PSY sends SiRF NMEA messages "103—Query/Rate Control" to specify which NMEA messages the device must return and the rate at which to return them.

The NMEA messages GPGGA, GPRMC, GPGSV and GPGSA are required with an update interval of one second.

The PSY sends $PSRF103 messages to the GPS device as a concatenated message list. The following table contains the details of the messages sent from the PSY to the GPS device.

Sent Messages Meaning Notes

$PSRF103,0,0,1,1*25\r\n

Sets the device to return GGA messages with an interval of 1 second.

Message GGA returns time, position fix and fix type data.

$PSRF103,2,0,1,1*27\r\n

Sets the device to return GSA messages with an interval of 1 second.

Message GSA returns GPS receiver operating mode, information about the satellites used to obtain the position fix, and Dilution of Position (DOP) data.

$PSRF103,3,0,1,1*26\r\n

Sets the device to return GSV messages with an interval of 1 second.

Message GSV returns the number of GPS satellites in view, satellite ID numbers, elevation, azimuth and Signal to Noise Ratio (SNR) data.

$PSRF103,4,0,1,1*21\r\n

Sets the device to return RMC messages with an interval of 1 second.

Message RMC returns time, date, position, course and speed data.

The concatenated message list that is sent to the device is: $PSRF103,0,0,1,1*25\r\n$PSRF103,2,0,1,1*27\r\n\ $PSRF103,3,0,1,1*26\r\n$PSRF103,4,0,1,1*21\r\n.

Controlling device power mode

The PSY sends a full power mode message (see below) when it initialises the GPS device.

Full power mode message

The PSY sends $PSRF107 messages with the parameters to switch the device to full power mode when required. This message turns off device trickle power mode if this is the current power state of the GPS device.

The message sent is: $PSRF107,0,1000,1000*3d\r\n.