u-blox Antaris Documentation

u-blox WWW your position is our focus

ANTARIS Positioning Engine
Protocol Specification

Title | ANTARIS Positioning Engine
Subtitle | NMEA and UBX Protocol Specification
Doc Type | Specification
Doc ID | GPS.G3-X-03002-A
Firmware Version | Version 2.11

The following protocols are described in this document

  • UBX Binary Protocol UBX Proprietary Protocol
  • NMEA Protocol NMEA Protocol
  • RTCM Protocol RTCM Protocol

All trademarks mentioned in this document
are the property of their respective owners. 		Copyright 2003 © u-blox AG
All Rights Reserved


ANTARIS Protocol Specification Modules

Here is a list of all modules:
  • NMEA Protocol
    • Standard Messages
      • Output Messages
      • Position Fix Flags in NMEA Mode
      • Input Messages
    • Proprietary Messages
      • Output Messages
      • Input Messages
  • UBX Binary Protocol
    • UBX Messages Overview
    • UBX Class NAV
    • UBX Class RXM
    • UBX Class INF
    • UBX Class ACK
    • UBX Class CFG
      • Predefined Datum
    • UBX Class UPD
    • UBX Class MON
    • UBX Class AID
    • UBX Class TIM
  • RTCM Protocol


NMEA Protocol

Modules

Standard Messages
Proprietary Messages

NMEA Protocol Overview

NMEA messages sent by the GPS receiver are based on the NMEA 0183 Version 2.3. The following picture shows the structure of a NMEA protocol message.

NMEA Protocol Frame

For further information on the NMEA Standard please refer to "NMEA 0183 Standard For Interfacing Marine Electronic Devices", Version 2.30, March 1, 1998. See http://www.nmea.org/ for ordering instructions.

The following NMEA messages are supported:

  • Standard NMEA
    • GGA - GPS fix data - Global positioning system fix data
    • GLL - Latitude and longitude, with time of position fix and status. - Geographic position - latitude/longitude
    • GSA - GPS DOP and Active satellites. - GNSS DOP and active satellites
    • GSV - GPS Satellites in View - GNSS satellites in view
    • RMC - Recommended Minimum data - Recommended minimum specific GNSS data
    • VTG - Course over ground and Ground speed. - Course over ground and ground speed
    • GRS - GNSS Range Residuals - GNSS range residuals
    • GST - GNSS Pseudo Range Error Statistics - GNSS pseudorange error statistics
    • ZDA Time and Date - Time and date
    • TXT Text Transmission - ASCII Text Transmissions, such as software version, etc.

  • Proprietary NMEA ("PUBX"):
    • PUBX,00 - Navstar Position (Lat/Long)
    • PUBX,01 - Navstar Position (UTM)
    • PUBX,03 - Navstar Satellite Information
    • PUBX,04 - Navstar Time & Clock Information
    • PUBX,40 - Set NMEA message output rate
    • PUBX,41 - Set Protocols and Baudrate

  • Queries
    • GPQ - Polls a standard messages
    • PUBX - Polls a PUBX message

The NMEA standard allows for proprietary, manufacturer-specific messages to be added. These shall be marked with a manufacturer mnemonic. The mnemonic assigned to u-blox is UBX and is used for all non-standard messages. These Proprietary NMEA Messages have therefore the Address field set to PUBX. The first data field in a PUBX message identifies the Message number with two digits.


Standard Messages
[NMEA Protocol]

Modules

Output Messages
Position Fix Flags in NMEA Mode
Input Messages


Output Messages
[Standard Messages]

GGA - GPS fix data

Time and position, together with GPS fixing related data (number of satellites in use, and the resulting HDOP, age of differential data if in use, etc.).

$GPGGA,hhmmss.ss,Latitude,N,Longitude,E,FS,NoSV,HDOP,msl,m,Altref,m,DiffAge,DiffStation*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$GPGGA | string | $GPGGA |  | Message ID | GGA protocol header
hhmmss.ss | hhmmss.sss | 092725.00 |  | UTC Time | Current time
Latitude | dddmm.mmmm | 4717.11399 |  | Latitude | Degrees + minutes
N | character | N |  | N/S Indicator | N=north or S=south
Longitude | dddmm.mmmm | 00833.91590 |  | Longitude | Degrees + minutes
E | character | E |  | E/W indicator | E=east or W=west
FS | 1 digit | 1 |  | Position Fix Indicator | See Table below
NoSV | numeric | 8 |  | Satellites Used | Range 0 to 12
HDOP | numeric | 1.01 |  | HDOP | Horizontal Dilution of Precision
msl | numeric | 499.6 | m | MSL Altitude |
m | character | M |  | Units | Meters (fixed field)
Altref | blank | 48.0 | m | Geoid Separation |
m | blank | M |  | Units | Meters (fixed field)
DiffAge | numeric |  | s | Age of Differential Corrections | Blank (Null) fields when DGPS is not used
DiffStation | numeric | 0 |  | Diff. Reference Station ID |
cs | hexadecimal | *5B |  | Checksum |
<CR> <LF> |  |  |  |  | End of message

Fix Status | Description
0 | No fix / Invalid
1 | Standard GPS (2D/3D)
2 | Differential GPS
6 | Estimated (DR) Fix

See also Position Fix Flags in NMEA Mode

Example:

$GPGGA,092725.00,4717.11399,N,00833.91590,E,1,8,1.01,499.6,M,48.0,M,,0*5B

Note:
The output of this message is dependent on the currently selected datum (Default: WGS84)
Remarks:
According to the NMEA Standard, Latitude and Longitude are output in the format Degrees, Minutes and (Decimal) Fractions of Minutes. To convert to Degrees and Fractions of Degrees, or Degrees, Minutes Seconds and Fractions of seconds, the 'Minutes' and 'Fractional Minutes' parts need to be converted. In other words: If the GPS Receiver reports a Latitude of 4717.112671 North and Longitude of 00833.914843 East, this is

Latitude 47 Degrees, 17.112671 Minutes
Longitude 8 Degrees, 33.914843 Minutes

or

Latitude 47 Degrees, 17 Minutes 6.76026 Seconds
Longitude 8 Degrees, 33 Minutes 54.89058 Seconds

or

Latitude 47.28521118 Degrees
Longitude 8.56524738 Degrees

GLL - Latitude and longitude, with time of position fix and status.

$GPGLL,Latitude,N,Longitude,E,hhmmss.ss,Valid,Mode*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$GPGLL | string | $GPGLL |  | Message ID | GLL protocol header
Latitude | dddmm.mmmm | 4717.11364 |  | Latitude | User datum latitude degrees, minutes, decimal minutes format
N | character | N |  | N/S Indicator | Hemisphere N=north or S=south
Longitude | dddmm.mmmm | 00833.91565 |  | Longitude | User datum latitude degrees, minutes, decimal minutes format
E | character | E |  | E/W indicator | 'E'= East, or 'W' = West
hhmmss.ss | hhmmss.sss | 092321.00 |  | UTC Time | hours, minutes, seconds and decimal fractions of seconds format.
Valid | character | A |  | Status | V = Data Invalid / Receiver Warning, A=Data Valid
Mode | character | A |  | Status | See Position Fix Flags in NMEA Mode
cs | hexadecimal | *69 |  | Checksum |
<CR> <LF> |  |  |  |  | End of message

Example:

$GPGLL,4717.11364,N,00833.91565,E,092321.00,A,A*60

Note:
The output of this message depends on the currently selected datum (Default: WGS84)
Remarks:
See the remarks listed with message GGA - GPS fix data regarding Latitude and Longitude format

GSA - GPS DOP and Active satellites.

GPS receiver operating mode, satellites used for navigation, and DOP values.

$GPGSA,Smode,FS{,sv},PDOP,HDOP,VDOP*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$GPGSA | string | $GPGSA |  | Message ID | GSA protocol header
Smode | character | A |  | Smode | See first table below
FS | 1 digit | 3 |  | Fix Status | See second table below
Sv | numeric | 23 |  | Satellites Used | SV on Channel 1
Sv | numeric | 29 |  | Satellites Used | SV on Channel 2
... |  |  |  | ... | Repeated for each channel
Sv | numeric |  |  | Satellites Used | SV on Channel 12
PDOP | numeric | 1.94 |  | PDOP | Position Dilution of Precision (00.0 to 99.9)
HDOP | numeric | 1.18 |  | HDOP | Horizontal Dilution of Precision (00.0 to 99.9)
VDOP | numeric | 1.54 |  | VDOP | Vertical Dilution of Precision (00.0 to 99.9)
cs | hexadecimal | *0D |  | Checksum |
 |  |  |  | <CR> <LF> | End of message

Value | Description
M | Manual - forced to operate in 2D or 3D mode
A | allowed to automatically switch 2D/3D

Value | Description
1 | Fix not available
2 | 2D Fix
3 | 3D Fix

See also Position Fix Flags in NMEA Mode

Note:
If less than 12 SVs are used for navigation, the remaining fields are left empty. If more than 12 SVs are used for navigation, only the IDs of the first 12 are being output.
Example:
$GPGSA,A,3,23,29,07,08,09,18,26,28,,,,,1.94,1.18,1.54*0D

GSV - GPS Satellites in View

The number of satellites in view, together with each PRN (SV Id), elevation and azimuth, and C/No (Signal/Noise Ratio) value. Only four satellite details are transmitted in one message. There are up to 4 messages used as indicated in the first field NoMsg.

$GPGSV,NoMsg,MsgNo,NoSv,{,sv,elv,az,cno}*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$GPGSV | string | $GPGSV |  | Message ID | GSV protocol header
NoMsg | 1 digit | 3 |  | Number of Messages | Total number of GPGSV messages being output
MsgNo | 1 digit | 1 |  | Message Number | Number of this message
NoSv | numeric | 10 |  | Satellites in View |
sv | numeric | 23 |  | Satellite ID | SV ID (Range 1 to 32)
elv | numeric | 38 | degree | Elevation | Maximum 90
az | numeric | 230 | degree | Azimuth | Range 0 to 359
cno | numeric | 44 | dBHz | C/No | Range 0 to 99, null when not tracking
... |  |  |  | ... | Data of 2nd, 3rd Satellite (same as above)
sv | numeric | 29 |  | Satellite ID | SV ID (Range 1 to 32)
elv | numeric | 71 | degree | Elevation | Maximum 90
az | numeric | 156 | degree | Azimuth | Range 0 to 359
cno | numeric | 47 | dBHz | C/No | Range 0 to 99, null when not tracking
... |  |  |  | ... |
cs | hexadecimal | *7F |  | Checksum |
 |  |  |  | <CR> <LF> | End of message

Example:

$GPGSV,3,1,10,23,38,230,44,29,71,156,47,07,29,116,41,08,09,081,36*7F
$GPGSV,3,2,10,10,07,189,,05,05,220,,09,34,274,42,18,25,309,44*72
$GPGSV,3,3,10,26,82,187,47,28,43,056,46*77

RMC - Recommended Minimum data

The Recommended Minimum sentence defined by NMEA for GPS/Transit system data.
$GPRMC,hhmmss,status,latitude,N,longitude,E,spd,cog,ddmmyy,mv,mvE,mode*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$GPRMC | string | $GPRMC |  | Message ID | RMC protocol header
hhmmss | hhmmss.sss | 083559.00 |  | UTC Time | Time of position fix
status | character | A |  | Status | Status V = Navigation receiver warning A = Data valid. See Position Fix Flags in NMEA Mode
latitude | ddmm.mmmm | 4717.11437 |  | Latitude | User datum latitude degrees, minutes, decimal minutes format
N |  | N |  | N/S Indicator | N=north or S=south
longitude | ddmm.mmmm | 00833.91522 |  | Longitude | User datum latitude degrees, minutes, decimal minutes format
E | character | E |  | E/W indicator | E=east or W=west
Spd | numeric | 0.004 | knots | Speed | Speed Over Ground
cog | numeric | 77.52 | degrees | COG | Course Over Ground
ddmmyy | ddmmyy | 091202 |  | Date | Current Date in Day, Month Year format
mv | numeric |  | degrees | Magnetic variation value | Not being output by receiver
mvE | character |  |  | Magnetic variation E/W indicator | Not being output by receiver
mode |  |  |  | Mode Indicator | See Position Fix Flags in NMEA Mode
cs | hexadecimal | *53 |  | Checksum |
<CR> <LF> |  |  |  |  | End of message

Example:

Example: $GPRMC,083559.00,A,4717.11437,N,00833.91522,E,0.004,77.52,091202,,,A*57

VTG - Course over ground and Ground speed.

Velocity is given as Course over Ground (COG) and Speed over Ground (SOG).

$GPVTG,cogt,T,cogm,M,sog,N,kph,K*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$GPVTG | string | $GPVTG |  | Message ID | VTG protocol header
cogt | numeric | 77.52 | degrees |  | Course over ground (true)
T | character | T |  | fixed field | True
cogm | Blank |  |  | Course over ground (magnetic). | Not output (empty)
M | character | M |  | fixed field | Magnetic
sog | numeric | 0.004 | knots |  | Speed over ground
N | character | N |  |  | Knots - fixed field
kph | numeric | 0.008 | km/h | Speed |
K | character | K |  | K | Kilometers per hour - fixed field
cs | hexadecimal | *0B |  | Checksum |
<CR> <LF> |  |  |  |  | End of message

Example:

$GPVTG,77.52,T,,M,0.004,N,0.008,K,A*06

GRS - GNSS Range Residuals

$GPGRS,hhmmss.ss, mode {,residual}*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$GPGRS | string | $GPGRS |  | Message ID | GRS Protocol header
hhmmss.ss | hhmmss.ss | 082632.00 |  | UTC Time | hours, minutes, seconds and decimal seconds of associated position fix.
mode | 1 digit | 1 |  | mode | Mode. ANTARIS-based Receivers will always output Mode 1 residuals
residual | numeric | 0.54 | m | residual | Range residuals for SVs used in navigation. The SV order matches the order from the GSA sentence.
... |  |  |  |  | ...
residual | numeric | 0.25 | m | residual |
cs | hexadecimal | *70 |  | Checksum |
<CR> <LF> |  |  |  |  | End of message

Value | Description
0 | Residuals were used to calculate given in the matching GGA or GNS sentence.
1 | Residuals were recomputed after the GGA GNS position was computed.

Note:
If less than 12 SVs are available, the remaining fields are output empty. If more than 12 SVs are used, only the residuals of the first 12 SVs are being output, in order to stay consistent with the NMEA standard.
Example:
$GPGRS,082632.00,1,0.54,0.83,1.00,1.02,-2.12,2.64,-0.71,-1.18,0.25,,,*70

GST - GNSS Pseudo Range Error Statistics

$GPGST,hhmmss.ss,range_rms,std_major,std_minor,hdg,std_lat,std_long,std_alt*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$GPGST | string | $GPGST |  | Message ID | GST Protocol header
hhmmss.ss | hhmmss.ss | 082356.00 |  | UTC Time | hours, minutes, seconds. and decimal seconds format.
range_rms | numeric | 1.8 | m | RMS value | of the standard deviation of the ranges
std_major | numeric |  | m | Standard deviation (semi-major axis) | Not supported (empty)
std_minor | numeric |  | m | Standard deviation of semi-minor axis | Not supported (empty)
hdg | numeric |  | degrees | Orientation of semi-major axis | Not supported (empty)
std_lat | numeric | 1.7 | m | Standard deviation of latitude | error in meters
std_long | numeric | 1.3 | m | Standard deviation of longitude | error in meters
std_alt | numeric | 2.2 | m | Standard deviation of altitude | error in meters
cs | hexadecimal | *7E |  | Checksum |
<CR> <LF> |  |  |  |  | End of message

Example:

$GPGST,082356.00,1.8,,,,1.7,1.3,2.2*7E

ZDA Time and Date

$GPZDA,hhmmss.ss,day,month,year,ltzh,ltzn*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$GPZDA | string | $GPZDA |  | Message ID | ZDA Protocol header
hhmmss.ss | hhmmss.ss | 082710.00 |  | UTC time | hours, minutes, seconds. and decimal seconds format.
day | dd | 16 | day | UTC time: day | 01 ... 31
month | mm | 09 | month | UTC time: month | 01 ... 12
year | yyyy | 2002 | year | UTC time: year | 4 digit year
ltzh | xx or -xx | 00 |  | Local zone hours | Not supported (fixed to 00)
ltzn | zz | 00 |  | Local zone minutes | Not supported (fixed to 00)
cs | hexadecimal | *64 |  | Checksum |
<CR> <LF> |  |  |  |  | End of message

Example:

$GPZDA,082710.00,16,09,2002,00,00*64

TXT Text Transmission

This message outputs various information on the receiver, such as power-up screen, software version etc. This message can be configured using UBX Protocol message CFG-INF (0x06 0x02)

$GPTXT,xx,yy,zz,ascii data*cs<CR><LF>

Name | ASCII String | Units | Description
Format | Example
$GPTXT | string | $GPTXT | Message ID | TXT Protocol header
numtx | xx | 01 | Total Messages | Total number of messages in this transmission, 01..99
thistx | yy | 01 | Message number | Message number in this transmission, range 01 ... 99
ID zz 02 Text Identifier Antaris GPS receivers specify the 'severity' of the message with this number. Currently assigned Values are:
  • 00 = ERROR
  • 01 = WARNING
  • 02 = NOTICE
  • 07 = USER
string | string | ANTARIS ATR0620 HW 00000040 | Text | Any ASCII Text
cs | hexadecimal | *67 | Checksum
<CR> <LF> | End of message

Example:

$GPTXT,01,01,02,u-blox ag - www.u-blox.com*50
$GPTXT,01,01,02,ANTARIS ATR0620 HW 00000040*67


Position Fix Flags in NMEA Mode
[Standard Messages]

Position Fix Flags in NMEA Mode

The following list shows the implementation of the ANTARIS NMEA protocol and under what circumstances which flag is set.

NMEA Message | Field | No Position Fix (after power-up, after losing Satellite lock) | Valid Position Fix, but User Limits exceeded | EKF (only on Dead Reckoning Receivers) | 2D Position Fix | 3D Position Fix | Combined GPS/EKF Position Fix (only on Dead Reckoning Receivers)
GGA | Status | 0 | 0 | 6 | 1/2 | 1/2 | 1/2
 |  | 0=Fix not available/invalid, 1=GPS SPS Mode, Fix valid, 2=Differential GPS, SPS Mode, Fix Valid, 6=Estimated/Dead Reckoning
GLL | Status | V | V | A | A | A | A
 |  | A=Data VALID, V=Data Invalid
 | Mode Indicator | N | N | E | A/D | A/D | A/D
 |  | N=No Fix, A=Autonomous GNSS Fix, D=Differential GNSS Fix, E=Estimated/Dead Reckoning Fix
GSA | Nav Mode | 1 | 1 | E | 2 | 3 | 3
 |  | 1=Fix Not available, 2=2D Fix, 3=3D Fix, E=Estimated/Dead Reckoning Fix
RMC | Status | V | V | A | A | A | A
 |  | A=Data VALID, V=Data Invalid
 | Mode Indicator | N | N | E | A/D | A/D | A/D
 |  | N=No Fix, A=Autonomous GNSS Fix, D=Differential GNSS Fix, E=Estimated/Dead Reckoning Fix
VTG | Mode Indicator | N | N | E | A/D | A/D | A/D
 |  | N=No Fix, A=Autonomous GNSS Fix, D=Differential GNSS Fix, E=Estimated/Dead Reckoning Fix

Note:
Please note, that the NMEA standard does not fully conform with the above table, because NMEA is not prepared for combined GPS/Dead Reckoning Receivers. However, the allocation has been chosen such that inconsistencies are kept to a minimum.


Input Messages
[Standard Messages]

GPQ - Poll message

Polls a standard NMEA message.

$xxGPQ,sid*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$xxGPQ | String | $EIGPQ |  | Message ID | NMEA sentence header, xx = talker identifier
sid | String | RMC |  | Sentence identifier |
cs | hexadecimal | *3A |  | Checksum |
<CR> <LF> |  |  |  |  | End of message

Example:

$EIGPQ,RMC*3A<CR><LF>


Proprietary Messages
[NMEA Protocol]

Modules

Output Messages
Input Messages


Output Messages
[Proprietary Messages]

PUBX 00 - Lat/Long Position Data

$PUBX,00,hhmmss.ss,Latitude,N,Longitude,E,AltRef,NavStat,Hacc,Vacc,SOG,COG,Vvel,ageC,HDOP,VDOP,TDOP,GU,RU,DR,*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$PUBX | string | $PUBX |  | Message Header | Navstar Proprietary sentences
00 | Numeric | 00 |  | Propietary message identifier |
hhmmss.ss | Hhmmss.ss | 081350.00 |  | UTC Time | hours, minutes, seconds. and decimal seconds format of current position fix.
Latitude | ddmm.mmmmm | 4717.113210 |  | User datum latitude | degrees, minutes, decimal minutes format
N | character | N |  | Hemisphere | 'N'= North, or 'S' = South
Longitude | dddmm.mmmmm | 00833.915187 |  | User datum longitude | degrees, minutes, decimal minutes format
E |  | E |  | Longitude Direction | 'E'= East, or 'W' = West
AltRef | Numeric | 546.589 | m | Altitude above user datum ellipsoid. |
NavStat | string | G3 |  | Navigation Status | see table below
Hacc | numeric | 2.1 | m | Horizontal accuracy | accuracy estimates. (2 sigma) Range: 0 to 9999
Vacc | numeric | 2.0 | m | Vertical accuracy | accuracy estimates. (2 sigma) Range: 0 to 9999
SOG | Numeric | 0.007 | km/h | Speed Over Ground | Range: -999.99 to 999.99
COG | Numeric | 77.52 | degrees | Course Over Ground | true Range: 000.00 to 359.99
Vvel | Numeric | 0.007 | m/s | Vertical velocity | positive Up Range: 000.00 to 999.99
ageC | Numeric |  | s | Age of most recent DGPS Corrections | Range: 00.0 to 99.9 Empty = none available
HDOP | Numeric | 0.92 |  | 2-D Horizontal Dilution of Precision | Range: 00.0 to 99.9
VDOP | Numeric | 1.19 |  | Vertical Dilution of Precision | Range: 00.0 to 99.9
TDOP | Numeric | 0.77 |  | 4-D Geometric Dilution of Precision | Range: 00.0 to 99.9
GU | Numeric | 9 |  | GPS SVs | Number of GPS satellites used in the navigation solution
RU | Numeric | 0 |  | GLONASS SVs | Number of GLONASS satellites used in the navigation solution. Always set to zero.
DR | Numeric | 0 |  | DR Used | Dead Reckoning used (0 or 1)
cs | hexadecimal | *5F |  | checksum |
<CR> <LF> |  |  |  |  | End of message

Value | Description
NF | No Fix
DR | Predictive Dead Reckoning solution
G2 | Stand alone 2D solution
G3 | Stand alone 3D solution
D2 | Differential 2D solution
D3 | Differential 3D solution

Example

$PUBX,00,081350.00,4717.113210,N,00833.915187,E,546.589,G3,2.1,2.0,0.007,77.52,0.007,,0.92,1.19,0.77,9,0,0*5F<CR><LF>

PUBX 01 - UTM Position Data

The $PUBX,01 is a UTM (Universal Transverse Mercator projection) version of the $PUBX,00 sentence.

$PUBX,01,hhmmss.ss,Easting,E,Northing,N,AltMSL,NavStat,Hacc,Vacc,SOG,COG,Vvel,ageC,HDOP,VDOP,PDOP,TDOP,GU,RU,DR,*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$PUBX | string | $PUBX |  | Message Header | Navstar Proprietary sentences
01 | Numeric | 01 |  | Propietary message identifier |
hhmmss.ss | hhmmss.ss | 075142.00 |  | UTC Time |
Easting | Numeric | 467125.245 | m | UTM Easting |
E | Character | E |  | Longitude Direction | 'E'= East, or 'W' = West
Northing | Numeric | 5236949.763 | m | UTM Northing |
N | Character | N |  | Hemisphere | 'N'= North, or 'S' = South
AltMSL | Numeric | 498.235 | m | Altitude above user datum ellipsoid. |
NavStat | string | G3 |  | Navigation Status | see Table under PUBX 00 - Lat/Long Position Data
Hacc | numeric | 2.1 | m | Horizontal accuracy | accuracy estimates. (2 sigma) Range: 0 to 9999
Vacc | numeric | 1.9 | m | Vertical accuracy | accuracy estimates. (2 sigma) Range: 0 to 9999
SOG | Numeric | 0.005 | km/h | Speed Over Ground | Range: 000.00 to 999.99
COG | Numeric | 85.63 | degrees | Course Over Ground | true Range: 000.00 to 359.99
Vvel | Numeric | 0.000 | m/s | Vertical velocity | positive Up Range: -999.99 to 999.99
ageC | Numeric |  | s | Age of most recent DGPS Corrections | Range: 00.0 to 99.9 Empty = none available
HDOP | Numeric | 0.78 |  | 2-D Horizontal Dilution of Precision | Range: 00.0 to 99.9
VDOP | Numeric | 0.90 |  | Vertical Dilution of Precision | Range: 00.0 to 99.9
TDOP | Numeric | 0.52 |  | 4-D Geometric Dilution of Precision | Range: 00.0 to 99.9
GU | Numeric | 12 |  | GPS SVs | Number of GPS satellites used in the navigation solution
RU | Numeric | 00 |  | GLONASS SVs | Number of GLONASS satellites used in the navigation solution. Always set to zero.
DR | Numeric | 0 |  | DR Used | Dead Reckoning used (0 or 1)
cs | hexadecimal | *65 |  | checksum |
<CR> <LF> |  |  |  |  | End of message

Example

$PUBX,01,075142.00,467125.245,E,5236949.763,N,498.235,G3,2.1,1.9,0.005,85.63,0.000,,0.78,0.90,0.52,12,0,0*65

PUBX 03 - Satellite Status

$PUBX,03,GT{,ID,s,AZM,EL,SN,LK},*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$PUBX | string | $PUBX |  | Message Header | Navstar Proprietary sentences
03 | Numeric | 03 |  | Propietary message identifier |
GT | Numeric | 11 |  | Number of GPS satellites tracked |
ID | Numeric | 23 |  | Satellite PRN number | Range: 1-32
s | character | - |  | Satellite status | see table below
AZM | Numeric |  | degrees | Satellite azimuth | Range: range 000 - 359
EL | Numeric |  | degrees | Satellite elevation | Range: range 00 - 90
SN | Numeric | 45 | dBHz | Signal to noise ratio | Range: 0 - 55
LK | Numeric | 010 | seconds | Satellite carrier lock time | Range: 0 - 255 0 = code lock only 255 = lock for 255 seconds or more
cs | hexadecimal | *0D |  | checksum |
<CR> <LF> |  |  |  |  | End of message

Note:
the Values from "ID" to (and including) "LK" are repeated for as often as indicated by the "GT" field.
Value | Description
- | not used
U | used in solution
e | available for navigation, but no ephemeris

Example

$PUBX,03,11,23,-,,,45,010,29,-,,,46,013,07,-,,,42,015,08,U,067,31,42,025,10,U,195,33,46,026,18,U,326,08,39,026,17,-,,,32,015,26,U,306,66,48,025,27,U,073,10,36,026,28,U,089,61,46,024,15,-,,,39,014*0D

PUBX 04 - Time of Day and Clock Information

$PUBX,04,hhmmss.ss,ddmmyy,UTC_TOW,week,reserved,Clk_B,Clk_D,PG,*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$PUBX | string | $PUBX |  | Message ID | Proprietary NMEA sentence header
04 | numeric | 04 |  | UBX Msg ID | Proprietary message identifier
hhmmss.ss | hhmmss.ss | 073731.00 |  | UTC Time | hours, minutes, seconds. and decimal seconds format of current position fix.
ddmmyy | ddmmyy | 091202 |  | UTC Date | day, month, year format.
UTC_TOW | numeric | 113851.00 | s | UTC Time of Week |
week | numeric | 1196 |  | GPS week number | continues beyond 1023
reserved | numeric | 113851.00 |  | reserved | For future use.
Clk_B | numeric | 1930035 | ns | Receiver clock Bias |
Clk_D | numeric | -2660.664 | ns/s | Receiver clock Drift |
PG | numeric | 43 | ns | Timepulse Granularity | The quantization error of the Timepulse pin
cs | hexadecimal | *3C |  | checksum |
<CR> <LF> |  |  |  |  | End of message

Example

$PUBX,04,073731.00,091202,113851.00,1196,113851.00,1930035,-2660.664,43,*3C<CR><LF>


Input Messages
[Proprietary Messages]

PUBX - Poll a PUBX message

A PUBX is message is polled by sending the PUBX message without any data fields.

$PUBX,xx*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$PUBX | string | $PUBX |  | Message ID | Proprietary NMEA sentence header
xx | numeric | 04 |  | Requested UBX Msg ID | Proprietary message identifier
cs | hexadecimal | *37 |  | checksum |
<CR> <LF> |  |  |  |  | End of message

Example:

$PUBX,04*37<CR><LF>

PUBX 40 - Set NMEA message output rate

$PUBX,40,msg_id,rus0,rus1,rus2,reserved*cs<CR><LF>

Name | ASCII String | Units | Description
Format | Example
$PUBX | string | $PUBX | Message ID | Proprietary NMEA sentence header
40 | numeric | Proprietary message identifier of the msg to configure
msg_id | string | GLL | NMEA message identifier
rus0 numeric 1 #cycles output rate on USART 0.
  • 0 disables that message from being output
  • 1 means that this message is output with every Navigation
rus1 | numeric | 0 | # cycles | output rate on USART 1
rus2 | numeric | 0 | # cycles | output rate on USART 2
reserved | numeric | 0 | Reserved. Always fill with 0.
cs | hexadecimal | *5D | checksum | Message checksum in hexadecimal
<CR> <LF> | End of message

Example

$PUBX,40,GLL,1,0,0,0*5D<CR><LF>

PUBX 41 - Set Protocols and Baudrate

$PUBX,41,usart_id,in_proto,out_proto,baudrate,autobauding*cs<CR><LF>

Name | ASCII String |  | Units | Description
 | Format | Example
$PUBX | string | $PUBX |  | Message ID | Proprietary NMEA sentence header
41 | numeric | 41 |  |  | Proprietary message identifier
usart_id |  | 1 |  | USARTID | Range: 0..2
in_proto | hexadecimal | 0007 |  | Input Protocol Mask | Bitmask, specifying which protocols(s) are allowed for input. The following bits are valid protocol numbers: 0: UBX 1: NMEA 2: RTCM 12-15: USER0-USER3
out_proto | hexadecimal | 0003 |  | Output Protocol Mask | Bitmask, specifying which protocols(s) are allowed for output. The following bits are valid protocol numbers: 0: UBX 1: NMEA 3: RAW 12-15: USER0-USER3
baudrate |  | 19200 | bits/s |  | Baudrate
autobauding | numeric | 0 |  |  | Autobauding: 1 = enable 0 = disable
cs | hexadecimal | *25 |  | checksum | Message checksum
<CR> <LF> |  |  |  |  | End of message

Example

$PUBX,41,1,0007,0003,19200,0*25<CR><LF>


UBX Binary Protocol

Modules

UBX Messages Overview
UBX Class NAV
UBX Class RXM
UBX Class INF
UBX Class ACK
UBX Class CFG
UBX Class UPD
UBX Class MON
UBX Class AID
UBX Class TIM

UBX Protocol Key Features

The u-blox GPS Receivers use a u-blox proprietary protocol to transmit GPS data to a host computer using asynchronous RS232 ports. This proprietary protocol has the following key features:

  • Compact. 8 Bit Binary Data is used.
  • Checksum Protected, using a low-overhead checksum algorithm
  • Modular, using a 2-stage Message Identifier (Class- and Message ID)

UBX Packet Structure

A basic UBX Packet looks as follows:

UBX Protocol Framing

  • Every Message starts with 2 Bytes: 0xB5 0x62
  • A 1 Byte Class Field follows. The Class defines the basic subset of the message
  • A 1 Byte ID Field defines the message that is to follow
  • A 2 Byte Length Field is following. Length is defined as being the length of the payload, only. It does not include Sync Chars, Length Field, Class, ID or CRC fields. The number format of the length field is an unsigned 16-Bit integer in Little Endian Format.
  • The Payload is a variable length field.
  • CK_A and CK_B is a 16 Bit checksum whose calculation is defined below.

UBX Class IDs

A Class is a grouping of messages which are related to each other. The following table gives the short names, description and Class ID Definitions.

  • NAV 0x01 Navigation Results: Position, Speed, Time, Acc, Heading, DOP, SVs used
  • RXM 0x02 Receiver Manager Messages: Pseudo Ranges, avg C/N0, Channel Status
  • INF 0x04 Informative Messages: Printf-Style Messages, with Ids such as Error, Warning, Notice
  • ACK 0x05 Ack/Nack Messages as replies to CFG Input Messages
  • CFG 0x06 Configuration Input Messages: Set Dynamic Model, Set DOP Mask
  • UPD 0x09 Firmware Update Messages
  • MON 0x0A Monitor: Stack Usage, Comunication Status, CPU Load, IPC Status, Task Status
  • AID 0x0B Navigation Aiding: Ephemeris, Almanac feeds
  • TIM 0x0D Timing: Timepulse Output, Timemark Results
  • USR 0x4x SCK Customer Messages

Note:
All remaining class IDs are reserved

UBX Payload Definition Rules

Structure Packing

Values are placed in an order that structure packing is not a problem. This means that 2Byte values shall start on offsets which are a multiple of 2, 4-byte values shall start at a multiple of 4, and so on. This can easily be achieved by placing the largest values first in the Message payload (eg #R8), and ending with the smallest (i.e. one-byters such as #U1) values.

Message Naming

Referring to messages is done by adding the class name and a dash in front of the mssage name. For example, the ECEF-Message is referred to as NAV-POSECEF. Referring to values is done by adding a dash and the name, e.g. NAV-POSECEF-X

Number Formats

All multi-byte values are ordered in Little Endian manner, unless mentioned otherwise. All floating point values are transmitted in IEEE754 single or double precision. A technical Description of the IEEE754 format can be found in the AnswerBook from the ADS1.x toolkit.

The following table gives information about the various values:

Short | Type | Size (Bytes) | Comment | Min/Max | Res
U1 | Unsigned Char | 1 |  | 0..255 | 1
I1 | Signed Char | 1 | 2's complement | -128..127 | 1
U2 | Unsigned Short | 2 |  | 0..65535 | 1
I2 | Signed Short | 2 | 2's complement | -32768..32767 | 1
U4 | Unsigned Long | 4 |  | 0..4'294'967'295 | 1
I4 | Signed Long | 4 | 2's complement | -2'147'483'648..2'147'483'647 | 1
R4 | IEEE 754 Single Precision | 4 |  | -1*2^+127 .. 2^+127 | ~ Value * 2^-24
R8 | IEEE 754 Double Precision | 8 |  | -1*2^+1023 .. 2^+1023 | ~ Value * 2^-53
CH | ASCII / ISO 8859.1 Encoding | 1 |  |

UBX Checksum

The checksum is calculated over the packet, starting and including the CLASS field, up until, but excluding, the Checksum Field:

UBX Checksum Range

The checksum algorithm used is the 8-Bit Fletcher Algorithm, which is being used in the TCP standard (RFC 1145). This algorithm works as follows:

Buffer[N] contains the data over which the checksum is to be calculated.

The two CK_ values are 8-Bit Unsigned Integers, only! If you implement it with larger-sized integer values, make sure to Mask both CK_A and CK_B with 0xFF after both operations in the loop.

CK_A = 0, CK_B = 0
For(I=0;I<N;I++)
{
    CK_A = CK_A + Buffer[I]
    CK_B = CK_B + CK_A
}

After the loop, we end up having two UINT8 values which are transmitted at the end of the packet.

UBX Message Flow

There are certain features associated with the messages being sent back and forth:
  • Acknowledgement

    When messages from the Class CFG are sent to the receiver, the receiver will send an Acknowledge (ACK-ACK (0x05 0x01)) or a Not Acknowledge (ACK-NAK (0x05 0x00)) message back to the sender, depending on whether or not the message was processed correctly.

    Note:
    There is no ACK/NAK mechanism for message poll requests outside Class CFG.

  • Polling Mechanism

    All messages that are output by the receiver in a periodic manner (i.e. Messages in Classes MON, NAV and RXM) by the receiver can also be polled.

    There is not a single specific message which polls any other message. The UBX protocol was designed such, that when sending a message with no payload (or just a single parameter which identifies the poll request) the message is polled.


UBX Messages Overview
[UBX Binary Protocol]

Mnemonic | Cls/ID | Length | Description | Type
ACK-ACK | 0x05 0x01 | 2 | Message Acknowledged | Output upon processing of an input message
ACK-NAK | 0x05 0x00 | 2 | Message Not-Acknowledged | Output upon processing of an input message
AID-ALM | 0x0B 0x30 | 0 | Poll GPS Aiding Almanach Data | Poll Request
AID-ALM | 0x0B 0x30 | 1 | Poll GPS Aiding Almanach Data for a SV | Poll Request
AID-ALM | 0x02 0x30 | 40 | GPS Aiding Almanach Input/Output Message | Input/Output Message
AID-EPH | 0x0B 0x31 | 0 | Poll GPS Aiding Ephemeris Data | Poll Request
AID-EPH | 0x0B 0x31 | 1 | Poll GPS Aiding Ephemeris Data for a SV | Poll Request
AID-EPH | 0x0B 0x31 | 8 + Valid * 96 | GPS Aiding Ephemeris Input/Output Message | Input/Output Message
CFG-ANT | 0x06 0x13 | 0 | Poll Antenna Control Settings | Poll Request
CFG-ANT | 0x06 0x13 | 4 | Get/Set Antenna Control Settings | Get/Set
CFG-CFG | 0x06 0x09 | 12 | Clear, Save and Load configurations | Command
CFG-DAT | 0x06 0x06 | 0 | Poll Datum Setting | Poll Request
CFG-DAT | 0x06 0x06 | 2 | Set Standard Datum | Set
CFG-DAT | 0x06 0x06 | 44 | Set User-defined Datum | Set
CFG-DAT | 0x06 0x06 | 52 | Get currently selected Datum | Get
CFG-EKF | 0x06 0x12 | 0 | Poll EKF Module Settings | Poll Request
CFG-EKF | 0x06 0x12 | 16 | Get/Set EKF Module Settings | Get/Set
CFG-FXN | 0x06 0x0E | 0 | Poll FXN configuration | Poll Request
CFG-INF | 0x06 0x02 | 1 | Poll INF message configuration for one protocol | Poll Request
CFG-INF | 0x06 0x02 | N * 9 | Transfers an information message configuration to/from the receiver | Set/Get
CFG-MSG | 0x06 0x01 | 2 | Poll a message configuration | Poll Request
CFG-MSG | 0x06 0x01 | 3 | Set Message Rate | Set/Get
CFG-MSG | 0x06 0x01 | N * 6 | Set Message Rate(s) | Set/Get
CFG-NAV | 0x06 0x03 | 0 | Poll Navigation Engine Settings | Poll Request
CFG-NAV | 0x06 0x03 | 28 | Get/Set Navigation Engine Settings | Get/Set
CFG-PRT | 0x06 0x00 | 1 | Polls the configuration for one I/O Port | Poll Request
CFG-PRT | 0x06 0x00 | N * 20 | Get/Set Port Configuration for one or more I/O Port(s) | Get/Set
CFG-RATE | 0x06 0x08 | 0 | Poll Navigation/Measurement Rate Settings | Poll Request
CFG-RATE | 0x06 0x08 | 6 | Navigation/Measurement Rate Settings | Get/Set
CFG-RST | 0x06 0x04 | 4 | Reset Receiver / Clear Backup Data Structures | Command
CFG-RXM | 0x06 0x11 | 0 | Poll RXM configuration | Poll Request
CFG-RXM | 0x06 0x11 | 2 | RXM configuration | Set/Get
CFG-TM | 0x06 0x10 | 0 | Poll Timemark configuration | Poll Request
CFG-TM | 0x06 0x10 | 12 | Time mark configuration | Get/Set Configuration
CFG-TP | 0x06 0x07 | 0 | Poll TimePulse Parameters | Poll Request
CFG-TP | 0x06 0x07 | 20 | Get/Set TimePulse Parameters | Get/Set
INF-DEBUG | 0x04 0x04 | Variable * 1 | ASCII String output, indicating debug output |
INF-ERROR | 0x04 0x00 | Variable * 1 | ASCII String output, indicating an error |
INF-NOTICE | 0x04 0x02 | Variable * 1 | ASCII String output, with informational contents |
INF-TEST | 0x04 0x03 | Variable * 1 | ASCII String output, indicating test output |
INF-USER | 0x04 0x07 | Variable * 1 | ASCII String output, user output (as generated with the USER output function) |
INF-WARNING | 0x04 0x01 | Variable * 1 | ASCII String output, indicating a warning |
MON-EXCEPT | 0x0A 0x05 | 188 | Exception Dump | Answer to Poll
MON-HW | 0x0A 0x09 | 44 | Status of different aspect of the hardware, such as Antenna, PIO/Peripheral Pins, Noise Level, Automatic Gain Control (AGC) | Periodic/Polled
MON-IO | 0x0A 0x02 | 80 | I/O Subsystem Status | Periodic/Polled
MON-IPC | 0x0A 0x03 | 28 | IPC System Status | Periodic/Polled
MON-MSGPP | 0x0A 0x06 | 144 | Message Parse and Process Status | Periodic/Polled
MON-RXBUF | 0x0A 0x07 | 16 | Receiver Buffer Status | Periodic/Polled
MON-SCHD | 0x0A 0x01 | 24 | System Scheduler Status | Periodic/Polled
MON-TXBUF | 0x0A 0x08 | 20 | Transmitter Buffer Status | Periodic/Polled
MON-VER | 0x0A 0x04 | 40 + N * 30 | Receiver/Software Version | Answer to Poll
NAV-CLOCK | 0x01 0x22 | 20 | Clock Solution | Periodic/Polled
NAV-DGPS | 0x01 0x31 | 16 + NCH * 12 | DGPS Data Used for NAV | Periodic/Polled
NAV-DOP | 0x01 0x04 | 18 | Dilution of precision | Periodic/Polled
NAV-EKFSTATUS | 0x01 0x40 | 36 | Dead Reckoning Module Status Information | Periodic/Polled
NAV-POSECEF | 0x01 0x01 | 20 | Position Solution in ECEF | Periodic/Polled
NAV-POSLLH | 0x01 0x02 | 28 | Geodetic Position Solution | Periodic/Polled
NAV-POSUTM | 0x01 0x08 | 18 | Position Solution in UTM (WGS84) | Periodic/Polled
NAV-SOL | 0x01 0x06 | 52 | Navigation Solution Information | Periodic/Polled
NAV-STATUS | 0x01 0x03 | 16 | Receiver Navigation Status | Periodic/Polled
NAV-SVINFO | 0x01 0x30 | 8 + NCH * 12 | Space Vehicle information | Periodic/Polled
NAV-TIMEGPS | 0x01 0x20 | 16 | GPS Time Solution | Periodic/Polled
NAV-TIMEUTC | 0x01 0x21 | 20 | GPS Time Solution | Periodic/Polled
NAV-VELECEF | 0x01 0x11 | 20 | Velocity Solution in ECEF | Periodic/Polled
NAV-VELNED | 0x01 0x12 | 36 | Velocity Solution in NED | Periodic/Polled
RXM-ALM | 0x02 0x30 | 0 | Poll GPS Constellation Almanach Data | Poll Request
RXM-ALM | 0x02 0x30 | 1 | Poll GPS Constellation Almanach Data for a SV | Poll Request
RXM-ALM | 0x02 0x30 | 40 | GPS Constellation Almanach Data | Poll Answer
RXM-EPH | 0x02 0x31 | 0 | Poll GPS Constellation Ephemeris Data | Poll Request
RXM-EPH | 0x02 0x31 | 1 | Poll GPS Constellation Ephemeris Data for a SV | Poll Request
RXM-EPH | 0x02 0x31 | 8 + Valid * 96 | GPS Constellation Ephemeris Data | Poll Answer
RXM-POSREQ | 0x02 0x40 | 0 | Requests a position fix in FixNow mode | Input
RXM-RAW | 0x02 0x10 | 8 + NSV * 24 | Raw Measurement Data | Periodic/Polled
RXM-SVSI-GPS | 0x02 0x20 | 136 | GPS SV Status Info | Periodic/Polled
TIM-TM | 0x0D 0x02 | 28 | Time mark data | Periodic/Polled
TIM-TP | 0x0D 0x01 | 16 | Timepulse Timedata | Periodic/Polled
UPD-DOWNL | 0x09 0x01 | 8 + Variable * 1 | Download Data to Memory | Input/Output Message
UPD-EXEC | 0x09 0x03 | 8 | Execute Code | Input/Output Message
UPD-MEMCPY | 0x09 0x04 | 16 | Memory Copy | Input/Output Message
UPD-UPLOAD | 0x09 0x02 | 12 + Size * 1 | Upload Data from Memory | Input/Output Message


UBX Class NAV
[UBX Binary Protocol]

Messages in the NAV Class output Navigation Data such as position, altitude and velocity in a number of formats. Additionally, status flags and accuracy figures are output.

NAV-POSECEF (0x01 0x01)

Message |  | NAV-POSECEF
Description |  | Position Solution in ECEF
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x01 0x01 | 20 | 20 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | ITOW | ms | GPS Millisecond Time of Week
4 | I4 | - | ECEF_X | cm | ECEF X coordinate
8 | I4 | - | ECEF_Y | cm | ECEF Y coordinate
12 | I4 | - | ECEF_Z | cm | ECEF Z coordinate
16 | U4 | - | Pacc | cm | Position Accuracy Estimate

NAV-POSLLH (0x01 0x02)

Message |  | NAV-POSLLH
Description |  | Geodetic Position Solution
Type |  | Periodic/Polled
Comment |  | This message outputs the Geodetic position in the currently selected Ellipsoid. The default is the WGS84 Ellipsoid, but can be changed with the message CFG-DAT.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x01 0x02 | 28 | 28 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | ITOW | ms | GPS Millisecond Time of Week
4 | I4 | 1e-7 | LON | deg | Longitude
8 | I4 | 1e-7 | LAT | deg | Latitude
12 | I4 | - | HEIGHT | mm | Height above Ellipsoid
16 | I4 | - | HMSL | mm | Height above mean sea level
20 | U4 | - | Hacc | mm | Horizontal Accuracy Estimate
24 | U4 | - | Vacc | mm | Vertical Accuracy Estimate

NAV-POSUTM (0x01 0x08)

Message | NAV-POSUTM
Description | Position Solution in UTM (WGS84)
Type | Periodic/Polled
Comment Please note that:
  • UTM conversion does not output Zone Characters (i.e. the Northing Element of a Zone description).
  • The UTM output does not support the irregularities in the UTM Grid in the Scandinavian and North Pole region.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x01 0x08 | 18 | 18 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - ITOW ms GPS Millisecond Time of Week
4 I4 - EAST cm UTM Easting
8 I4 - NORTH cm UTM Northing
12 I4 - ALT cm Altitude
16 I1 - ZONE - UTM Zone Number
17 I1 - HEM - Hemisphere Indicator (0=North, 1=South)

NAV-DOP (0x01 0x04)

Message | NAV-DOP
Description | Dilution of precision
Type | Periodic/Polled
Comment
  • DOP values are dimensionless.
  • All dop values are scaled by a factor of 100. that is, if the unit transmits a value of e.g. 156, it means that the DOP value is 1.56.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x01 0x04 | 18 | 18 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - ITOW ms GPS Millisecond Time of Week
4 U2 0.01 GDOP - Geometric DOP
6 U2 0.01 PDOP - Position DOP
8 U2 0.01 TDOP - Time DOP
10 U2 0.01 VDOP - Vertical DOP
12 U2 0.01 HDOP - Horizontal DOP
14 U2 0.01 NDOP - Northing DOP
16 U2 0.01 EDOP - Easting DOP

NAV-STATUS (0x01 0x03)

Message | NAV-STATUS
Description | Receiver Navigation Status
Type | Periodic/Polled
Comment -
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x01 0x03 | 16 | 16 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - ITOW ms GPS Millisecond Time of Week
4 U1 - GPSfix - GPSfix Type, range 0..3
  • 0x00 = no fix
  • 0x01 = dead reckoning only
  • 0x02 = 2D-fix
  • 0x03 = 3D-fix
  • 0x04 = GPS + dead reckoning combined
  • 0x05..0xff: reserved
5 U1 - Flags - - 0x01 = GPSfixOK (i.e. within DOP and ACC Masks)
  • 0x02 = DiffSoln (is DGPS used)
  • 0x04 = WKNSET (is Week Number valid)
  • 0x08 = TOWSET (is Time of Week valid)
  • 0x?0 = reserved
6 U1 - DiffS - Differential Status
Bits [7,6] - reserved
Bits [5,4] - reserved
Bits [3,2] - reserved
Bits [1:0] - DGPS Input Status
  • 00: none
  • 01: PR+PRR Correction
  • 10: PR+PRR+CP Correction
  • 11: High accuracy PR+PRR+CP Correction
7 U1 - res - Reserved
8 U4 - TTFF - Time to first fix (millisecond time tag)
12 U4 - MSSS - Milliseconds since Startup / Reset

NAV-SOL (0x01 0x06)

Message |  | NAV-SOL
Description |  | Navigation Solution Information
Type |  | Periodic/Polled
Comment |  | This message combining Position, velocity and time solution in ECEF, including accuracy figures
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x01 0x06 | 52 | 52 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | ITOW | ms | GPS Millisecond Time of Week
4 | I4 | - | Frac | ns | Nanoseconds remainder of rounded ms above, range -500000 .. 500000
8 | I2 | - | week | - | GPS week (GPS time)
10 | U1 | - | GPSfix | - | GPSfix Type, range 0..4 0x00 = No Fix 0x01 = Dead Reckoning only 0x02 = 2D-Fix 0x03 = 3D-Fix 0x04 = GPS + dead reckoning combined 0x05..0xff: reserved
11 | U1 | - | Flags | - | 0x01=GPSfixOK (i.e. within DOP & ACC Masks) 0x02=DiffSoln (is DGPS used) 0x04=WKNSET (is Week Number valid) 0x08=TOWSET (is Time of Week valid) 0x?0=reserved
12 | I4 | - | ECEF_X | cm | ECEF X coordinate
16 | I4 | - | ECEF_Y | cm | ECEF Y coordinate
20 | I4 | - | ECEF_Z | cm | ECEF Z coordinate
24 | U4 | - | Pacc | cm | 3D Position Accuracy Estimate
28 | I4 | - | ECEFVX | cm/s | ECEF X velocity
32 | I4 | - | ECEFVY | cm/s | ECEF Y velocity
36 | I4 | - | ECEFVZ | cm/s | ECEF Z velocity
40 | U4 | - | SAcc | cm/s | Speed Accuracy Estimate
44 | U2 | 0.01 | PDOP | - | Position DOP
46 | U1 | - | res1 | - | reserved
47 | U1 | - | numSV | - | Number of SVs used in Nav Solution
48 | U4 | - | res2 | - | reserved

NAV-VELECEF (0x01 0x11)

Message |  | NAV-VELECEF
Description |  | Velocity Solution in ECEF
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x01 0x11 | 20 | 20 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | ITOW | ms | GPS Millisecond Time of Week
4 | I4 | - | ECEFVX | cm/s | ECEF X velocity
8 | I4 | - | ECEFVY | cm/s | ECEF Y velocity
12 | I4 | - | ECEFVZ | cm/s | ECEF Z velocity
16 | U4 | - | SAcc | cm/s | Speed Accuracy Estimate

NAV-VELNED (0x01 0x12)

Message |  | NAV-VELNED
Description |  | Velocity Solution in NED
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x01 0x12 | 36 | 36 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | ITOW | ms | GPS Millisecond Time of Week
4 | I4 | - | VEL_N | cm/s | NED north velocity
8 | I4 | - | VEL_E | cm/s | NED east velocity
12 | I4 | - | VEL_D | cm/s | NED down velocity
16 | U4 | - | Speed | cm/s | Speed (3-D)
20 | U4 | - | GSpeed | cm/s | Ground Speed (2-D)
24 | I4 | 1e-5 | Heading | deg | Heading 2-D
28 | U4 | - | SAcc | cm/s | Speed Accuracy Estimate
32 | U4 | 1e-5 | CAcc | deg | Course / Heading Accuracy Estimate

NAV-TIMEGPS (0x01 0x20)

Message |  | NAV-TIMEGPS
Description |  | GPS Time Solution
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x01 0x20 | 16 | 16 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | ITOW | ms | GPS Millisecond time of Week
4 | I4 | - | Frac | ns | Nanoseconds remainder of rounded ms above, range -500000 .. 500000
8 | I2 | - | week | - | GPS week (GPS time)
10 | I1 | - | LeapS | s | Leap Seconds (GPS-UTC)
11 | U1 | - | Valid | - | 0x01 = Valid Time of Week 0x02 = Valid Week Number 0x04 = Valid UTC (Leap Seconds already known?)
12 | U4 | - | TAcc | ns | Time Accuracy Estimate

NAV-TIMEUTC (0x01 0x21)

Message |  | NAV-TIMEUTC
Description |  | GPS Time Solution
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x01 0x21 | 20 | 20 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | ITOW | ms | GPS Millisecond Time of Week
4 | U4 | - | TAcc | ns | Time Accuracy Estimate
8 | I4 | - | Nano | ns | Nanoseconds of second, range -500000000 .. 500000000 (UTC)
12 | U2 | - | Year | y | Year, range 1999..2099 (UTC)
14 | U1 | - | Month | month | Month, range 1..12 (UTC)
15 | U1 | - | Day | d | Day of Month, range 1..31 (UTC)
16 | U1 | - | Hour | h | Hour of Day, range 0..23 (UTC)
17 | U1 | - | Min | min | Minute of Hour, range 0..59 (UTC)
18 | U1 | - | Sec | s | Seconds of Minute, range 0..59 (UTC)
19 | U1 | - | Valid | - | 0x01 = Valid Time of Week 0x02 = Valid Week Number 0x04 = Valid UTC (Leap Seconds already known?)

NAV-CLOCK (0x01 0x22)

Message |  | NAV-CLOCK
Description |  | Clock Solution
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x01 0x22 | 20 | 20 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | ITOW | ms | GPS Millisecond Time of week
4 | I4 | - | CLKB | ns | clock bias in nanoseconds
8 | I4 | - | CLKD | ns/s | clock drift in nanoseconds per second
12 | U4 | - | TAcc | ns | Time Accuracy Estimate
16 | U4 | - | FAcc | ps/s | Frequency Accuracy Estimate

NAV-SVINFO (0x01 0x30)

Message |  | NAV-SVINFO
Description |  | Space Vehicle information
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x01 0x30 | 8 + NCH * 12 | 8 + NCH * 12 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | ITOW | ms | GPS Millisecond time of week
4 | U1 | - | NCH | - | Number of channels range 0..16
5 | U1 | - | RES1 | - | Reserved
6 | U2 | - | RES2 | - | Reserved
Start of repeated block (NCH times}
8 + N*12 | U1 | - | chn | - | channel number, range 0..NCH
9 + N*12 | U1 | - | SVID | - | Satellite ID
10 + N*12 | U1 | - | Flags | - | Bitmask, made up of the following bit values 0x01 = SV is used for navigation 0x02 = Differential correction data is available for this SV 0x04 = Orbit information is available for this SV (Ephemeris or Almanach) 0x08 = Orbit information is Ephemeris 0x10 = SV is unhealthy / shall not be used 0x20 = reserved 0x40 = reserved 0x80 = reserved
11 + N*12 | I1 | - | QI | - | Signal Quality indicator (range 0..7). The following list shows the meaning of the different QI values: 0: This channel is idle 1, 2: Channel is searching 3: Signal detected but unusable 4: Code Lock on Signal 5, 6: Code and Carrier locked 7: Code and Carrier locked, receiving 50bps data
12 + N*12 | U1 | - | CNO | db | Hz Carrier to Noise Ratio (Signal Strength)
13 + N*12 | I1 | - | Elev | deg | Elevation in integer degrees
14 + N*12 | I2 | - | Azim | deg | Azimuth in integer degrees
16 + N*12 | I4 | - | PRRes | cm | Pseudo range residual in centimetres

NAV-DGPS (0x01 0x31)

Message | NAV-DGPS
Description | DGPS Data Used for NAV
Type | Periodic/Polled
Comment | This message outputs the Correction data as it has been applied to the current NAV Solution
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x01 0x31 | 16 + NCH * 12 | 16 + NCH * 12 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - ITOW ms GPS Millisecond time of week
4 I4 - AGE ms Age of newest correction data
8 I2 - BASEID - DGPS Base Station ID
10 I2 - BASEHLTH - DGPS Base Station Health Status
12 U1 - NCH - Number of channels for which correction data is following
13 U1 - STATUS - DGPS Correction Type Status.
  • 00: none
  • 01: PR+PRR Correction
  • 10: PR+PRR+CP Correction
  • 11: High accuracy PR+PRR+CP Correction
14 U2 - res1 - Reserved
Start of repeated block (NCH times}
16 + N*12 U1 - SVID - Satellite ID
17 + N*12 U1 - Flags - Bitmask / Channel Number
Bits 0x01 .. 0x08: = GPS Channel this SV is on
Bit 0x10: is DGPS Used for this SV/Channel?
Bit 0x20 .. 0x80: reserved
18 + N*12 U2 - AGECH ms Age of latest correction data
20 + N*12 R4 - PRC m Pseudo Range Correction
24 + N*12 R4 - PRRC m/s Pseudo Range Rate Correction

NAV-EKFSTATUS (0x01 0x40)

Message | NAV-EKFSTATUS
Description | Dead Reckoning Module Status Information
Type | Periodic/Polled
Comment | This message is only available on EKF (Dead Reckoning) GPS Receivers.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x01 0x40 | 36 | 36 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 I4 - pulses - number of pulsed in last update period
4 I4 - period ms Duration of last period
8 U4 1e-2 gyromean - Uncorrected average Gyro value in last period
12 | I2 | 2^-8 | temperature | degC | Temperature
14 I1 - direction - Direction flag
15 I1 - calib_status - Calibration Status
  • Bits 1,0: Calibration of Scale factor Tacho
    00: no calibration
    01: calibrating
    02: coarse calibration
    03: fine calibration
  • Bits 3,2: Calibration of Scale factor Gyro
    00: no calibration
    01: calibrating
    02: coarse calibration
    03: fine calibration
  • Bits 5,4: Calibration of Bias Gyro
    00: no calibration
    01: calibrating
    02: coarse calibration
    03: fine calibration
16 I4 1e-5 pulse_scale - Current Scale Factor of Speed Pulse
20 I4 1e-5 gyro_bias - Current Bias of Gyro
24 I4 1e-5 gyro_scale - Current Scale Factor of Gyro
28 I2 1e-4 acc_pulse_scale - Accuracy of Speed Pulse Scale Factor [percentage of initial value]
30 I2 1e-4 acc_gyro_bias - Accuracy of Bias of Gyro [percentage of initial value]
32 I2 1e-4 acc_gyro_scale - Accuracy of Scale Factor of Gyro [percentage of initial value]
34 I1 - meas_used - Measurements used
  • Bit 0: Tacho Pulse OK
  • Bit 1: forward/backward signal OK
  • Bit 2: Gyro OK
  • Bit 3: Temperature OK
  • Bit 4: GPS Position OK
  • Bit 5: GPS Velocity OK
  • Bit 6: reserved
  • Bit 7: reserved
35 U1 - reserved2 - reserved


UBX Class RXM
[UBX Binary Protocol]

Messages in Class RXM output status and result data in from the Receiver Manager.

RXM-RAW (0x02 0x10)

Message |  | RXM-RAW
Description |  | Raw Measurement Data
Type |  | Periodic/Polled
Comment |  | This message contains all information needed to be able to generate a RINEX file.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x02 0x10 | 8 + NSV * 24 | 8 + NSV * 24 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | I4 | - | ITOW | ms | Measurement integer millisecond GPS time of week (Receiver Time)
4 | I2 | - | Week | weeks | Measurement GPS week number (Receiver Time).
6 | U1 | - | NSV | - | # of satellites following.
7 | U1 | - | RES1 | - | Reserved
Start of repeated block (NSV times}
8 + N*24 | R8 | - | CPMes | cycles | Carrier phase measurement [L1 cycles]
16 + N*24 | R8 | - | PRMes | m | Pseudorange measurement [m]
24 + N*24 | R4 | - | DOMes | Hz | Doppler measurement [Hz]
28 + N*24 | U1 | - | SV | - | Space Vehicle Number
29 + N*24 | I1 | - | MesQI | - | Nav Measurements Quality Indicator: >=4 : PR+DO OK >=5 : PR+DO+CP OK <6 : likely loss of carrier lock in previous interval
30 + N*24 | I1 | - | CNO | dbHz | Signal strength C/No. (dbHz)
31 + N*24 | U1 | - | LLI | - | Loss of lock indicator (RINEX definition)

RXM-SVSI-GPS (0x02 0x20)

Message |  | RXM-SVSI-GPS
Description |  | GPS SV Status Info
Type |  | Periodic/Polled
Comment |  | Status of the receiver manager knowledge about GPS Orbit Validity
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x02 0x20 | 136 | 136 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | I4 | - | ITOW | ms | Measurement integer millisecond GPS time of week
4 | I2 | - | Week | weeks | Measurement GPS week number.
6 | U1 | - | numvis | - | number of visible satellites
7 | U1 | - | padding | - | pad to 32 bit boundary
Start of repeated block (32 times}
8 + N*4 | U1 | - | SVFlag | - | Bits 0-3: Figure of Merit (URA) range 0..15 0x10=SV healthy flag 0x20=Ephemeris valid 0x40=Almanach valid 0x80=Azimuth > 255, ie. add 256 to value below
9 + N*4 | U1 | - | Azim | - | Azimuth, range 0-255, add 256 if bit above is set
10 + N*4 | I1 | - | Elev | - | Elevation
11 + N*4 | U1 | - | Age | - | Age of Almanach and Ephemeris: Bits 0-3 = age of ALM in days offset by 4, Bits 4-7 = age of EPH in hours offset by 4. ie. the reference time may be in the future: age_of_eph = ((Age & 0xf0) >> 4) - 4 age_of_alm = (Age & 0x0f) - 4

RXM-ALM (0x02 0x30)

Message | RXM-ALM
Description | Poll GPS Constellation Almanach Data
Type | Poll Request
Comment | This message has an empty payload! Poll GPS Constellation Data (Almanach) for all 32 SVs by sending this message to the receiver without any payload. The receiver will return 32 messages of type RXM-ALM as defined below.
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x02 0x30 | 0 | 0 Bytes | CK_A CK_B

Message |  | RXM-ALM
Description |  | Poll GPS Constellation Almanach Data for a SV
Type |  | Poll Request
Comment |  | Poll GPS Constellation Data (Almanach) for an SV by sending this message to the receiver. The receiver will return one message of type RXM-ALM as defined below.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x02 0x30 | 1 | 1 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U1 | - | SVID | - | SV ID for which the receiver shall return its Almanach Data (Valid Range: 1 .. 32).

Message | RXM-ALM
Description | GPS Constellation Almanach Data
Type | Poll Answer
Comment
  • If the WEEK Value is 0, DWRD0 to DWRD7 does not contain valid data and almanach is not available to the given SV.
  • DWORD0 to DWORD7 contain the 8 words following the Hand-Over Word ( HOW ) from the GPS navigation message, either pages 1 to 24 of sub-frame 4 or pages 2 to 10 of subframe 5. See ICD-GPS-200 for a full description of the contents of the Almanac pages.
  • In DWORD0 to DWORD7, the parity bits have been removed, and the 24 bits of data are located in Bits 0 to 23. Bits 24 to 31 are the sign-extension of the data.
  • Example: Parameter e (Eccentricity) from Almanach Subframe 4/5, Word 3, Bits 69-84 within the subframe can be found in DWRD0, Bits 15-0 whereas Bit 0 is the LSB.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x02 0x30 | 40 | 40 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - SVID - SV ID for which this
Almanach Data is (Valid Range: 1 .. 32).
4 U4 - WEEK - GPS week number
8 U4 - DWRD0 - Almanach Word 0
12 U4 - DWRD1 - Almanach Word 1
16 U4 - DWRD2 - Almanach Word 2
20 U4 - DWRD3 - Almanach Word 3
24 U4 - DWRD4 - Almanach Word 4
28 U4 - DWRD5 - Almanach Word 5
32 U4 - DWRD6 - Almanach Word 6
36 U4 - DWRD7 - Almanach Word 7

RXM-EPH (0x02 0x31)

Message | RXM-EPH
Description | Poll GPS Constellation Ephemeris Data
Type | Poll Request
Comment | This message has an empty payload! Poll GPS Constellation Data (Ephemeris) for all 32 SVs by sending this message to the receiver without any payload. The receiver will return 32 messages of type RXM-EPH as defined below.
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x02 0x31 | 0 | 0 Bytes | CK_A CK_B

Message |  | RXM-EPH
Description |  | Poll GPS Constellation Ephemeris Data for a SV
Type |  | Poll Request
Comment |  | Poll GPS Constellation Data (Ephemeris) for an SV by sending this message to the receiver. The receiver will return one message of type RXM-EPH as defined below.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x02 0x31 | 1 | 1 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U1 | - | SVID | - | SV ID for which the receiver shall return its Ephemeris Data (Valid Range: 1 .. 32).

Message | RXM-EPH
Description | GPS Constellation Ephemeris Data
Type | Poll Answer
Comment
  • SF1D0 to SF3D7 is only sent if ephemeris is available for this SV. If not, the payload is reduced to 4 Bytes, indicating that this SV Number does not have valid ephemeris for the moment.
  • SF1D0 to SF3D7 contain the 24 words following the Hand-Over Word ( HOW ) from the GPS navigation message, subframes 1 to 3. See ICD-GPS-200 for a full description of the contents of the Subframes.
  • In SF1D0 to SF3D7, the parity bits have been removed, and the 24 bits of data are located in Bits 0 to 23. Bits 24 to 31 are the sign-extension of the data.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x02 0x31 | 8 + Valid * 96 | 8 + Valid * 96 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - SVID - SV ID for which this ephemeris data is
(Valid Range: 1 .. 32).
4 U4 - HOW - Hand-Over Word of first Subframe,
0 indicats that invalid Eph Data is following.
Start of repeated block (Valid times}
8 + N*96 U4 - SF1D0 - Subframe 1 Word 0
12 + N*96 U4 - SF1D1 - Subframe 1 Word 1
16 + N*96 U4 - SF1D2 - Subframe 1 Word 2
20 + N*96 U4 - SF1D3 - Subframe 1 Word 3
24 + N*96 U4 - SF1D4 - Subframe 1 Word 4
28 + N*96 U4 - SF1D5 - Subframe 1 Word 5
32 + N*96 U4 - SF1D6 - Subframe 1 Word 6
36 + N*96 U4 - SF1D7 - Subframe 1 Word 7
40 + N*96 U4 - SF2D0 - Subframe 2 Word 0
44 + N*96 U4 - SF2D1 - Subframe 2 Word 1
48 + N*96 U4 - SF2D2 - Subframe 2 Word 2
52 + N*96 U4 - SF2D3 - Subframe 2 Word 3
56 + N*96 U4 - SF2D4 - Subframe 2 Word 4
60 + N*96 U4 - SF2D5 - Subframe 2 Word 5
64 + N*96 U4 - SF2D6 - Subframe 2 Word 6
68 + N*96 U4 - SF2D7 - Subframe 2 Word 7
72 + N*96 U4 - SF3D0 - Subframe 3 Word 0
76 + N*96 U4 - SF3D1 - Subframe 3 Word 1
80 + N*96 U4 - SF3D2 - Subframe 3 Word 2
84 + N*96 U4 - SF3D3 - Subframe 3 Word 3
88 + N*96 U4 - SF3D4 - Subframe 3 Word 4
92 + N*96 U4 - SF3D5 - Subframe 3 Word 5
96 + N*96 U4 - SF3D6 - Subframe 3 Word 6
100 + N*96 U4 - SF3D7 - Subframe 3 Word 7

RXM-POSREQ (0x02 0x40)

Message | RXM-POSREQ
Description | Requests a position fix in FixNow mode
Type | Input
Comment | -
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x02 0x40 | 0 | 0 Bytes | CK_A CK_B


UBX Class INF
[UBX Binary Protocol]

The INF Class is basically an output class that allow the NavLoX- and Application code to output strings with a printf-style call. All INF messages have an associated type to indicate the kind of message.

INF-ERROR (0x04 0x00)

Message |  | INF-ERROR
Description |  | ASCII String output, indicating an error
Type |  |
Comment |  | This message has a variable length payload, representing an ASCII string.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x04 0x00 | Variable * 1 | Variable * 1 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
Start of repeated block (Variable times}
N*1 | U1 | - | CHAR | - | ASCII Character

INF-WARNING (0x04 0x01)

Message |  | INF-WARNING
Description |  | ASCII String output, indicating a warning
Type |  |
Comment |  | This message has a variable length payload, representing an ASCII string.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x04 0x01 | Variable * 1 | Variable * 1 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
Start of repeated block (Variable times}
N*1 | U1 | - | CHAR | - | ASCII Character

INF-NOTICE (0x04 0x02)

Message |  | INF-NOTICE
Description |  | ASCII String output, with informational contents
Type |  |
Comment |  | This message has a variable length payload, representing an ASCII string.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x04 0x02 | Variable * 1 | Variable * 1 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
Start of repeated block (Variable times}
N*1 | U1 | - | CHAR | - | ASCII Character

INF-TEST (0x04 0x03)

Message |  | INF-TEST
Description |  | ASCII String output, indicating test output
Type |  |
Comment |  | This message has a variable length payload, representing an ASCII string.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x04 0x03 | Variable * 1 | Variable * 1 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
Start of repeated block (Variable times}
N*1 | U1 | - | CHAR | - | ASCII Character

INF-DEBUG (0x04 0x04)

Message |  | INF-DEBUG
Description |  | ASCII String output, indicating debug output
Type |  |
Comment |  | This message has a variable length payload, representing an ASCII string.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x04 0x04 | Variable * 1 | Variable * 1 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
Start of repeated block (Variable times}
N*1 | U1 | - | CHAR | - | ASCII Character

INF-USER (0x04 0x07)

Message |  | INF-USER
Description |  | ASCII String output, user output (as generated with the USER output function)
Type |  |
Comment |  | This message has a variable length payload, representing an ASCII string.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x04 0x07 | Variable * 1 | Variable * 1 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
Start of repeated block (Variable times}
N*1 | U1 | - | CHAR | - | ASCII Character


UBX Class ACK
[UBX Binary Protocol]

Messages in this class are sent as a result of a CFG message being received, decoded and processed by the receiver.

ACK-ACK (0x05 0x01)

Message |  | ACK-ACK
Description |  | Message Acknowledged
Type |  | Output upon processing of an input message
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x05 0x01 | 2 | 2 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U1 | - | ClsID | - | Class Id of the Acknowledged Message
1 | U1 | - | MsgID | - | Message Id of the Acknowledged Message

ACK-NAK (0x05 0x00)

Message |  | ACK-NAK
Description |  | Message Not-Acknowledged
Type |  | Output upon processing of an input message
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x05 0x00 | 2 | 2 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U1 | - | ClsID | - | Class Id of the Not-Acknowledged Message
1 | U1 | - | MsgID | - | Message Id of the Not-Acknowledged Message


UBX Class CFG
[UBX Binary Protocol]

Modules

Predefined Datum

Detailed Description

The CFG Class can be used to configure the receiver and read out current configuration values. Any messages in Class CFG sent to the receiver are acknowledged (with Message ACK-ACK (0x05 0x01) ) if processed successfully, and rejected (with Message ACK-NAK (0x05 0x00) ) if processing the message failed.

CFG-PRT (0x06 0x00)

Message |  | CFG-PRT
Description |  | Polls the configuration for one I/O Port
Type |  | Poll Request
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x00 | 1 | 1 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U1 | - | PortID | - | Port Identifier Number

Message |  | CFG-PRT
Description |  | Get/Set Port Configuration for one or more I/O Port(s)
Type |  | Get/Set
Comment |  | Several configurations can be concatenated to one input message. In this case the payload length can be a multiple of the normal length. Output messages from the module contain only one configuration unit.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x00 | N * 20 | N * 20 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
Start of repeated block (N times}
N*20 | U1 | - | PortID | - | Port Identifier Number
1 + N*20 | U1 | - | Res0 | - | Reserved
2 + N*20 | U2 | - | Res1 | - | Reserved
4 + N*20 | U4 | - | Mode | - | A bit mask describing the USART mode Bit[7:6] 00 5bit Character Length 01 6bit 10 7bit 11 8bit Bit[11:9] 000 Even Parity 001 Odd Parity 10X No Parity X1X Reserved Bit[13:12] 00 1 Stop Bit 01 1.5 Stop Bit 10 2 Stop Bit 11 Reserved Bit[16] 0 LSB First Bit Order 1 MSB First Bit Order Bit[19] 0 16x Oversampling 1 8x Oversampling
8 + N*20 | U4 | - | Baudrate | Bits/s | Baudrate in bits/second
12 + N*20 | U2 | - | In_proto_mask | - | A mask describing which input protocols are active Each bit of this mask is used for a protocol. Through that, multiple protocols can be defined on a single port. The following Protocols are defined: 0x0001: UBX Protocol 0x0002: NMEA Protocol 0x0004: RTCM Protocol 0x1000: User 0 Protocol 0x2000: User 1 Protocol 0x4000: User 2 Protocol 0x8000: User 3 Protocol All remaining bits are reserved.
14 + N*20 | U2 | - | Out_proto_mask | - | A mask describing which output protocols are active. Each bit of this mask is used for a protocol. Through that, multiple protocols can be defined on a single port. The following Protocols are defined: 0x0001: UBX Protocol 0x0002: NMEA Protocol 0x0008: RAW Protocol 0x1000: User 0 Protocol 0x2000: User 1 Protocol 0x4000: User 2 Protocol 0x8000: User 3 Protocol All remaining bits are reserved.
16 + N*20 | U2 | - | Flags | - | Bit mask: Bit 0: if set autobauding is enabled Bit 1-31: reserved
18 + N*20 | U2 | - | Res2 | - | Reserved

CFG-MSG (0x06 0x01)

Message |  | CFG-MSG
Description |  | Poll a message configuration
Type |  | Poll Request
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x01 | 2 | 2 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U1 | - | Class | - | Message Class
1 | U1 | - | MsgID | - | Message Identifier

Message | CFG-MSG
Description | Set Message Rate(s)
Type | Set/Get
Comment Set/Get message rate configuration (s) to/from the receiver
  • Several configurations can be concatenated to one input message. In this case the payload length can be a multiple of the normal length. Output messages from the module contain only one configuration unit.
  • Send rate is relative to the event a message is registered on. For example, if the rate of a navigation message is set to 2, the message is sent every second navigation solution.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x06 0x01 | N * 6 | N * 6 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
Start of repeated block (N times}
N*6 U1 - Class - Message Class
1 + N*6 U1 - MsgID - Message Identifier
2 + N*6 U1 - Rate0 - Send rate on I/O Target 0
3 + N*6 U1 - Rate1 - Send rate on I/O Target 1
4 + N*6 U1 - Rate2 - Send rate on I/O Target 2
5 + N*6 U1 - Rate3 - Send rate on I/O Target 3

Message |  | CFG-MSG
Description |  | Set Message Rate
Type |  | Set/Get
Comment |  | Set message rate configuration for the current target
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x01 | 3 | 3 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U1 | - | Class | - | Message Class
1 | U1 | - | MsgID | - | Message Identifier
2 | U1 | - | Rate | - | Send rate on current Target

CFG-RATE (0x06 0x08)

Message | CFG-RATE
Description | Poll Navigation/Measurement Rate Settings
Type | Poll Request
Comment | Sending this (empty / no-payload) message to the receiver results in the receiver returning a message of type CFG-RATE with a payload as defined below
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x06 0x08 | 0 | 0 Bytes | CK_A CK_B

Message |  | CFG-RATE
Description |  | Navigation/Measurement Rate Settings
Type |  | Get/Set
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x08 | 6 | 6 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U2 | - | Meas | Rate | ms Measurement Rate
2 | U2 | - | Nav | Rate | cycles Navigation Rate (in number of measurement cycles)
4 | U2 | - | Time | Ref | - alignment to reference time:0 = UTC time, !0 = GPS time

CFG-CFG (0x06 0x09)

Message | CFG-CFG
Description | Clear, Save and Load configurations
Type | Command
Comment The three masks are made up of individual bits, each bit indicating the section ID on which the corresponding action shall be carried out. The following IDs are currently assigned:
  • 0: I/O Port Assignements, Protocols and Baud Rates (See message UBX-CFG-PRT)
  • 1: Message Configuration (See message UBX-CFG-MSG)
  • 2: INF Message Configuration (See UBX-CFG-INF)
  • 3: NAV Configuration (Datum, Nav Rate, Nav Settings)
  • 4: RXM Configuration (Sensitivity Mode, Low Power Mode)
  • 5: Low Power Mode Configurations
  • 6-9: Used for EKF (Dead Reckoning) Receivers
  • 10: Used for Receiver Model-specific settings
  • 11: Reserved
  • 12-15: Reserved for User Applications (Using the SCKit)
  • 16-31: Reserved

    Please note that commands can be combined. The sequence of execution is Clear, Save, Load
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x06 0x09 | 12 | 12 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - Clear_mask - Mask with configuration ids to Clear (=Load Factory Defaults to Active Settings)
4 U4 - Save_mask - Mask with configuration ids to Save (=Save Active Settings to Non-volatile Memory)
8 U4 - Load_mask - Mask with configuration ids to Load (=Load Settings from Non-volatile Memory to Active Settings)

CFG-TP (0x06 0x07)

Message | CFG-TP
Description | Poll TimePulse Parameters
Type | Poll Request
Comment | Sending this (empty / no-payload) message to the receiver results in the receiver returning a message of type CFG-TP with a payload as defined below
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x06 0x07 | 0 | 0 Bytes | CK_A CK_B

Message |  | CFG-TP
Description |  | Get/Set TimePulse Parameters
Type |  | Get/Set
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x07 | 20 | 20 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | interval | ms | time interval for time pulse
4 | U4 | - | length | ms | length of time pulse
8 | I1 | - | status | - | time pulse config setting >0 = positive 0 = off <0 = negative
9 | U1 | - | time_ref | - | alignment to reference time: 0 = UTC time, !0 = GPS time
10 | U2 | - | res | - | reserved
12 | I2 | - | antenna_cable_delay | ns | Antenna Cable Delay
14 | I2 | - | RF_group_delay | ns | Receiver RF Group Delay
16 | I4 | - | user_delay | ns | User Time Function Delay

CFG-NAV (0x06 0x03)

Message | CFG-NAV
Description | Poll Navigation Engine Settings
Type | Poll Request
Comment | Sending this (empty / no-payload) message to the receiver results in the receiver returning a message of type CFG-NAV with a payload as defined below
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x06 0x03 | 0 | 0 Bytes | CK_A CK_B

Message | CFG-NAV
Description | Get/Set Navigation Engine Settings
Type | Get/Set
Comment -
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x06 0x03 | 28 | 28 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U1 - Platform - Dynamic Platform Model:
  • 0 Fixed
  • 1 Stationary
  • 2 Pedestrian
  • 3 Automotive
  • 4 Sea
  • 5 Airborne with <1g Acceleration
  • 6 Airborne with <2g Acceleration
  • 7 Airborne with <4g Acceleration
  • 8-255 reserved
1 U1 - MinSVs - Minimum number of SVs for NAV, range 1..16
2 U1 - MaxSVs - Maximum number of SVs for NAV, range 1..16
3 U1 - MinCNO - Minimum C/N0 for an SV to be used in NAV
4 U1 - AbsCNO - Absolute Minimum C/N0 for an SV to be used in NAV
5 U1 - MinELE - Minimum Elevation for an SV to be used in NAV
6 U1 - DGPSTTR - 1: Enable DGPS Timetag Rounding,
0: Disable DGPS Timetag Rounding
7 U1 - DGPSTO s Timeout for Differential Correction Data
8 U1 - PRCAGE s Timeout for Pseudo Range Correction Data
9 U1 - CPCAGE s Timeout for Carrier Phase Correction Data
10 U2 - MinCLT ms Minimum Carrier Lock Time for an SV to be used for NAV
12 U2 - AbsCLT ms Absolute Minimum Carrier Lock Time for an SV to be used for NAV
14 U1 - MaxDR #fix Maximum Number of Epochs to perform DR in
case of GPS Signal Loss
15 U1 - NAVOPT - Bitmask
  • 0x01: Pseudorange Checks enabled
  • 0x02: Doppler Checks enabled
  • 0x04: Delta Range Checks enabled
  • 0x08: reserved
  • 0x10: Allow Almanach Navigation
  • 0x20: reserved
  • 0x40: reserved
  • 0x80: reserved
16 U2 0.1 PDOP - Position DOP Mask to use
18 U2 0.1 TDOP - Time DOP Mask to use
20 U2 - PACC m Position Accuracy Mask
22 U2 - TACC m Time Accuracy Mask
24 | U2 | 0.1 | FACC | m/s | Frequency Accuracy Mask
26 U2 - reserved - reserved

CFG-DAT (0x06 0x06)

Message | CFG-DAT
Description | Poll Datum Setting
Type | Poll Request
Comment | Upon sending of this message, the receiver returns CFG-DAT as defined below
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x06 0x06 | 0 | 0 Bytes | CK_A CK_B

Message |  | CFG-DAT
Description |  | Set Standard Datum
Type |  | Set
Comment |  | See Predefined Datum for a list of supported Datums
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x06 | 2 | 2 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U2 | - | Datum# | - | Datum Number

Message |  | CFG-DAT
Description |  | Set User-defined Datum
Type |  | Set
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x06 | 44 | 44 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | R8 | - | majA | m | Semi-major Axis ( accepted range = 6,300,000.0 to 6,500,000.0 metres ).
8 | R8 | - | flat | - | 1.0 / Flattening ( accepted range is 0.0 to 500.0 ).
16 | R4 | - | dX | m | X Axis shift at the origin ( accepted range is +/- 5000.0 metres ).
20 | R4 | - | dY | m | Y Axis shift at the origin ( accepted range is +/- 5000.0 metres ).
24 | R4 | - | dZ | m | Z Axis shift at the origin ( accepted range is +/- 5000.0 metres ).
28 | R4 | - | rotX | s | Rotation about the X Axis ( accepted range is +/- 20.0 milli-arc seconds ).
32 | R4 | - | rotY | s | Rotation about the Y Axis ( accepted range is +/- 20.0 milli-arc seconds ).
36 | R4 | - | rotZ | s | Rotation about the Z Axis ( accepted range is +/- 20.0 milli-arc seconds ).
40 | R4 | - | scale | ppm | Scale change ( accepted range is 0.0 to 50.0 parts per million ).

Message |  | CFG-DAT
Description |  | Get currently selected Datum
Type |  | Get
Comment |  | The Parameter Datum is only valid, if Datum# is not equal to -1. In case Datum# is -1, the receiver is configured for a custom datum. The parameters from majA to scale are valid for both custom or standard datum formats.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x06 | 52 | 52 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U2 | - | Datum# | - | Datum Number
2 | CH[6] | - | Datum | - | ASCII String with Datum Mnemonic
8 | R8 | - | majA | m | Semi-major Axis ( accepted range = 6,300,000.0 to 6,500,000.0 metres ).
16 | R8 | - | flat | - | 1.0 / Flattening ( accepted range is 0.0 to 500.0 ).
24 | R4 | - | dX | m | X Axis shift at the origin ( accepted range is +/- 5000.0 metres ).
28 | R4 | - | dY | m | Y Axis shift at the origin ( accepted range is +/- 5000.0 metres ).
32 | R4 | - | dZ | m | Z Axis shift at the origin ( accepted range is +/- 5000.0 metres ).
36 | R4 | - | rotX | s | Rotation about the X Axis ( accepted range is +/- 20.0 milli-arc seconds ).
40 | R4 | - | rotY | s | Rotation about the Y Axis ( accepted range is +/- 20.0 milli-arc seconds ).
44 | R4 | - | rotZ | s | Rotation about the Z Axis ( accepted range is +/- 20.0 milli-arc seconds ).
48 | R4 | - | scale | ppm | Scale change ( accepted range is 0.0 to 50.0 parts per million ).

CFG-INF (0x06 0x02)

Message | CFG-INF
Description | Poll INF message configuration for one protocol
Type | Poll Request
Comment -
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x06 0x02 | 1 | 1 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U1 - ProtocolID - Protocol Identifier, identifying the output protocol for this Poll Request. The following are valid Protocol Identifiers:
  • 0: UBX Protocol
  • 1: NMEA Protocol
  • 2: RTCM Protocol (Can not be use for output of INF messages)
  • 3: RAW Protocol
  • 4-11: Reserved
  • 12: User 0 Protocol
  • 13: User 1 Protocol
  • 14: User 2 Protocol
  • 15: User 3 Protocol
  • 16-255: Reserved

Message | CFG-INF
Description | Transfers an information message configuration to/from the receiver
Type | Set/Get
Comment The value of INFMSG_mask<x> below are that each bit represents one of the INF class messages (Bit 0 for ERROR, Bit 1 for WARNING and so on.). For a complete list, please see the INF-XXX Message IDs. Several configurations can be concatenated to one input message. In this case the payload length can be a multiple of the normal length. Output messages from the module contain only one configuration unit.
Please note that I/O Targets 0, 1 and 2 correspond to serial ports 0, 1 and 2. I/O targets 3 and 4 are reserved for future use.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x06 0x02 | N * 9 | N * 9 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
Start of repeated block (N times}
N*9 U1 - ProtocolID - Protocol Identifier, identifying for which protocol the configuration is set/get. The following are valid Protocol Identifiers:
  • 0: UBX Protocol
  • 1: NMEA Protocol
  • 2: RTCM Protocol (Can not be use for output of INF messages)
  • 3: RAW Protocol
  • 4-11: Reserved
  • 12: User 0 Protocol
  • 13: User 1 Protocol
  • 14: User 2 Protocol
  • 15: User 3 Protocol
  • 16-255: Reserved
1 + N*9 U1 - Res0 - Reserved
2 + N*9 U2 - Res1 - Reserved
4 + N*9 U1 - INFMSG_mask0 - A bit mask, saying which information messages are enabled on I/O target 0
5 + N*9 U1 - INFMSG_mask1 - A bit mask, saying which information messages are enabled on I/O target 1
6 + N*9 U1 - INFMSG_mask2 - A bit mask, saying which information messages are enabled on I/O target 2
7 + N*9 U1 - INFMSG_mask3 - A bit mask, saying which information messages are enabled on I/O target 3
8 + N*9 U1 - INFMSG_mask4 - A bit mask, saying which information messages are enabled on I/O target 4

CFG-RST (0x06 0x04)

Message | CFG-RST
Description | Reset Receiver / Clear Backup Data Structures
Type | Command
Comment -
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x06 0x04 | 4 | 4 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U2 - nav_bbr mask - BBR Sections to clear
  • 0x0001 Ephemeris
  • 0x0002 Almanach
  • 0x0004 Health
  • 0x0008 Klobuchard
  • 0x0010 Position
  • 0x0020 Clock Drift
  • 0x0040 Oscilator Parameter
  • 0x0080 UTC Correction Parameters
  • 0x0100 RTC
  • 0x0000 Hotstart
  • 0x0001 Warmstart
  • 0xFFFF Coldstart
2 U1 - Reset mode - Reset Type
  • 0x00 - Hardware Reset (Watchdog)
  • 0x01 - Controlled Software reset
  • 0x02 - Controlled Software reset (GPS only)
3 U1 - Res - Reserved

CFG-RXM (0x06 0x11)

Message | CFG-RXM
Description | Poll RXM configuration
Type | Poll Request
Comment | Upon sending of this message, the receiver returns CFG-RXM as defined below
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x06 0x11 | 0 | 0 Bytes | CK_A CK_B

Message |  | CFG-RXM
Description |  | RXM configuration
Type |  | Set/Get
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x11 | 2 | 2 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U1 | - | gps_mode | - | GPS Sensitivity Mode 0: Normal 1: Fast Acquisition 2: High Sensitivity >2: reserved
1 | U1 | - | lp_mode | - | Low Power Mode 0: Continuous Tracking Mode 1: Fix Now >1: reserved

CFG-ANT (0x06 0x13)

Message | CFG-ANT
Description | Poll Antenna Control Settings
Type | Poll Request
Comment | Sending this (empty / no-payload) message to the receiver results in the receiver returning a message of type CFG-ANT with a payload as defined below
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x06 0x13 | 0 | 0 Bytes | CK_A CK_B

Message | CFG-ANT
Description | Get/Set Antenna Control Settings
Type | Get/Set
Comment -
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x06 0x13 | 4 | 4 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U2 - flags - Antenna Flag Mask
  • Bit 0: Control Antenna Supply Voltage
  • Bit 1: Enable Short Circuit Detection
  • Bit 2: Enable Open Circuit Detection
  • Bit 3: Power Down Antenna supply if Short Circuit is detected. (only in combination with Bit 1)
  • Bits 15..4: reserved, always set to zero
2 U2 - pins - Antenna Pin Configuration
These field are only valid, when data is received from the receiver ("Get"). If you use this message to configure the antenna control, set all bits of this field to zero.
  • Bits 4..0: PIO-Pin used for switching antenna supply (internal to TIM-LP/TIM-LF)
  • Bits 9..5: PIO-Pin used for detecting a short in the antenna supply
  • Bits 14..10: PIO-Pin used for detecting open/not connected antenna
  • Bit 15: reserved, always set to zero

CFG-FXN (0x06 0x0E)

Message | CFG-FXN
Description | Poll FXN configuration
Type | Poll Request
Comment | Upon sending of this message, the receiver returns CFG-FXN configuration, as defined below
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x06 0x0E | 0 | 0 Bytes | CK_A CK_B

Message |  | CFG-FXN
Description |  | RXM Fix Now configuration
Type |  | Command
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x0E | 36 | 36 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | flags | - | FXN configuration flags. Bitmask, Combination of the following flags. 0x01: Use Searchpasses, instead of timeouts 0x02: If this bit is set, the unit will enter Sleep Mode. Otherwise, it will enter CPU only mode. 0x04: Reserved, never set this bit. 0x08: Absolute Alignment (only with on/off time) 0x10: Use on/off time Remaining bits shall never be set.
4 | U4 | - | t_reacq | ms | Last Fix timeout
8 | U4 | - | t_acq | ms | Sleeptime after a last fix timeout
12 | U4 | - | t_reacq_off | ms | Last reset timeout
16 | U4 | - | t_acq_off | ms | Sleep time after a last reset timeout
20 | U4 | - | t_on | ms | On time (starts with first fix)
24 | U4 | - | t_sleep | ms | Sleep time after normal ontime (actal sleeptime may vary due to data download)
28 | U4 | - | to_search_pass | - | Number of search passes, before last reset timeout is signaled
32 | U4 | - | base_tow | ms | Base TOW to which t_on/t_sleep are aligned if ABSOLUTE_ALIGN is set

CFG-TM (0x06 0x10)

Message | CFG-TM
Description | Poll Timemark configuration
Type | Poll Request
Comment | -
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x06 0x10 | 0 | 0 Bytes | CK_A CK_B

Message |  | CFG-TM
Description |  | Time mark configuration
Type |  | Get/Set Configuration
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x06 0x10 | 12 | 12 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | INTID | - | Timemark Input Source: EXTINT0(31), EXTINT1(30) or EXTINT2(29)
4 | U4 | - | RATE | ms | Rate of time mark task
8 | U4 | - | FLAGS | - | Bit 0 - 0=timemarker disabled 1=timemarker enabled 1 - 0=Timemark on rising edge 1=Timemark on falling edge 2 - 0=Use GPS Timebase 1=Use UTC Timebase

CFG-EKF (0x06 0x12)

Message | CFG-EKF
Description | Poll EKF Module Settings
Type | Poll Request
Comment | Sending this (empty / no-payload) message to the receiver results in the receiver returning a message of type CFG-EKF with a payload as defined below. This message is only available on EKF (Dead Reckoning) GPS Receivers.
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x06 0x12 | 0 | 0 Bytes | CK_A CK_B

Message | CFG-EKF
Description | Get/Set EKF Module Settings
Type | Get/Set
Comment | This message is only available on EKF (Dead Reckoning) GPS Receivers.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x06 0x12 | 16 | 16 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U1 - disable_ekf - 1=EKF solution disabled. 0=EKF solution enabled.
1 U1 - action_flags - Meaning in input struct: Config action flags:
  • Bit 0: reserved. Always set to zero.
  • Bit 1: Clear temperature compensation table
  • Bit 2: Clear stored calibration
  • Bit 3: Reserved. Always set to zero.
  • Bit 4: Set nominal tacho pulses as indicated below (Field nom_ppkm)
  • Bit 5: Set nominal gyro values as indicated below (Fields nom_sens, nom_zero)
  • Bit 6: Set temp table config (Fields TempUpdate, RMSTemp)
  • Bit 7: Set direction pin and gyro sense meaning (inverse_flags)
2 U1 - reserved - reserved
3 U1 - inverse_flags - The following flags can be used to 'invert' the meaning of the sensor signals
  • Bit 0: invert meaning of direction pin: 0:High=Forwards, 1:High=Backwards
  • Bit 1: invert meaning of gyro rotation sense: 0:clockwise positive (axis downwards for right handed system), 1:anti-clockwise positive (axis upwards for right handed system)
4 U4 - Reserved - For future use. Always set to zero.
8 U2 - nom_ppkm - Nominal tacho pulses per kilometer, permitted range: 1100--45000
10 U2 - nom_zero mV Nominal gyro zero point output, permitted range: 2000--3000
12 U1 - nom_sens mV/(deg/s) Nominal gyro sensitivity, permitted range: 20--40
13 | U1 | 0.1 | RMSTemp | mV | Maximum allowable RMS threshold for zero velocity temperature compensation, permitted range: 1--10
14 U2 - TempUpdate s Temperature table save-to-flash-interval, minimum: 9


Predefined Datum
[UBX Class CFG]

The following, predefined Datum Values are available and can be configured using UBX message CFG-DAT (0x06 0x06)

Index | Description | Shortform | Ellipsoid Index (See table) | Rotation and Scale (See table) | dX [m] | dY [m] | dZ [m]
0 | World Geodetic System - 84 | "WGS84" | 0 | 0 | 0.0 | 0.0 | 0.0
1 | World Geodetic System - 72 | "WGS72" | 23 | 1 | 0.0 | 0.0 | 4.5
2 | Earth-90 - GLONASS Coordinate system | "ETH90" | 8 | 0 | 0.0 | 0.0 | 4.0
3 | Adindan - Mean Solution (Ethiopia & Sudan) | "ADI-M" | 7 | 0 | -166.0 | -15.0 | 204.0
4 | Adindan - Burkina Faso | "ADI-E" | 7 | 0 | -118.0 | -14.0 | 218.0
5 | Adindan - Cameroon | "ADI-F" | 7 | 0 | -134.0 | -2.0 | 210.0
6 | Adindan - Ethiopia | "ADI-A" | 7 | 0 | -165.0 | -11.0 | 206.0
7 | Adindan - Mali | "ADI-C" | 7 | 0 | -123.0 | -20.0 | 220.0
8 | Adindan - Senegal | "ADI-D" | 7 | 0 | -128.0 | -18.0 | 224.0
9 | Adindan - Sudan | "ADI-B" | 7 | 0 | -161.0 | -14.0 | 205.0
10 | Afgooye - Somalia | "AFG" | 21 | 0 | -43.0 | -163.0 | 45.0
11 | ARC 1950 - Mean (Botswana, Lesotho, Malawi, Swaziland, Zaire, Zambia, Zimbabwe) | "ARF-M" | 7 | 0 | -143.0 | -90.0 | -294.0
12 | ARC 1950 - Botswana | "ARF-A" | 7 | 0 | -138.0 | -105.0 | -289.0
13 | ARC 1950 - Burundi | "ARF-H" | 7 | 0 | -153.0 | -5.0 | -292.0
14 | ARC 1950 - Lesotho | "ARF-B" | 7 | 0 | -125.0 | -108.0 | -295.0
15 | ARC 1950 - Malawi | "ARF-C" | 7 | 0 | -161.0 | -73.0 | -317.0
16 | ARC 1950 - Swaziland | "ARF-D" | 7 | 0 | -134.0 | -105.0 | -295.0
17 | ARC 1950 - Zaire | "ARF-E" | 7 | 0 | -169.0 | -19.0 | -278.0
18 | ARC 1950 - Zambia | "ARF-F" | 7 | 0 | -147.0 | -74.0 | -283.0
19 | ARC 1950 - Zimbabwe | "ARF-G" | 7 | 0 | -142.0 | -96.0 | -293.0
20 | ARC 1960 - Mean (Kenya, Tanzania) | "ARS" | 7 | 0 | -160.0 | -6.0 | -302.0
21 | Ayabelle Lighthouse - Djibouti | "PHA" | 7 | 0 | -79.0 | -129.0 | 145.0
22 | Bissau - Guinea-Bissau | "BID" | 20 | 0 | -173.0 | 253.0 | 27.0
23 | Cape - South Africa | "CAP" | 7 | 0 | -136.0 | -108.0 | -292.0
24 | Carthage - Tunisia | "CGE" | 7 | 0 | -263.0 | 6.0 | 431.0
25 | Dabola - Guinea | "DAL" | 7 | 0 | -83.0 | 37.0 | 124.0
26 | Leigon - Ghana | "LEH" | 7 | 0 | -130.0 | 29.0 | 364.0
27 | Liberia 1964 | "LIB" | 7 | 0 | -90.0 | 40.0 | 88.0
28 | Massawa - Eritrea (Ethiopia) | "MAS" | 5 | 0 | 639.0 | 405.0 | 60.0
29 | Merchich - Morocco | "MER" | 7 | 0 | 31.0 | 146.0 | 47.0
30 | Minna - Cameroon | "MIN-A" | 7 | 0 | -81.0 | -84.0 | 115.0
31 | Minna - Nigeria | "MIN-B" | 7 | 0 | -92.0 | -93.0 | 122.0
32 | M'Poraloko - Gabon | "MPO" | 7 | 0 | -74.0 | -130.0 | 42.0
33 | North Sahara 1959 - Algeria | "NSD" | 7 | 0 | -186.0 | -93.0 | 310.0
34 | Old Egyptian 1907 - Egypt | "OEG" | 17 | 0 | -130.0 | 110.0 | -13.0
35 | Point 58 - Mean Solution (Burkina Faso & Niger) | "PTB" | 7 | 0 | -106.0 | -129.0 | 165.0
36 | Pointe Noire 1948 - Congo | "PTN" | 7 | 0 | -148.0 | 51.0 | -291.0
37 | Schwarzeck - Namibia | "SCK" | 5 | 0 | 616.0 | 97.0 | -251.0
38 | Voirol 1960 - Algeria | "VOR" | 7 | 0 | -123.0 | -206.0 | 219.0
39 | Ain El Abd 1970 - Bahrain Island | "AIN-A" | 20 | 0 | -150.0 | -250.0 | -1.0
40 | Ain El Abd 1970 - Saudi Arabia | "AIN-B" | 20 | 0 | -143.0 | -236.0 | 7.0
41 | Djakarta (Batavia)- Sumatra (Indonesia) | "BAT" | 5 | 0 | -377.0 | 681.0 | -50.0
42 | Hong Kong 1963 - Hong Kong | "HKD" | 20 | 0 | -156.0 | -271.0 | -189.0
43 | Hu-Tzu-Shan - Taiwan | "HTN" | 20 | 0 | -637.0 | -549.0 | -203.0
44 | Indian - Bangladesh | "IND-B" | 9 | 0 | 282.0 | 726.0 | 254.0
45 | Indian - India & Nepal | "IND-I" | 11 | 0 | 295.0 | 736.0 | 257.0
46 | Indian 1954 - Thailand | "INF-A" | 9 | 0 | 217.0 | 823.0 | 299.0
47 | Indian 1960 - Vietnam (near 16N) | "ING-A" | 9 | 0 | 198.0 | 881.0 | 317.0
48 | Indian 1960 - Con Son Island (Vietnam) | "ING-B" | 9 | 0 | 182.0 | 915.0 | 344.0
49 | Indian 1975 - Thailand | "INH-A" | 9 | 0 | 209.0 | 818.0 | 290.0
50 | Indonesian 1974 | "IDN" | 19 | 0 | -24.0 | -15.0 | 5.0
51 | Kandawala - Sri Lanka | "KAN" | 9 | 0 | -97.0 | 787.0 | 86.0
52 | Kertau 1948 - West Malaysia & Singapore | "KEA" | 13 | 0 | -11.0 | 851.0 | 5.0
53 | Nahrwan - Masirah Island (Oman) | "NAH-A" | 7 | 0 | -247.0 | -148.0 | 369.0
54 | Nahrwan - United Arab Emirates | "NAH-B" | 7 | 0 | -249.0 | -156.0 | 381.0
55 | Nahrwan - Saudi Arabia | "NAH-C" | 7 | 0 | -243.0 | -192.0 | 477.0
56 | Oman | "FAH" | 7 | 0 | -346.0 | -1.0 | 224.0
57 | Qatar National - Qatar | "QAT" | 20 | 0 | -128.0 | -283.0 | 22.0
58 | South Asia - Singapore | "SOA" | 15 | 0 | 7.0 | -10.0 | -26.0
59 | Timbalai 1948 - Brunei & East Malaysia (Sarawak & Sabah) | "TIL" | 10 | 0 | -679.0 | 669.0 | -48.0
60 | Tokyo - Mean Solution (Japan,Okinawa & South Korea) | "TOY-M" | 5 | 0 | -148.0 | 507.0 | 685.0
61 | Tokyo - Japan | "TOY-A" | 5 | 0 | -148.0 | 507.0 | 685.0
62 | Tokyo - Okinawa | "TOY-C" | 5 | 0 | -158.0 | 507.0 | 676.0
63 | Tokyo - South Korea | "TOY-B" | 5 | 0 | -146.0 | 507.0 | 687.0
64 | Australian Geodetic 1966 - Australia & Tasmania | "AUA" | 3 | 0 | -133.0 | -48.0 | 148.0
65 | Australian Geodetic 1984 - Australia & Tasmania | "AUG" | 3 | 0 | -134.0 | -48.0 | 149.0
66 | European 1950 - Mean (AU, B, DK, FN, F, G, GR, I, LUX, NL, N, P, E, S, CH) | "EUR-M" | 20 | 0 | -87.0 | -98.0 | -121.0
67 | European 1950 - Western Europe (AU, DK, FR, G, NL, CH) | "EUR-A" | 20 | 0 | -87.0 | -96.0 | -120.0
68 | European 1950 - Cyprus | "EUR-E" | 20 | 0 | -104.0 | -101.0 | -140.0
69 | European 1950 - Egypt | "EUR-F" | 20 | 0 | -130.0 | -117.0 | -151.0
70 | European 1950 - England, Wales, Scotland & Channel Islands | "EUR-G" | 20 | 0 | -86.0 | - 96.0 | -120.0
71 | European 1950 - England, Wales, Scotland & Ireland | "EUR-K" | 20 | 0 | -86.0 | - 96.0 | -120.0
72 | European 1950 - Greece | "EUR-B" | 20 | 0 | -84.0 | -95.0 | -130.0
73 | European 1950 - Iran | "EUR-H" | 20 | 0 | -117.0 | -132.0 | -164.0
74 | European 1950 - Italy - Sardinia | "EUR-I" | 20 | 0 | -97.0 | -103.0 | -120.0
75 | European 1950 - Italy - Sicily | "EUR-J" | 20 | 0 | -97.0 | -88.0 | -135.0
76 | European 1950 - Malta | "EUR-L" | 20 | 0 | -107.0 | -88.0 | -149.0
77 | European 1950 - Norway & Finland | "EUR-C" | 20 | 0 | -87.0 | -95.0 | -120.0
78 | European 1950 - Portugal & Spain | "EUR-D" | 20 | 0 | -84.0 | -107.0 | -120.0
79 | European 1950 - Tunisia | "EUR-T" | 20 | 0 | -112.0 | -77.0 | -145.0
80 | European 1979 - Mean Solution (AU, FN, NL, N, E, S, CH) | "EUS" | 20 | 0 | -86.0 | -98.0 | -119.0
81 | Hjorsey 1955 - Iceland | "HJO" | 20 | 0 | -73.0 | 46.0 | -86.0
82 | Ireland 1965 | "IRL" | 2 | 0 | 506.0 | -122.0 | 611.0
83 | Ordnance Survey of GB 1936 - Mean (E, IoM, S, ShI, W) | "OGB-M" | 1 | 0 | 375.0 | -111.0 | 431.0
84 | Ordnance Survey of GB 1936 - England | "OGB-A" | 1 | 0 | 371.0 | -112.0 | 434.0
85 | Ordnance Survey of GB 1936 - England, Isle of Man & Wales | "OGB-B" | 1 | 0 | 371.0 | -111.0 | 434.0
86 | Ordnance Survey of GB 1936 - Scotland & Shetland Isles | "OGB-C" | 1 | 0 | 384.0 | -111.0 | 425.0
87 | Ordnance Survey of GB 1936 - Wales | "OGB-D" | 1 | 0 | 370.0 | -108.0 | 434.0
88 | Rome 1940 - Sardinia Island | "MOD" | 20 | 0 | -225.0 | -65.0 | 9.0
89 | S-42 (Pulkovo 1942) - Hungary | "SPK" | 21 | 0 | 28.0 | -121.0 | -77.0
90 | S-JTSK Czechoslavakia (prior to 1 Jan 1993) | "CCD" | 5 | 0 | 589.0 | 76.0 | 480.0
91 | Cape Canaveral - Mean Solution (Florida & Bahamas) | "CAC" | 6 | 0 | -2.0 | 151.0 | 181.0
92 | N. American 1927 - Mean Solution (CONUS) | "NAS-C" | 6 | 0 | -8.0 | 160.0 | 176.0
93 | N. American 1927 - Western US | "NAS-B" | 6 | 0 | -8.0 | 159.0 | 175.0
94 | N. American 1927 - Eastern US | "NAS-A" | 6 | 0 | -9.0 | 161.0 | 179.0
95 | N. American 1927 - Alaska (excluding Aleutian Islands) | "NAS-D" | 6 | 0 | -5.0 | 135.0 | 172.0
96 | N. American 1927 - Aleutian Islands, East of 180W | "NAS-V" | 6 | 0 | -2.0 | 152.0 | 149.0
97 | N. American 1927 - Aleutian Islands, West of 180W | "NAS-W" | 6 | 0 | 2.0 | 204.0 | 105.0
98 | N. American 1927 - Bahamas (excluding San Salvador Island) | "NAS-Q" | 6 | 0 | -4.0 | 154.0 | 178.0
99 | N. American 1927 - San Salvador Island | "NAS-R" | 6 | 0 | 1.0 | 140.0 | 165.0
100 | N. American 1927 - Canada Mean Solution (including Newfoundland) | "NAS-E" | 6 | 0 | -10.0 | 158.0 | 187.0
101 | N. American 1927 - Alberta & British Columbia | "NAS-F" | 6 | 0 | -7.0 | 162.0 | 188.0
102 | N. American 1927 - Eastern Canada (Newfoundland, New Brunswick, Nova Scotia & Quebec) | "NAS-G" | 6 | 0 | -22.0 | 160.0 | 190.0
103 | N. American 1927 - Manitoba & Ontario | "NAS-H" | 6 | 0 | -9.0 | 157.0 | 184.0
104 | N. American 1927 - Northwest Territories & Saskatchewan | "NAS-I" | 6 | 0 | 4.0 | 159.0 | 188.0
105 | N. American 1927 - Yukon | "NAS-J" | 6 | 0 | -7.0 | 139.0 | 181.0
106 | N. American 1927 - Canal Zone | "NAS-O" | 6 | 0 | 0.0 | 125.0 | 201.0
107 | N. American 1927 - Caribbean | "NAS-P" | 6 | 0 | -3.0 | 142.0 | 183.0
108 | N. American 1927 - Central America | "NAS-N" | 6 | 0 | 0.0 | 125.0 | 194.0
109 | N. American 1927 - Cuba | "NAS-T" | 6 | 0 | -9.0 | 152.0 | 178.0
110 | N. American 1927 - Greenland (Hayes Peninsula) | "NAS-U" | 6 | 0 | 11.0 | 114.0 | 195.0
111 | N. American 1927 - Mexico | "NAS-L" | 6 | 0 | -12.0 | 130.0 | 190.0
112 | N. American 1983 - Alaska (excluding Aleutian Islands) | "NAR-A" | 16 | 0 | 0.0 | 0.0 | 0.0
113 | N. American 1983 - Aleutian Islands | "NAR-E" | 16 | 0 | -2.0 | 0.0 | 4.0
114 | N. American 1983 - Canada | "NAR-B" | 16 | 0 | 0.0 | 0.0 | 0.0
115 | N. American 1983 - Mean Solution (CONUS) | "NAR-C" | 16 | 0 | 0.0 | 0.0 | 0.0
116 | N. American 1983 - Hawaii | "NAR-H" | 16 | 0 | 1.0 | 1.0 | -1.0
117 | N. American 1983 - Mexico & Central America | "NAR-D" | 16 | 0 | 0.0 | 0.0 | 0.0
118 | Bogota Observatory - Colombia | "BOO" | 20 | 0 | 307.0 | 304.0 | -318.0
119 | Campo Inchauspe 1969 - Argentina | "CAI" | 20 | 0 | -148.0 | 136.0 | 90.0
120 | Chua Astro - Paraguay | "CHU" | 20 | 0 | -134.0 | 229.0 | -29.0
121 | Corrego Alegre - Brazil | "COA" | 20 | 0 | -206.0 | 172.0 | -6.0
122 | Prov S. American 1956 - Mean Solution (Bol, Col, Ecu, Guy, Per & Ven) | "PRP-M" | 20 | 0 | -288.0 | 175.0 | -376.0
123 | Prov S. American 1956 - Bolivia | "PRP-A" | 20 | 0 | -270.0 | 188.0 | -388.0
124 | Prov S. American 1956 - Northern Chile (near 19S) | "PRP-B" | 20 | 0 | -270.0 | 183.0 | -390.0
125 | Prov S. American 1956 - Southern Chile (near 43S) | "PRP-C" | 20 | 0 | -305.0 | 243.0 | -442.0
126 | Prov S. American 1956 - Colombia | "PRP-D" | 20 | 0 | -282.0 | 169.0 | -371.0
127 | Prov S. American 1956 - Ecuador | "PRP-E" | 20 | 0 | -278.0 | 171.0 | -367.0
128 | Prov S. American 1956 - Guyana | "PRP-F" | 20 | 0 | -298.0 | 159.0 | -369.0
129 | Prov S. American 1956 - Peru | "PRP-G" | 20 | 0 | -279.0 | 175.0 | -379.0
130 | Prov S. American 1956 - Venezuela | "PRP-H" | 20 | 0 | -295.0 | 173.0 | -371.0
131 | Prov South Chilean 1963 | "HIT" | 20 | 0 | 16.0 | 196.0 | 93.0
132 | South American 1969 - Mean Solution (Arg, Bol, Bra, Chi, Col, Ecu, Guy, Par, Per, Tri & Tob, Ven) | "SAN-M" | 22 | 0 | -57.0 | 1.0 | -41.0
133 | South American 1969 - Argentina | "SAN-A" | 22 | 0 | -62.0 | -1.0 | -37.0
134 | South American 1969 - Bolivia | "SAN-B" | 22 | 0 | -61.0 | 2.0 | -48.0
135 | South American 1969 - Brazil | "SAN-C" | 22 | 0 | -60.0 | -2.0 | -41.0
136 | South American 1969 - Chile | "SAN-D" | 22 | 0 | -75.0 | -1.0 | -44.0
137 | South American 1969 - Colombia | "SAN-E" | 22 | 0 | -44.0 | 6.0 | -36.0
138 | South American 1969 - Ecuador (excluding Galapagos Islands) | "SAN-F" | 22 | 0 | -48.0 | 3.0 | -44.0
139 | South American 1969 - Baltra, Galapagos Islands | "SAN-J" | 22 | 0 | -47.0 | 26.0 | -42.0
140 | South American 1969 - Guyana | "SAN-G" | 22 | 0 | -53.0 | 3.0 | -47.0
141 | South American 1969 - Paraguay | "SAN-H" | 22 | 0 | -61.0 | 2.0 | -33.0
142 | South American 1969 - Peru | "SAN-I" | 22 | 0 | -58.0 | 0.0 | -44.0
143 | South American 1969 - Trinidad & Tobago | "SAN-K" | 22 | 0 | -45.0 | 12.0 | -33.0
144 | South American 1969 - Venezuela | "SAN-L" | 22 | 0 | -45.0 | 8.0 | -33.0
145 | Zanderij - Suriname | "ZAN" | 20 | 0 | -265.0 | 120.0 | -358.0
146 | Antigua Island Astro 1943 - Antigua, Leeward Islands | "AIA" | 7 | 0 | -270.0 | 13.0 | 62.0
147 | Ascension Island 1958 | "ASC" | 20 | 0 | -205.0 | 107.0 | 53.0
148 | Astro Dos 71/4 - St Helena Island | "SHB" | 20 | 0 | -320.0 | 550.0 | -494.0
149 | Bermuda 1957 - Bermuda Islands | "BER" | 6 | 0 | -73.0 | 213.0 | 296.0
150 | Deception Island, Antarctica | "DID" | 7 | 0 | 260.0 | 12.0 | -147.0
151 | Fort Thomas 1955 - Nevis, St Kitts, Leeward Islands | "FOT" | 7 | 0 | -7.0 | 215.0 | 225.0
152 | Graciosa Base SW 1948 - Faial, Graciosa, Pico, Sao Jorge, Terceira Islands (Azores) | "GRA" | 20 | 0 | -104.0 | 167.0 | -38.0
153 | ISTS 061 Astro 1968 - South Georgia Islands | "ISG" | 20 | 0 | -794.0 | 119.0 | -298.0
154 | L.C. 5 Astro 1961 - Cayman Brac Island | "LCF" | 6 | 0 | 42.0 | 124.0 | 147.0
155 | Montserrat Island Astro 1958 - Montserrat Leeward Islands | "ASM" | 7 | 0 | 174.0 | 359.0 | 365.0
156 | Naparima, BWI - Trinidad & Tobago | "NAP" | 20 | 0 | -10.0 | 375.0 | 165.0
157 | Observatorio Meteorologico 1939 - Corvo and Flores Islands (Azores) | "FLO" | 20 | 0 | -425.0 | -169.0 | 81.0
158 | Pico De Las Nieves - Canary Islands | "PLN" | 20 | 0 | -307.0 | -92.0 | 127.0
159 | Porto Santo 1936 - Porto Santo and Madeira Islands | "POS" | 20 | 0 | -499.0 | -249.0 | 314.0
160 | Puerto Rico - Puerto Rico & Virgin Islands | "PUR" | 6 | 0 | 11.0 | 72.0 | -101.0
161 | Qornoq - South Greenland | "QUO" | 20 | 0 | 164.0 | 138.0 | -189.0
162 | Sao Braz - Soa Miguel, Santa Maria Islands (Azores) | "SAO" | 20 | 0 | -203.0 | 141.0 | 53.0
163 | Sapper Hill 1943 - East Falkland Island | "SAP" | 20 | 0 | -355.0 | 21.0 | 72.0
164 | Selvagem Grande 1938 - Salvage Islands | "SGM" | 20 | 0 | -289.0 | -124.0 | 60.0
165 | Tristan Astro 1968 - Tristan du Cunha | "TDC" | 20 | 0 | -632.0 | 438.0 | -609.0
166 | Anna 1 Astro 1965 - Cocos Islands | "ANO" | 3 | 0 | -491.0 | -22.0 | 435.0
167 | Gandajika Base 1970 - Republic of Maldives | "GAA" | 20 | 0 | -133.0 | -321.0 | 50.0
168 | ISTS 073 Astro 1969 - Diego Garcia | "IST" | 20 | 0 | 208.0 | -435.0 | -229.0
169 | Kerguelen Island 1949 - Kerguelen Island | "KEG" | 20 | 0 | 145.0 | -187.0 | 103.0
170 | Mahe 1971 - Mahe Island | "MIK" | 7 | 0 | 41.0 | -220.0 | -134.0
171 | Reunion - Mascarene Islands | "RUE" | 20 | 0 | 94.0 | -948.0 | -1262.0
172 | American Samoa 1962 - American Samoa Islands | "AMA" | 6 | 0 | -115.0 | 118.0 | 426.0
173 | Astro Beacon "E" 1945 - Iwo Jima | "ATF" | 20 | 0 | 145.0 | 75.0 | -272.0
174 | Astro Tern Island (Frig) 1961 - Tern Island | "TRN" | 20 | 0 | 114.0 | -116.0 | -333.0
175 | Astronomical Station 1952 - Marcus Island | "ASQ" | 20 | 0 | 124.0 | -234.0 | -25.0
176 | Bellevue (IGN) - Efate and Erromango Islands | "IBE" | 20 | 0 | -127.0 | -769.0 | 472.0
177 | Canton Astro 1966 - Phoenix Islands | "CAO" | 20 | 0 | 298.0 | -304.0 | -375.0
178 | Chatham Island Astro 1971 - Chatham Island (New Zeland) | "CHI" | 20 | 0 | 175.0 | -38.0 | 113.0
179 | DOS 1968 - Gizo Island (New Georgia Islands) | "GIZ" | 20 | 0 | 230.0 | -199.0 | -752.0
180 | Easter Island 1967 - Easter Island | "EAS" | 20 | 0 | 211.0 | 147.0 | 111.0
181 | Geodetic Datum 1949 - New Zealand | "GEO" | 20 | 0 | 84.0 | -22.0 | 209.0
182 | Guam 1963 - Guam Island | "GUA" | 6 | 0 | -100.0 | -248.0 | 259.0
183 | GUX 1 Astro - Guadalcanal Island | "DOB" | 20 | 0 | 252.0 | -209.0 | -751.0
184 | Indonesian 1974 - Indonesia | "IDN" | 19 | 0 | -24.0 | -15.0 | 5.0
185 | Johnston Island 1961 - Johnston Island | "JOH" | 20 | 0 | 189.0 | -79.0 | -202.0
186 | Kusaie Astro 1951 - Caroline Islands, Fed. States of Micronesia | "KUS" | 20 | 0 | 647.0 | 1777.0 | -1124.0
187 | Luzon - Philippines (excluding Mindanao Island) | "LUZ-A" | 6 | 0 | -133.0 | -77.0 | -51.0
188 | Luzon - Mindanao Island (Philippines) | "LUZ-B" | 6 | 0 | -133.0 | -79.0 | -72.0
189 | Midway Astro 1961 - Midway Islands | "MID" | 20 | 0 | 912.0 | -58.0 | 1227.0
190 | Old Hawaiian - Mean Solution | "OHA-M" | 6 | 0 | 61.0 | -285.0 | -181.0
191 | Old Hawaiian - Hawaii | "OHA-A" | 6 | 0 | 89.0 | -279.0 | -183.0
192 | Old Hawaiian - Kauai | "OHA-B" | 6 | 0 | 45.0 | -290.0 | -172.0
193 | Old Hawaiian - Maui | "OHA-C" | 6 | 0 | 65.0 | -290.0 | -190.0
194 | Old Hawaiian - Oahu | "OHA-D" | 6 | 0 | 58.0 | -283.0 | -182.0
195 | Pitcairn Astro 1967 - Pitcairn Island | "PIT" | 20 | 0 | 185.0 | 165.0 | 42.0
196 | Santo (Dos) 1965 - Espirito Santo Island | "SAE" | 20 | 0 | 170.0 | 42.0 | 84.0
197 | Viti Levu 1916 - Viti Levu Island (Fiji Islands) | "MVS" | 7 | 0 | 51.0 | 391.0 | -36.0
198 | Wake-Eniwetok 1960 - Marshall Islands | "ENW" | 18 | 0 | 102.0 | 52.0 | -38.0
199 | Wake Island Astro 1952 - Wake Atoll | "WAK" | 20 | 0 | 276.0 | -57.0 | 149.0
200 | Bukit Rimpah - Bangka and Belitung Islands (Indonesia) | "BUR" | 5 | 0 | -384.0 | 664.0 | -48.0
201 | Camp Area Astro - Camp McMurdo Area, Antarctica | "CAZ" | 20 | 0 | -104.0 | -129.0 | 239.0
202 | European 1950 - Iraq, Israel, Jordan, Kuwait, Lebanon, Saudi Arabia & Syria | "EUR-S" | 20 | 0 | -103.0 | -106.0 | -141.0
203 | Gunung Segara - Kalimantan (Indonesia) | "GSE" | 5 | 0 | -403.0 | 684.0 | 41.0
204 | Herat North - Afghanistan | "HEN" | 20 | 0 | -333.0 | -222.0 | 114.0
205 | Indian - Pakistan | "IND-P" | 9 | 0 | 283.0 | 682.0 | 231.0
206 | Pulkovo 1942 - Russia | "PUK" | 21 | 0 | 28.0 | -130.0 | -95.0
207 | Tananarive Observatory 1925 - Madagascar | "TAN" | 20 | 0 | -189.0 | -242.0 | -91.0
208 | Yacare - Uruguay | "YAC" | 20 | 0 | -155.0 | 171.0 | 37.0
209 | Krassovsky 1942 - Russia | "KRA42" | 21 | 0 | 26.0 | -139.0 | -80.0
210 | Lommel Datum 1950 - Belgium & Luxembourg | "BLG50" | 20 | 0 | -55.0 | 49.0 | -158.0
211 | Reseau National Belge 1972 - Belgium | "RNB72" | 20 | 0 | -104.0 | 80.0 | -75.0
212 | NTF - Nouvelle Triangulation de la France | "NTF" | 7 | 0 | -168.0 | -60.0 | 320.0
213 | Netherlands 1921 - Netherlands | "NL21" | 5 | 0 | 719.0 | 47.0 | 640.0
214 | European Datum 1987, IAG RETrig Subcommision. | "ED87" | 20 | 2 | -82.5 | -91.7 | -117.7
215 | Swiss Datum 1903+ (LV95) | "CH95" | 5 | 0 | 674.374 | 15.056 | 405.346

Ellipsoids

Index | Description | Semi Major Axis [m] | 1/Flattening
0 | WGS 84 | 6378137.000 | 298.257223563
1 | Airy 1830 | 6377563.396 | 299.3249646
2 | Modified Airy | 6377340.189 | 299.3249646
3 | Australian National | 6378160.000 | 298.25
4 | Bessel 1841 (Namibia) | 6377483.865 | 299.1528128
5 | Bessel 1841 | 6377397.155 | 299.1528128
6 | Clarke 1866 | 6378206.400 | 294.9786982
7 | Clarke 1880 | 6378249.145 | 293.465
8 | Earth-90 | 6378136.000 | 298.257839303
9 | Everest (India 1830) | 6377276.345 | 300.8017
10 | Everest (Sabah Sarawak) | 6377298.556 | 300.8017
11 | Everest (India 1956) | 6377301.243 | 300.8017
12 | Everest (Malaysia 1969) | 6377295.664 | 300.8017
13 | Everest (Malay. & Singapore 1948) | 6377304.063 | 300.8017
14 | Everest (Pakistan) | 6377309.613 | 300.8017
15 | Modified Fischer 1960 | 6378155.000 | 298.3
16 | GRS 80 | 6378137.000 | 298.257222101
17 | Helmert 1906 | 6378200.000 | 298.3
18 | Hough 1960 | 6378270.000 | 297.0
19 | Indonesian 1974 | 6378160.000 | 298.247
20 | International 1924 | 6378388.000 | 297.0
21 | Krassovsky 1940 | 6378245.000 | 298.3
22 | South American 1969 | 6378160.000 | 298.25
23 | WGS 72 | 6378135.000 | 298.26

Rotation and Scale Table

Index | Description | Rot X [seconds] | Rot Y [seconds] | Rot Z [seconds] | Scale [-]
0 |  | +0.0000 | +0.0000 | +0.0000 | 0.000
1 |  | 0.0000 | 0.0000 | -0.5540 | 0.220
2 | European Datum 1987 IAG RETrig Subcommision. | 0.1338 | -0.0625 | -0.0470 | 0.045


UBX Class UPD
[UBX Binary Protocol]

Messages in this class are used to update the firmware and to download an SCK.

UPD-DOWNL (0x09 0x01)

Message | UPD-DOWNL
Description | Download Data to Memory
Type | Input/Output Message
Comment | A data fragment may be downloaded with several DOWNL messages, the downloader has to increment the start address according to the already transmitted bytes. An ACK is sent after the entire data has been put into memory. Start Address is used to identify what is acknowledged. A NACK is sent if the message size or the flags are wrong. In this latter case the start address is used to identify what is not acknowledged.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x09 0x01 | 8 + Variable * 1 | 8 + Variable * 1 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - StartAddr - Download Start Address
4 U4 - Flags -
  • 0=Download
  • 1=Download ACK
  • 2=Download NACK
Start of repeated block (Variable times}
8 + N*1 U1 - Data - Data to download

UPD-UPLOAD (0x09 0x02)

Message | UPD-UPLOAD
Description | Upload Data from Memory
Type | Input/Output Message
Comment | A data fragment may be uploaded with several UPLOAD messages, the uploader has to increment the start address according to the already received bytes. An ACK is sent with the requested data. A NACK is sent if the flags parameter is wrong. In this latter case the start address is used to identify what is not acknowledged.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x09 0x02 | 12 + Size * 1 | 12 + Size * 1 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - StartAddr - Upload Start Address
4 U4 - Size - Upload Data Size
8 U4 - Flags -
  • 0=Upload
  • 1=Upload ACK
  • 2=Upload NACK
Start of repeated block (Size times}
12 + N*1 U1 - Data - Data to upload

UPD-EXEC (0x09 0x03)

Message | UPD-EXEC
Description | Execute Code
Type | Input/Output Message
Comment | The code is executed from the COM Task. An ACK is sent following the code execution termination. Start Address is used to identify what is acknowledged. A NACK is sent if the payload has a wrong size. In this latter case the start address is used to identify what is not acknowledged.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x09 0x03 | 8 | 8 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - StartAddr - Execution Address
4 U4 - Flags -
  • Bit0: Execution
    (1=Execute, 0=Do not Execute)
  • Bit1: ACK
  • Bit2: NACK
  • Bit3: Ints and Fiq
    (1=IRQs and FIQ enabled,
    0=IRQs and FIQ disabled)
  • Bit4: Reset (1=Reset after execution)
  • Bit5..31: Not used

UPD-MEMCPY (0x09 0x04)

Message | UPD-MEMCPY
Description | Memory Copy
Type | Input/Output Message
Comment | An ACK is sent following the copying termination. A NACK is sent if the payload has a wrong size.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x09 0x04 | 16 | 16 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - SourceAddr - Source Address
4 U4 - DestAddr - Destination Address
8 U4 - Size - Size to Copy
12 U4 - Flags -
  • Bit0: Copy
    (1=Copy, 0=Do not Copy)
  • Bit1: ACK
  • Bit2: NACK
  • Bit3: Ints and Fiq
    (1=IRQs and FIQ enabled,
    0=IRQs and FIQ disabled)
  • Bit4: Reset (1=Reset after copy)
  • Bit5..31: Not used


UBX Class MON
[UBX Binary Protocol]

Messages in this class are sent to report GPS receiver status, such as CPU load, stack usage, I/O subsystem statistics etc.

MON-SCHD (0x0A 0x01)

Message |  | MON-SCHD
Description |  | System Scheduler Status
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0A 0x01 | 24 | 24 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | TSKRUN | - | Bitmask, indicating which tasks have run
4 | U4 | - | TSKSCHD | - | Bitmask, indicating which tasks are scheduled to run
8 | U4 | - | TSKOVRR | - | Bitmask, indicating which tasks are overrun
12 | U4 | - | TSKREG | - | Bitmask, indicating which tasks IDs have a registerred task function
16 | U2 | - | STACK | bytes | Number of bytes used for the System Stack
18 | U2 | - | STACKSIZE | - | Stack size in bytes
20 | U2 | - | CPUIDLE | - | CPU idle time in 1/1000
22 | U1 | - | FLYSLY | - | Number of fully used slots in the last 100
23 | U1 | - | PTLSLY | - | Number of partly used slots in the last 100

MON-IO (0x0A 0x02)

Message |  | MON-IO
Description |  | I/O Subsystem Status
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0A 0x02 | 80 | 80 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
Start of repeated block (4 times}
N*20 | U4 | - | RXBYTES | bytes | Number of bytes ever received
4 + N*20 | U4 | - | TXBYTES | bytes | Number of bytes ever sent
12 + N*20 | U2 | - | PARITY | - | Number of 100ms timeslots with overrun errors
10 + N*20 | U2 | - | FRAMING | - | Number of 100ms timeslots with framing errors
12 + N*20 | U2 | - | PARITY | - | Number of 100ms timeslots with overrun errors
14 + N*20 | U2 | - | BREAK | - | Number of 100ms timeslots with break conditions
16 + N*20 | U1 | - | RXBUSY | - | Flag is receiver is busy
17 + N*20 | U1 | - | TXBUSY | - | Flag is transmitter is busy
18 + N*20 | U2 | - | RES | - | reserved

MON-MSGPP (0x0A 0x06)

Message |  | MON-MSGPP
Description |  | Message Parse and Process Status
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0A 0x06 | 144 | 144 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U2[16] | - | MSG1 | msgs | Number of successfully parsed messages for each protocol on target0
32 | U2[16] | - | MSG2 | msgs | Number of successfully parsed messages for each protocol on target1
64 | U2[16] | - | MSG3 | msgs | Number of successfully parsed messages for each protocol on target2
96 | U2[16] | - | MSG4 | msgs | Number of successfully parsed messages for each protocol on target3
128 | U4[4] | - | SKIPPED | bytes | Number skipped bytes for each target

MON-RXBUF (0x0A 0x07)

Message |  | MON-RXBUF
Description |  | Receiver Buffer Status
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0A 0x07 | 16 | 16 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U2[4] | - | PENDING | bytes | Number of bytes pending in receiver buffer for each target
8 | U1[4] | - | USAGE |  | Maximum usage receiver buffer during the last sysmon period for each target
12 | U1[4] | - | PEAKUSAGE |  | Maximum usage receiver buffer for each target

MON-TXBUF (0x0A 0x08)

Message |  | MON-TXBUF
Description |  | Transmitter Buffer Status
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0A 0x08 | 20 | 20 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U2[4] | - | PENDING | bytes | Number of bytes pending in transmitter buffer for each target
8 | U1[4] | - | USAGE |  | Maximum usage transmitter buffer during the last sysmon period for each target
12 | U1[4] | - | PEAKUSAGE |  | Maximum usage transmitter buffer for each target
16 | U1 | - | TUSAGE |  | Maximum usage of transmitter buffer during the last sysmon period for all targets
17 | U1 | - | TPEAKUSAGE |  | Maximum usage of transmitter buffer for all targets
18 | U1 | - | ERRORS | - | Error bitmask Bit [0..3] Buffer limit of corresponding target reached Bit [4..6] reserved Bit [7] Allocation error (TX buffer full)
19 | U1 | - | RES | - | reserved

MON-HW (0x0A 0x09)

Message |  | MON-HW
Description |  | Status of different aspect of the hardware, such as Antenna, PIO/Peripheral Pins, Noise Level, Automatic Gain Control (AGC)
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0A 0x09 | 44 | 44 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | PinSel | - | Mask of Pins Set as Peripheral/PIO
4 | U4 | - | PinBank | - | Mask of Pins Set as Bank A/B
8 | U4 | - | PinDir | - | Mask of Pins Set as Input/Output
12 | U4 | - | PinVal | - | Mask of Pins Value High/Low
16 | U2 | - | NoisePerMS | - | Noise Level as measured by the GPS Core
18 | U2 | - | AGCCnt | - | AGC Monitor (counts SIGHI xor SIGLO)
20 | U1 | - | AStatus | - | Status of the Antenna Supervisor State Machine (0=INIT, 1=DONTKNOW, 2=OK, 3=SHORT, 4=OPEN)
21 | U1 | - | APower | - | Current PowerStatus of Antenna (0=OFF, 1=ON, 2=DONTKNOW)
22 | U2 | - | res1 | - | Reserved for future use
24 | U4 | - | res2 | - | Reserved for future use
28 | U4 | - | res3 | - | Reserved for future use
32 | U4 | - | res4 | - | Reserved for future use
36 | U4 | - | res5 | - | Reserved for future use
40 | U4 | - | res6 | - | Reserved for future use

MON-IPC (0x0A 0x03)

Message |  | MON-IPC
Description |  | IPC System Status
Type |  | Periodic/Polled
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0A 0x03 | 28 | 28 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | HNDLRINST | - | Bitmask, indicating installed IPC Handlers
4 | CH[16] | - | LASTEVENT | - | Last broadcasted event for each of the 16 Modules
20 | U4 | - | IRQINST | - | Bitmask, each bit representing an installed Interrupt Handlers
24 | U4 | - | IRQCALL | - | Bitmask, each bit representing an executed Interrupt Handlers

MON-VER (0x0A 0x04)

Message |  | MON-VER
Description |  | Receiver/Software Version
Type |  | Answer to Poll
Comment |  | -
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0A 0x04 | 40 + N * 30 | 40 + N * 30 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | CH[30] | - | SWVersion | - | Zero-terminated Software Version String
30 | CH[10] | - | HWVersion | - | Zero-terminated Hardware Version String
Start of repeated block (N times}
40 + N*30 | CH[30] | - | Extension | - | Installed Extension Package Version

MON-EXCEPT (0x0A 0x05)

Message | MON-EXCEPT
Description | Exception Dump
Type | Answer to Poll
Comment -
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x0A 0x05 | 188 | 188 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - code - Exception code
  • 82000000 undefined instruction
  • 83000000 prefetch abort
  • 84000000 data abort
  • 85000000 reserved
  • 800000.. floating point
  • ......01 invalid operation
  • ......02 divide by zero
  • ......04 overflow
  • ......08 underflow
  • ......10 inexact operation
  • 80000020 integer divide by zero
  • 80000040 floating point NaN trap
  • 88000000 overrun
4 U4 - num - Total number of exceptions
8 U4[15] - usersys_reg - user/sys r0-r12 sp lr
68 U4[7] - fiq_reg - fiq r8-r12 sp lr
96 U4 - fiq_spsrreg - fiq spsr
100 U4[2] - irq_reg - irq sp lr
108 U4 - irq_spsr - irq spsr
112 U4 - cpsr - cpsr
116 U4 - pc - pc
120 U4[16] - stack - user/sys stack starting with value stacked last
184 U4 - reserved - Inverted Exception code


UBX Class AID
[UBX Binary Protocol]

Messages in this class are used to send aiding data to the receiver.

AID-ALM (0x0B 0x30)

Message | AID-ALM
Description | Poll GPS Aiding Almanach Data
Type | Poll Request
Comment | This message has an empty payload! Poll GPS Aiding Data (Almanach) for all 32 SVs by sending this message to the receiver without any payload. The receiver will return 32 messages of type AID-ALM as defined below.
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x0B 0x30 | 0 | 0 Bytes | CK_A CK_B

Message |  | AID-ALM
Description |  | Poll GPS Aiding Almanach Data for a SV
Type |  | Poll Request
Comment |  | Poll GPS Aiding Data (Almanach) for an SV by sending this message to the receiver. The receiver will return one message of type AID-ALM as defined below.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0B 0x30 | 1 | 1 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U1 | - | SVID | - | SV ID for which the receiver shall return its Almanach Data (Valid Range: 1 .. 32 or 51, 56, 63).

Message | AID-ALM
Description | GPS Aiding Almanach Input/Output Message
Type | Input/Output Message
Comment
  • If the WEEK Value is 0, DWRD0 to DWRD7 does not contain valid data and almanach is not available to the given SV.
  • DWORD0 to DWORD7 contain the 8 words following the Hand-Over Word ( HOW ) from the GPS navigation message, either pages 1 to 24 of sub-frame 4 or pages 2 to 10 of subframe 5. See ICD-GPS-200 for a full description of the contents of the Almanac pages.
  • In DWORD0 to DWORD7, the parity bits have been removed, and the 24 bits of data are located in Bits 0 to 23. Bits 24 to 31 are the sign-extension of the data.
  • Example: Parameter e (Eccentricity) from Almanach Subframe 4/5, Word 3, Bits 69-84 within the subframe can be found in DWRD0, Bits 15-0 whereas Bit 0 is the LSB.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x02 0x30 | 40 | 40 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - SVID - SV ID for which this
Almanach Data is (Valid Range: 1 .. 32 or 51, 56, 63).
4 U4 - WEEK - Issue Date of Almanach (GPS week number)
8 U4 - DWRD0 - Almanach Word 0
12 U4 - DWRD1 - Almanach Word 1
16 U4 - DWRD2 - Almanach Word 2
20 U4 - DWRD3 - Almanach Word 3
24 U4 - DWRD4 - Almanach Word 4
28 U4 - DWRD5 - Almanach Word 5
32 U4 - DWRD6 - Almanach Word 6
36 U4 - DWRD7 - Almanach Word 7

AID-EPH (0x0B 0x31)

Message | AID-EPH
Description | Poll GPS Aiding Ephemeris Data
Type | Poll Request
Comment | This message has an empty payload! Poll GPS Aiding Data (Ephemeris) for all 32 SVs by sending this message to the receiver without any payload. The receiver will return 32 messages of type AID-EPH as defined below.
Message Structure | Header | ID | Length | Payload | Checksum
 | 0xB5 0x62 | 0x0B 0x31 | 0 | 0 Bytes | CK_A CK_B

Message |  | AID-EPH
Description |  | Poll GPS Aiding Ephemeris Data for a SV
Type |  | Poll Request
Comment |  | Poll GPS Constellation Data (Ephemeris) for an SV by sending this message to the receiver. The receiver will return one message of type AID-EPH as defined below.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0B 0x31 | 1 | 1 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U1 | - | SVID | - | SV ID for which the receiver shall return its Ephemeris Data (Valid Range: 1 .. 32).

Message | AID-EPH
Description | GPS Aiding Ephemeris Input/Output Message
Type | Input/Output Message
Comment
  • SF1D0 to SF3D7 is only sent if ephemeris is available for this SV. If not, the payload is reduced to 4 Bytes, indicating that this SV Number does not have valid ephemeris for the moment.
  • SF1D0 to SF3D7 contain the 24 words following the Hand-Over Word ( HOW ) from the GPS navigation message, subframes 1 to 3. See ICD-GPS-200 for a full description of the contents of the Subframes.
  • In SF1D0 to SF3D7, the parity bits have been removed, and the 24 bits of data are located in Bits 0 to 23. Bits 24 to 31 are the sign-extension of the data.
Message Structure | Header | ID | Length | Payload | Checksum
0xB5 0x62 | 0x0B 0x31 | 8 + Valid * 96 | 8 + Valid * 96 Bytes | CK_A CK_B
Payload Contents:

Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 U4 - SVID - SV ID for which this ephemeris data is
(Valid Range: 1 .. 32).
4 U4 - HOW - Hand-Over Word of first Subframe,
0 indicats that invalid Eph Data is following.
Start of repeated block (Valid times}
8 + N*96 U4 - SF1D0 - Subframe 1 Word 0
12 + N*96 U4 - SF1D1 - Subframe 1 Word 1
16 + N*96 U4 - SF1D2 - Subframe 1 Word 2
20 + N*96 U4 - SF1D3 - Subframe 1 Word 3
24 + N*96 U4 - SF1D4 - Subframe 1 Word 4
28 + N*96 U4 - SF1D5 - Subframe 1 Word 5
32 + N*96 U4 - SF1D6 - Subframe 1 Word 6
36 + N*96 U4 - SF1D7 - Subframe 1 Word 7
40 + N*96 U4 - SF2D0 - Subframe 2 Word 0
44 + N*96 U4 - SF2D1 - Subframe 2 Word 1
48 + N*96 U4 - SF2D2 - Subframe 2 Word 2
52 + N*96 U4 - SF2D3 - Subframe 2 Word 3
56 + N*96 U4 - SF2D4 - Subframe 2 Word 4
60 + N*96 U4 - SF2D5 - Subframe 2 Word 5
64 + N*96 U4 - SF2D6 - Subframe 2 Word 6
68 + N*96 U4 - SF2D7 - Subframe 2 Word 7
72 + N*96 U4 - SF3D0 - Subframe 3 Word 0
76 + N*96 U4 - SF3D1 - Subframe 3 Word 1
80 + N*96 U4 - SF3D2 - Subframe 3 Word 2
84 + N*96 U4 - SF3D3 - Subframe 3 Word 3
88 + N*96 U4 - SF3D4 - Subframe 3 Word 4
92 + N*96 U4 - SF3D5 - Subframe 3 Word 5
96 + N*96 U4 - SF3D6 - Subframe 3 Word 6
100 + N*96 U4 - SF3D7 - Subframe 3 Word 7


UBX Class TIM
[UBX Binary Protocol]

Messages in this class are output by the receiver, giving information on Timepulse and Timemark measurements.

Note:
This functionality is only available with Firmware versions 2.1 and higher

TIM-TM (0x0D 0x02)

Message |  | TIM-TM
Description |  | Time mark data
Type |  | Periodic/Polled
Comment |  | This message contains information for high precision time stamping / pulse counting
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0D 0x02 | 28 | 28 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | DCOUNT | - | Counter difference since last poll period.
4 | U4 | - | DTIMEMS | ms | Time difference since last poll period.
8 | U4 | - | DTIMESUBMS | ms/2^32 | Submillisecond part DTIMEMS.
12 | U4 | - | QUANT | ms/2^32 | Quantization in [ms/2^32]
16 | U4 | - | TOWMS | ms | Timepulse GPS time of week
20 | U4 | - | TOWSUBMS | ms/2^32 | Submillisecond part of TOWMS
24 | U2 | - | Week | weeks | Timepulse GPS week number.
26 | U1 | - | FLAGS | - | Bit 0 - 0=Time base is GPS 1=Time base is UTC 1 - 0=UTC not available 1=UTC available 2 - 0=Time is not valid 1=Time is valid
27 | U1 | - | RES | - | unused

TIM-TP (0x0D 0x01)

Message |  | TIM-TP
Description |  | Timepulse Timedata
Type |  | Periodic/Polled
Comment |  | This message contains information for high precision timing.
Message Structure |  | Header | ID | Length | Payload | Checksum
 |  | 0xB5 0x62 | 0x0D 0x01 | 16 | 16 Bytes | CK_A CK_B
Payload Contents:
Byte Offset | Number Format | Scaling | Name | Unit | Purpose / Comment
0 | U4 | - | TOWMS | ms | Timepulse GPS time of week
4 | U4 | - | TOWSUBMS | ms/2^32 | Submillisecond part of TOWMS
8 | I4 | - | QERR | ps | Quantization error of timepulse.
12 | U2 | - | Week | weeks | Timepulse GPS week number.
14 | U1 | - | FLAGS | - | Bit 0 - 0=Time base is GPS 1=Time base is UTC 1 - 0=UTC not available 1=UTC available
15 | U1 | - | RES | - | unused


RTCM Protocol

The RTCM (Radio Technical Commission for Maritime Services) protocol is a unidirectional protocol (input to the receiver) that is being used to supply the GPS receiver with real-time differential correction data (DGPS). The RTCM protocol specification is available from http://www.rtcm.org.

The ANTARIS GPS Technology supports RTCM Correction Type Messages 1, 2, 3 and 9.


ANTARIS Protocol Specification Related Pages

Here is a list of all related documentation pages:
  • About...


About...

All trademarks mentioned in this document are property of their respective owners. Copyright © 2003, u-blox AG

THIS DOCUMENT CONTAINS INFORMATION ON u-blox PRODUCTS IN THE SAMPLING AND INITIAL PRODUCTION PHASES OF DEVELOPMENT. THE SPECIFICATIONS IN THIS DOCUMENT ARE SUBJECT TO CHANGE AT u-blox' DISCRETION. u-blox ASSUMES NO RESPONSIBILITY FOR ANY CLAIMS OR DAMAGES ARISING OUT OF THE USE OF THIS DOCUMENT, OR FROM THE USE OF MODULES BASED ON THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO CLAIMS OR DAMAGES BASED ON INFRINGEMENT OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS. u-blox MAKES NO WARRANTIES, EITHER EXPRESSED OR IMPLIED WITH RESPECT TO THE INFORMATION AND SPECIFICATIONS CONTAINED IN THIS DOCUMENT. PERFORMANCE CHARACTERISTICS LISTED IN THIS DOCUMENT ARE ESTIMATES ONLY AND DO NOT CONSTITUTE A WARRANTY OR GUARANTEE OF PRODUCT PERFORMANCE.