Skip to main content
GNSS Documentation
GitHub Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Navigation Data

The Navigation struct contains everything the receiver reports in each measurement cycle.

Overview

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

UTC Time

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)

Date

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

Satellite Info

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

RF Block

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

TimeMark

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