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 |