This is a collection of all the metrics collected by **gpsdMeasurement.py** script.

# Table of contents

* [gps_fix](#gps_fix)

  * [mode](#mode)
  * [lat](#lat)
  * [lon](#lon)
  * [alt](#alt)
  * [alt_msl](#alt_msl)
  * [alt_hae](#alt_hae)
  * [speed](#speed)
  * [climb](#climb)
  * [track](#track)
  * [magtrack](#magtrack)
  * [magvar](#magvar)
  * [ept](#ept)
  * [epx](#epx)
  * [epy](#epy)
  * [epv](#epv)
  * [eph](#eph)
  * [sep](#sep)
  * [ecefpAcc](#ecefpacc)
  * [ecefvAcc](#ecefvacc)
  * [leapseconds](#leapseconds)
  * [fix_valid](#fix_valid)
  * [fix_3d](#fix_3d)

* [gps_sky](#gps_sky)

  * [nSat](#nsat)
  * [uSat](#usat)
  * [sat_used_ratio](#sat_used_ratio)
  * [gdop](#gdop)
  * [hdop](#hdop)
  * [pdop](#pdop)
  * [tdop](#tdop)
  * [vdop](#vdop)
  * [xdop](#xdop)
  * [ydop](#ydop)
  * [gps_visible](#gps_visible)
  * [gps_used](#gps_used)
  * [sbas_visible](#sbas_visible)
  * [sbas_used](#sbas_used)
  * [galileo_visible](#galileo_visible)
  * [galileo_used](#galileo_used)
  * [beidou_visible](#beidou_visible)
  * [beidou_used](#beidou_used)
  * [qzss_visible](#qzss_visible)
  * [qzss_used](#qzss_used)
  * [glonass_visible](#glonass_visible)
  * [glonass_used](#glonass_used)
  * [unknown_visible](#unknown_visible)
  * [unknown_used](#unknown_used)
  * [avg_signal_visible](#avg_signal_visible)
  * [avg_signal_used](#avg_signal_used)
  * [max_signal](#max_signal)

* [gps_pps](#gps_pps)

  * [offset_ns](#offset_ns)
  * [precision_exp](#precision_exp)
  * [present](#present)


## gps_fix

This measurement is the current navigation solution from the latest TPV message. 

Basically: where am I, what kind of fix do I have, and how confident is the receiver?

### mode

Fix type.

Usually:

1 = no fix

2 = 2D fix

3 = 3D fix

### lat

Latitude in decimal degrees.

### lon

Longitude in decimal degrees.

### alt

Altitude in meters.This is effectively the same as mean sea level altitude.

### alt_msl

Altitude above mean sea level, in meters.

### alt_hae

Altitude above the ellipsoid, in meters.

### speed

Current ground speed, in meters per second.

### climb

Vertical speed, in meters per second. Positive means climbing, negative means descending.

### track

Course over ground in degrees.

### magtrack

Magnetic course over ground in degrees.

### magvar

Magnetic variation in degrees.

### ept

Estimated timestamp error, in seconds. This is gpsd estimate of uncertainty for the reported time.

### epx

Estimated longitude-related horizontal uncertainty, in meters.

### epy

Estimated latitude-related horizontal uncertainty, in meters.

### epv

Estimated vertical uncertainty, in meters.

### eph

Estimated horizontal position uncertainty, in meters.

### sep

Estimated spherical error or 3D position uncertainty, in meters.

### ecefpAcc

Estimated ECEF position accuracy, in meters.

### ecefvAcc

Estimated ECEF velocity accuracy, in meters per second.

### leapseconds

Current leap-second offset between GPS time and UTC.

### fix_valid

Boolean derived by the script.

true if mode >= 2.

### fix_3d

Boolean derived by the script.

true if mode == 3.

## gps_sky

This measurement comes from the latest SKY message. 

It says: how good is the sky view, how many satellites are visible and used, and how good is the geometry?

### nSat

Number of satellites visible or reported.

### uSat

Number of satellites currently used in the navigation solution.

### sat_used_ratio

Derived value: uSat / nSat.

Shows how many visible satellites are actually being used.

### gdop

Geometric dilution of precision. 

Overall combined geometry quality. Lower is better.

### hdop

Horizontal dilution of precision. Lower is better.

### pdop

Position dilution of precision. Lower is better.

### tdop

Time dilution of precision. Lower is better.

### vdop

Vertical dilution of precision. Lower is better.

### xdop

Dilution of precision in the X direction. Lower is better.

### ydop

Dilution of precision in the Y direction. Lower is better.

### gps_visible

How many GPS satellites were listed.

### gps_used

How many GPS satellites were actually used in the fix.

### sbas_visible

How many SBAS satellites were listed.

### sbas_used

How many SBAS satellites were used in the fix.

### galileo_visible

How many Galileo satellites were listed.

### galileo_used

How many Galileo satellites were used in the fix.

### beidou_visible

How many BeiDou satellites were listed.

### beidou_used

How many BeiDou satellites were used in the fix.

### qzss_visible

How many QZSS satellites were listed.

### qzss_used

How many QZSS satellites were used in the fix.

### glonass_visible

How many GLONASS satellites were listed.

### glonass_used

How many GLONASS satellites were used in the fix.

### unknown_visible

How many satellites had an unknown gnssid.

### unknown_used

How many unknown-constellation satellites were used.

### avg_signal_visible

Average signal strength across all visible satellites, based on ss.

### avg_signal_used

Average signal strength across satellites actually used in the fix.

### max_signal

Maximum ss value seen among visible satellites.

## gps_pps

This measurement comes from the latest PPS message. 

What is says: is PPS present, and what is the current timing offset between the PPS event and the host clock timestamp?

### offset_ns

Derived value in nanoseconds.

Calculated by the script as:

(clock_sec * 1e9 + clock_nsec) - (real_sec * 1e9 + real_nsec)

The difference between the kernel or host timestamp and the PPS event timestamp.

A negative value means the host timestamp is slightly earlier than the PPS reference.
A positive value means it is slightly later.

### precision_exp

Precision exponent reported by gpsd for the PPS source.

### present

Boolean derived by the script.

Always true when a PPS message was received and exported.