Navigation Data
The Navigation struct contains everything the receiver reports in each measurement cycle.
| Component |
UBX Source |
Contents |
| pvt |
UBX-NAV-PVT |
Fix quality, position, velocity, time, accuracy |
| dop |
UBX-NAV-DOP |
Dilution of precision values |
| satellites |
UBX-NAV-SAT |
Per-satellite signal info (up to 64) |
| rfBlocks |
UBX-MON-RF |
Per-band RF/antenna info (up to 2) |
| geofencing |
UBX-NAV-GEOFENCE |
Geofence status |
PositionVelocityTime (PVT)
| Field |
C++ |
Python |
C |
Type |
Unit |
Description |
| Fix quality |
fixQuality |
fix_quality |
fix_quality |
enum |
— |
Invalid, GPS 2D/3D, DGNSS, PPS, Fixed RTK, Float RTK, Dead Reckoning |
| Fix status |
fixStatus |
fix_status |
fix_status |
enum |
— |
Void or Active |
| Fix type |
fixType |
fix_type |
fix_type |
enum |
— |
No Fix, DR Only, 2D, 3D, GNSS+DR, Time Only |
| Latitude |
latitude |
latitude |
latitude |
double |
degrees |
WGS84 latitude |
| Longitude |
longitude |
longitude |
longitude |
double |
degrees |
WGS84 longitude |
| Altitude |
altitude |
altitude |
altitude |
float |
meters |
Height above WGS84 ellipsoid |
| Altitude MSL |
altitudeMSL |
altitude_msl |
altitude_msl |
float |
meters |
Height above mean sea level |
| Speed |
speedOverGround |
speed_over_ground |
speed_over_ground |
float |
m/s |
Ground speed |
| Speed accuracy |
speedAccuracy |
speed_accuracy |
speed_accuracy |
float |
m/s |
Speed accuracy estimate |
| Heading |
heading |
heading |
heading |
float |
degrees |
Heading of motion |
| Heading accuracy |
headingAccuracy |
heading_accuracy |
heading_accuracy |
float |
degrees |
Heading accuracy estimate |
| Visible sats |
visibleSatellites |
visible_satellites |
visible_satellites |
uint8_t |
count |
Number of satellites used in fix |
| H. accuracy |
horizontalAccuracy |
horizontal_accuracy |
horizontal_accuracy |
float |
meters |
Horizontal accuracy estimate |
| V. accuracy |
verticalAccuracy |
vertical_accuracy |
vertical_accuracy |
float |
meters |
Vertical accuracy estimate |
| Field |
C++ |
Python |
C |
Type |
Description |
| Hours |
utc.hh |
utc_time.hours |
utc.hh |
uint8_t |
0–23 |
| Minutes |
utc.mm |
utc_time.minutes |
utc.mm |
uint8_t |
0–59 |
| Seconds |
utc.ss |
utc_time.seconds |
utc.ss |
uint8_t |
0–60 (60 = leap second) |
| Valid |
utc.valid |
utc_time.valid |
utc.valid |
bool |
Time validity flag |
| Accuracy |
utc.accuracy |
utc_time.accuracy |
utc.accuracy |
int32_t |
Time accuracy estimate (ns) |
| Field |
C++ |
Python |
C |
Type |
Description |
| Day |
date.day |
date.day |
date.day |
uint8_t |
1–31 |
| Month |
date.month |
date.month |
date.month |
uint8_t |
1–12 |
| Year |
date.year |
date.year |
date.year |
uint16_t |
Full year |
| Valid |
date.valid |
date.valid |
date.valid |
bool |
Date validity flag |
Dilution of Precision (DOP)
Lower values indicate better geometric conditions for positioning.
| Field |
C++ |
Python |
C |
Type |
Description |
| GDOP |
geometric |
geometric |
geometric |
float |
Overall geometric quality |
| PDOP |
position |
position |
position |
float |
3D position |
| TDOP |
time |
time |
time |
float |
Time |
| VDOP |
vertical |
vertical |
vertical |
float |
Vertical position |
| HDOP |
horizontal |
horizontal |
horizontal |
float |
Horizontal position |
| NDOP |
northing |
northing |
northing |
float |
Northing |
| EDOP |
easting |
easting |
easting |
float |
Easting |
Per-satellite data, up to 64 entries. Sourced from UBX-NAV-SAT.
| Field |
C++ |
Python |
C |
Type |
Description |
| Constellation |
gnssId |
gnss_id |
gnss_id |
enum |
GPS, SBAS, Galileo, BeiDou, IMES, QZSS, GLONASS |
| SV ID |
svId |
sv_id |
sv_id |
uint8_t |
Satellite vehicle number |
| C/N0 |
cno |
cno |
cno |
uint8_t |
Carrier-to-noise ratio (dBHz) |
| Elevation |
elevation |
elevation |
elevation |
int8_t |
Degrees (-90 to 90) |
| Azimuth |
azimuth |
azimuth |
azimuth |
int16_t |
Degrees (0 to 360) |
| Quality |
quality |
quality |
quality |
enum |
Signal quality |
| Used in fix |
usedInFix |
used_in_fix |
used_in_fix |
bool |
Whether satellite contributes to the fix |
| Healthy |
healthy |
healthy |
healthy |
bool |
Satellite health flag |
Per-band RF information, up to 2 entries. Sourced from UBX-MON-RF.
| Field |
C++ |
Python |
C |
Type |
Description |
| Jamming state |
jammingState |
jamming_state |
jamming_state |
enum |
Unknown, OK, Warning, Critical |
| Antenna status |
antennaStatus |
antenna_status |
antenna_status |
enum |
Init, DontKnow, OK, Short, Open |
| Antenna power |
antennaPower |
antenna_power |
antenna_power |
enum |
Off, On, DontKnow |
| Noise/ms |
noisePerMS |
noise_per_ms |
noise_per_ms |
uint16_t |
Noise level per millisecond |
| AGC monitor |
agcMonitor |
agc_monitor |
agc_monitor |
float |
AGC monitor percentage |
| CW suppression |
cwInterferenceSuppressionLevel |
cw_interference_suppression_level |
cw_interference_suppression_level |
float |
CW interference suppression level |
| GNSS band |
gnssBand |
— |
gnss_band |
enum |
L1, L2, L5 |
Separate from Navigation — accessed via timeMark() / waitAndGetFreshTimeMark(). Sourced from UBX-TIM-TM2.
| Field |
C++ |
Python |
C |
Type |
Description |
| Mode |
mode |
mode |
mode |
enum |
Single or Running |
| Run |
run |
run |
run |
enum |
Armed or Stopped |
| Time base |
timeBase |
time_base |
time_base |
enum |
Receiver, GNSS, or UTC |
| Rising TOW |
towRising_ms |
tow_rising_ms |
tow_rising_ms |
uint32_t |
Rising edge time of week (ms) |
| Rising sub-ms |
towSubRising_ns |
tow_sub_rising_ns |
tow_sub_rising_ns |
uint32_t |
Sub-millisecond rising (ns) |
| Falling TOW |
towFalling_ms |
tow_falling_ms |
tow_falling_ms |
uint32_t |
Falling edge time of week (ms) |
| Falling sub-ms |
towSubFalling_ns |
tow_sub_falling_ns |
tow_sub_falling_ns |
uint32_t |
Sub-millisecond falling (ns) |
| Accuracy |
accuracyEstimate_ns |
accuracy_estimate_ns |
accuracy_estimate_ns |
uint32_t |
Accuracy estimate (ns) |
| Count |
count |
count |
count |
uint16_t |
Event counter |