NMEA specification
Overview
Reach RX2 MFi supports streaming of the following NMEA messages:
| Message ID | Description |
|---|---|
| GGA | Time, position and fix type data |
| GSA | GPS receiver operating mode, satellites used in the position solution, and DOP values |
| GST* | Position error statistics |
| GSV | Number of satellites in view, ID numbers, elevation, azimuth, & SNR values |
| RMC | Position, velocity, and time |
| VTG | Course and speed information relative to the ground |
| ZDA | UTC day, month, and year, and local time zone offset |
| EBP** | RTK base position |
| ETC** | Tilt compensation data |
*When using compensated NMEA output, full accuracy is only available during the compensation stage. During tilt compensation setup, alignment, or when FIX is lost, GST precision remains at 1 m.
You can enable NMEA message compensation in Emlid Flow, in the Integration with external software section.
**This is a custom Emlid NMEA message.
Reach RX2 outputs all the messages with the GN talker ID at the following frequences:
| Message ID | Talker ID | Default frequency |
|---|---|---|
| GGA | GN | 5 Hz |
| GSA | G* | 1 Hz |
| GST | GN | 1 Hz |
| GSV | G* | 1 Hz |
| RMC | GN | 1 Hz |
| VTG | GN | 1 Hz |
| ZDA | GN | 1 Hz |
| EBP | GN | 1 Hz |
| ETC | GN | 5 Hz |
*Reach RX2 outputs GSA and GSV messages with the successive talker IDs-GP, GL, GA, GB.
Protocol
iOS device accessories shall declare at least one “SupportedExternalAccessoryProtocol” parameter in their identification information during authentication. This protocol is not standardized and allows for the exchange of any data between the device and its proprietary application on the iPhone.
For example, we use this protocol to send a standard set of NMEA messages to ArcGIS Field Maps. Reach RX2 creates special External Accessory profiles: com.emlid.nmea for sending NMEA messages. ArcGIS FieldMaps uses this profile for reading NMEA stream.
Exchange process is the following:
-
iPhone sends StartExternalAccessoryProtocolSession (0xEA00).
-
The device starts sending data.
-
iPhone sends StopExternalAccessoryProtocolSession (0xEA01).
Emlid Tilt Compensation (ETC) message
ETC is a custom Emlid NMEA message that contains tilt compensation data.
Data contained
The message contains the following data:
| Data contained | Representation |
|---|---|
| Time of FIX in UTC | hhmmss.ss |
| State | Integer, "" : off 0 : fatal error 10 : setup 20 : alignment 30 : compensating |
| Notification | Integer, "" : tilt is off 0 : none 10 : fast motion 20 : bad gnss 30 : filter fault |
| Heading in degrees | Float, within the range [0.0, 360.0] |
| Tilt direction in degrees | Float, within the range [0.0, 360.0], value only provided in compensating state |
| Tilt value in degrees | Float, within the range [0.0, 180.0], value only provided in compensating state |
| n-axis accuracy coefficient | Float , value only provided in compensating state |
| e-axis accuracy coefficient | Float, value only provided in compensating state |
| u-axis accuracy coefficient | Float, value only provided in compensating state |
| Checksum | Starts with *, hexadecimal, two-digit number |
Example
Here are examples of the ETC message Reach RX2 outputs:
$GNETC,,,,,,,,,*77: Tilt is off, no GNSS solution$GNETC,193828.80,,,,,,,,*58: Tilt is off, GNSS solution is available$GNETC,193828.80,10,00,,,,,,*59: Tilt is on, waiting for setup...$GNETC,193828.80,20,00,,,,,,*5A: Alignment. Move the receiver to calibrate tilt compensation.$GNETC,193828.80,30,00,172.543,5.621,2.344,1.013,0.993,1.021*5E: Compensating. The compensation data is ready to be used.$GNETC,193828.80,30,10,172.543,5.621,2.344,1.013,0.993,1.021*5F: Compensating. The compensation data is available, but there's a warning that the receiver may be moving too fast.
For developers
For more detailed information on the ETC message, download the PDF below.
| Doc revision | Message revision | Size | Download link |
|---|---|---|---|
| Rev. 3 | Rev. 1 | 393 KB | ETC_rev.3_RX2.pdf |