Skip to main content
GNSS HAT Library Documentation
Shop 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

ComponentUBX SourceContents
pvtUBX-NAV-PVTFix quality, position, velocity, time, accuracy
dopUBX-NAV-DOPDilution of precision values
satellitesUBX-NAV-SATPer-satellite signal info (up to 64)
rfBlocksUBX-MON-RFPer-band RF/antenna info (up to 2)
geofencingUBX-NAV-GEOFENCEGeofence status

PositionVelocityTime (PVT)

FieldC++PythonCTypeUnitDescription
Fix qualityfixQualityfix_qualityfix_qualityenum—Invalid, GPS 2D/3D, DGNSS, PPS, Fixed RTK, Float RTK, Dead Reckoning
Fix statusfixStatusfix_statusfix_statusenum—Void or Active
Fix typefixTypefix_typefix_typeenum—No Fix, DR Only, 2D, 3D, GNSS+DR, Time Only
LatitudelatitudelatitudelatitudedoubledegreesWGS84 latitude
LongitudelongitudelongitudelongitudedoubledegreesWGS84 longitude
AltitudealtitudealtitudealtitudefloatmetersHeight above WGS84 ellipsoid
Altitude MSLaltitudeMSLaltitude_mslaltitude_mslfloatmetersHeight above mean sea level
SpeedspeedOverGroundspeed_over_groundspeed_over_groundfloatm/sGround speed
Speed accuracyspeedAccuracyspeed_accuracyspeed_accuracyfloatm/sSpeed accuracy estimate
HeadingheadingheadingheadingfloatdegreesHeading of motion
Heading accuracyheadingAccuracyheading_accuracyheading_accuracyfloatdegreesHeading accuracy estimate
Visible satsvisibleSatellitesvisible_satellitesvisible_satellitesuint8_tcountNumber of satellites used in fix
H. accuracyhorizontalAccuracyhorizontal_accuracyhorizontal_accuracyfloatmetersHorizontal accuracy estimate
V. accuracyverticalAccuracyvertical_accuracyvertical_accuracyfloatmetersVertical accuracy estimate

UTC Time

FieldC++PythonCTypeDescription
Hoursutc.hhutc_time.hoursutc.hhuint8_t0–23
Minutesutc.mmutc_time.minutesutc.mmuint8_t0–59
Secondsutc.ssutc_time.secondsutc.ssuint8_t0–60 (60 = leap second)
Validutc.validutc_time.validutc.validboolTime validity flag
Accuracyutc.accuracyutc_time.accuracyutc.accuracyint32_tTime accuracy estimate (ns)

Date

FieldC++PythonCTypeDescription
Daydate.daydate.daydate.dayuint8_t1–31
Monthdate.monthdate.monthdate.monthuint8_t1–12
Yeardate.yeardate.yeardate.yearuint16_tFull year
Validdate.validdate.validdate.validboolDate validity flag

Dilution of Precision (DOP)

Lower values indicate better geometric conditions for positioning.

FieldC++PythonCTypeDescription
GDOPgeometricgeometricgeometricfloatOverall geometric quality
PDOPpositionpositionpositionfloat3D position
TDOPtimetimetimefloatTime
VDOPverticalverticalverticalfloatVertical position
HDOPhorizontalhorizontalhorizontalfloatHorizontal position
NDOPnorthingnorthingnorthingfloatNorthing
EDOPeastingeastingeastingfloatEasting

Satellite Info

Per-satellite data, up to 64 entries. Sourced from UBX-NAV-SAT.

FieldC++PythonCTypeDescription
ConstellationgnssIdgnss_idgnss_idenumGPS, SBAS, Galileo, BeiDou, IMES, QZSS, GLONASS
SV IDsvIdsv_idsv_iduint8_tSatellite vehicle number
C/N0cnocnocnouint8_tCarrier-to-noise ratio (dBHz)
Elevationelevationelevationelevationint8_tDegrees (-90 to 90)
Azimuthazimuthazimuthazimuthint16_tDegrees (0 to 360)
QualityqualityqualityqualityenumSignal quality
Used in fixusedInFixused_in_fixused_in_fixboolWhether satellite contributes to the fix
HealthyhealthyhealthyhealthyboolSatellite health flag

RF Block

Per-band RF information, up to 2 entries. Sourced from UBX-MON-RF.

FieldC++PythonCTypeDescription
Jamming statejammingStatejamming_statejamming_stateenumUnknown, OK, Warning, Critical
Antenna statusantennaStatusantenna_statusantenna_statusenumInit, DontKnow, OK, Short, Open
Antenna powerantennaPowerantenna_powerantenna_powerenumOff, On, DontKnow
Noise/msnoisePerMSnoise_per_msnoise_per_msuint16_tNoise level per millisecond
AGC monitoragcMonitoragc_monitoragc_monitorfloatAGC monitor percentage
CW suppressioncwInterferenceSuppressionLevelcw_interference_suppression_levelcw_interference_suppression_levelfloatCW interference suppression level
GNSS bandgnssBand—gnss_bandenumL1, L2, L5

TimeMark

Separate from Navigation — accessed via timeMark() / waitAndGetFreshTimeMark(). Sourced from UBX-TIM-TM2.

FieldC++PythonCTypeDescription
ModemodemodemodeenumSingle or Running
RunrunrunrunenumArmed or Stopped
Time basetimeBasetime_basetime_baseenumReceiver, GNSS, or UTC
Rising TOWtowRising_mstow_rising_mstow_rising_msuint32_tRising edge time of week (ms)
Rising sub-mstowSubRising_nstow_sub_rising_nstow_sub_rising_nsuint32_tSub-millisecond rising (ns)
Falling TOWtowFalling_mstow_falling_mstow_falling_msuint32_tFalling edge time of week (ms)
Falling sub-mstowSubFalling_nstow_sub_falling_nstow_sub_falling_nsuint32_tSub-millisecond falling (ns)
AccuracyaccuracyEstimate_nsaccuracy_estimate_nsaccuracy_estimate_nsuint32_tAccuracy estimate (ns)
Countcountcountcountuint16_tEvent counter