Main ❯ Navigation & tracking systems ❯ uNav: Communication protocol specification
![]() |
|
|---|---|
| www.unavlab.com support@unavlab.com |
uNav - navigation receiver for RWLT/WAYU tracking systems Communication protocol specification |
uNav devices support data interfacing via a serial interface.
Default connection port settings:
Baudrate: 38400 bit/s
Data bits: 8
Stop bits: 1
Parity: No
Hardware flow control: No
The NMEA0183 standard describes the format of dialog layer text (ASCII) sentences.
Sentence example: $PUNA0,1,0*hh<CR><LF>
The main elements of an NMEA0183 sentence (message):
The device and the command system for interacting with it are designed so that, once configured, the device can be connected to various applications designed to work with GNSS receivers. For the most part, the device uses standard NMEA protocol sentences: RMC and GGA.
The UNV0 sentence is used to specify settings for the device, request the current settings, and transfer the current settings from the device.
Sentence format: $PUNV0,x.x,x.x,x.x,x.x,x,x.x,x,x.x,x,x*hh<CR><LF>
| No. | Field/Parameter | Description |
|---|---|---|
| $ | Sentence start ‘$’ | |
| PUNV | UNV | |
| 0 | Sentence ID | |
| 1 | sty_PSU | Water salinity in PSU, 0 .. 40 PSU |
| 2 | wtmp_C | Water temperature in °C, -4 .. 46 °C |
| 3 | sos_mps | Speed of sound in water in m/s, 1300 .. 1600 m/s |
| 4 | max_tspd_mps | Maximum movement speed in m/s, 0.5 .. 5 m/s |
| 5 | sf_FIFO_size | Smoothing filter buffer size, 2 .. 64 |
| 6 | sf_rthld_m | Smoothing filter reset threshold, 5 .. 1000 m |
| 7 | dhf_FIFO_size | Classifier buffer size, 2 .. 64 |
| 8 | dhf_rthld | Classifier buffer threshold, 5 .. 1000 m |
| 9 | ce_FIFO_size | Course estimator buffer size, 2 .. 64 |
| 10 | brate | Port speed (see ..) |
| 11 | rwlt_mode | Operating mode (for the RWLT system). Empty field or 0 - pinger, 1 - divers |
| 12 | rwlt_drating | Maximum pinger depth (for the RWLT system). 0 - 300, 1 - 500, 2 - 1000 m |
| * | NMEA checksum delimiter | |
| hh | NMEA checksum | |
| <CR><LF> | End of sentence |
The command is used to set a reference point, relative to which the device can calculate the course and distance to the positioned object.
Sentence format: $PUWV1,x,x.x,x.x*hh<CR><LF>
| No. | Field/Parameter | Description |
|---|---|---|
| $ | Sentence start ‘$’ | |
| PUNV | UNV | |
| 1 | Sentence ID | |
| 1 | ref_point_type | 0 - AUX GNSS, 1-4 base points, empty - user defined |
| 2 | ref_point_lat | Latitude, -90.0 .. 90.0 ° |
| 3 | ref_point_lon | Longitude, -180.0 .. 180.0 ° |
| * | NMEA checksum delimiter | |
| hh | NMEA checksum | |
| <CR><LF> | End of sentence |
The command is used to set the depth of the positioned object (WAYU only) and the water temperature.
Sentence format: $PUWV2,x.x,x.x*hh<CR><LF>
| No. | Field/Parameter | Description |
|---|---|---|
| $ | Sentence start ‘$’ | |
| PUNV | UNV | |
| 2 | Sentence ID | |
| 1 | tDpt_m | Depth of the positioned object, m |
| 2 | wTmp_C | Water temperature, -4 .. 46 °C |
| * | NMEA checksum delimiter | |
| hh | NMEA checksum | |
| <CR><LF> | End of sentence |
For the RWLT system only, when operating in the diver positioning mode. This sentence transmits the determined navigation data of a numbered target (for example, a diver equipped with a RedPhone-DX wireless voice communication device). The object ID (address) is transmitted by the object itself and can take values from 0 to 999.
Sentence format: $PUWV3,x,x.x,x.x,x.x,x.x,x.x,x.x*hh<CR><LF>
| No. | Field/Parameter | Description |
|---|---|---|
| $ | Sentence start ‘$’ | |
| PUNV | UNV | |
| 3 | Sentence ID | |
| 1 | tID | Object ID (address) |
| 2 | tLat | Latitude, -90.0 .. 90.0 ° |
| 3 | tLon | Longitude, -180.0 .. 180.0 ° |
| 4 | tDpt | Depth, m |
| 5 | tCrs | Course, , 0 .. 360.0 ° |
| 6 | tRer | Radial error, m |
| 7 | Age | Navigation data age, s |
| * | NMEA checksum delimiter | |
| hh | NMEA checksum | |
| <CR><LF> | End of sentence |
The sentence contains the calculated navigation parameters of the positioned object, relative to the configured reference point.
Sentence format: $PUWV4,x,x.x,x.x,x.x,x.x,x.x,x.x*hh<CR><LF>
| No. | Field/Parameter | Description |
|---|---|---|
| $ | Sentence start ‘$’ | |
| PUNV | UNV | |
| 4 | Sentence ID | |
| 1 | tID | Object ID. In all cases except RWLT operating in diver mode, the field remains empty |
| 2 | rpLt | Reference point latitude, -90.0 .. 90.0 ° |
| 3 | rpLn | Reference point longitude, -180.0 .. 180.0 ° |
| 4 | dst2rp | Distance to the reference point on the plane, m |
| 5 | crs2rp | Course from the object to the reference point, 0 .. 360.0 ° |
| 6 | crs4rp | Course from the reference point to the object, 0 .. 360.0 ° |
| 7 | Age | Navigation data age, s |
| * | NMEA checksum delimiter | |
| hh | NMEA checksum | |
| <CR><LF> | End of sentence |
The sentence contains navigation data from the built-in GNSS receiver.
Sentence format: $PUWV5,x.x,x.x,x.x,x.x*hh<CR><LF>
| No. | Field/Parameter | Description |
|---|---|---|
| $ | Sentence start ‘$’ | |
| PUNV | UNV | |
| 5 | Sentence ID | |
| 1 | gnssLt | Geographic latitude, -90.0 .. 90.0 ° |
| 2 | gnssLn | Geographic longitude, -180.0 .. 180.0 ° |
| 3 | gnssCrs | Course, 0 .. 360.0 ° |
| 4 | gnssSog | Speed, km/h |
| * | NMEA checksum delimiter | |
| hh | NMEA checksum | |
| <CR><LF> | End of sentence |
The sentence contains data received from the RWLT pinger.
Sentence format: $PUWV6,x,x.x*hh<CR><LF>
| No. | Field/Parameter | Description |
|---|---|---|
| $ | Sentence start ‘$’ | |
| PUNV | UNV | |
| 6 | Sentence ID | |
| 1 | dataID | Data ID |
| 2 | dataValue | Data |
| * | NMEA checksum delimiter | |
| hh | NMEA checksum | |
| <CR><LF> | End of sentence |
Standard NMEA0183 sentence - Global positioning system fix data.
Sentence format: $GNGGA,hhmmss.sss,ddmm.mmm,N|S,yyymm.mmm,E|W,x,xx,x.x,x.x,M,x.x,M,xx,xxxx*hh<CR><LF>
| No. | Field/Parameter | Description | |
|---|---|---|---|
| $ | Sentence start ‘$’ | ||
| GN | Standard data source - Global navigation | ||
| GGA | Standard sentence ID - Global positioning system fix data | ||
| 1 | UTC Time | UTC, hhmmss.sss (according to the built-in GNSS receiver) | |
| 2 | Latitude | Geographic latitude, ddmm.mmmmmm | |
| 3 | N | S | Hemisphere identifier, N - northern, S - southern |
| 4 | Longitude | Geographic longitude, dddmm.mmmmmm | |
| 5 | E | W | Hemisphere identifier, E - eastern, W - western |
| 6 | Fix Type | Navigation solution type | |
| 7 | Satellites in view | Number of available satellites (always 4) | |
| 8 | HDOP | Horizontal dilution of precision, meters. (this field conveys the radial error, the value of the residual function at the end of the solution) | |
| 9 | Altitude | Altitude, meters. (this field conveys depth, i.e. height with a “-“ sign) | |
| 10 | M | M - meters | |
| 11 | Geoidal separation | The field is not supported and remains empty | |
| 12 | Age of data | The field is not supported and remains empty | |
| 13 | Reference station ID | The field is not supported and remains empty | |
| * | NMEA checksum delimiter | ||
| hh | NMEA checksum | ||
| <CR><LF> | End of sentence |
Standard NMEA0183 sentence - Recommended minimum, sentence ‘C’.
Sentence format: $GNRMC,hhmmss.sss,A|V,ddmm.mmm,N|S,dddmm.mmm,E|W,x.x,x.x,ddmmyy,,,A|D|V*hh<CR><LF>
| No. | Field/Parameter | Description | |
|---|---|---|---|
| $ | Sentence start ‘$’ | ||
| GN | Standard data source - Global navigation | ||
| RMC | Standard sentence ID - Recommended minimum, sentence ‘C’ | ||
| 1 | UTC Time | UTC, hhmmss.sss | |
| 2 | Data quality indicator | A - the time data (according to the built-in GNSS receiver) are correct | |
| 3 | Latitude | Geographic latitude, ddmm.mmmmmm | |
| 4 | N | S | Hemisphere identifier, N - northern, S - southern |
| 5 | Longitude | Geographic longitude, dddmm.mmmmmm | |
| 6 | E | W | Hemisphere identifier, E - eastern, W - western |
| 7 | Speed | The field is not supported | |
| 8 | Course | Course (direction of motion), degrees | |
| 9 | Date | According to the built-in GNSS receiver data | |
| 10 | Magnetic variation | The field is not supported | |
| 11 | E | W | The field is not supported |
| 12 | A | Mode, A - GNSS | |
| * | NMEA checksum delimiter | ||
| hh | NMEA checksum | ||
| <CR><LF> | End of sentence |
Data received from the navigation buoy of the WAYU system (APostLe, sentence “A”).
Sentence format: $PAPLA,x,x.x,x.x,x,x.x,x.x*hh<CR><LF>
| No. | Field/Parameter | Description |
|---|---|---|
| $ | Sentence start ‘$’ | |
| PAPLA | APL | |
| A | Sentence ID | |
| 1 | bID | Buoy number (address), 0 .. 3 (corresponds to buoys 1 .. 4) |
| 2 | bLt | Buoy latitude, -90.0 .. 90.0 ° |
| 3 | bLn | Buoy longitude, -180.0 .. 180.0 ° |
| 4 | bDpt_m | Acoustic transducer immersion depth, m |
| 5 | bBat | Supply voltage of the buoy’s built-in power source, V |
| 6 | bTOA | Time of signal arrival at the buoy, s, 0 .. 62 |
| * | NMEA checksum delimiter | |
| hh | NMEA checksum | |
| <CR><LF> | End of sentence |
Data received from the navigation buoy of the RWLT system (RWLT, sentence “A”)
Sentence format: $PRWLA,x,x.x,x.x,x,x.x,x,x.x,x.x*hh<CR><LF>
| No. | Field/Parameter | Description |
|---|---|---|
| $ | Sentence start ‘$’ | |
| PRWLA | RWL | |
| A | Sentence ID | |
| 1 | bID | Buoy number (address), 0 .. 3 (corresponds to buoys 1 .. 4) |
| 2 | bLt | Buoy latitude, -90.0 .. 90.0 ° |
| 3 | bLn | Buoy longitude, -180.0 .. 180.0 ° |
| 4 | bDpt_m | Acoustic transducer immersion depth, m |
| 5 | bBat | Supply voltage of the buoy’s built-in power source, V |
| 6 | pData | Data packet from the positioned object |
| 7 | bTOA | Time of signal arrival at the buoy, s, 0 .. 62 |
| 8 | bMSR | Main peak to side lobe ratio, dB |
| * | NMEA checksum delimiter | |
| hh | NMEA checksum | |
| <CR><LF> | End of sentence |