Skip to content

GnssFix

struct nmeasim::core::model::GnssFix ยท Library API

State of the GNSS receiver: fix, satellites and dilution of precision.

#include <nmeasim/core/model/vessel_state.hpp>

Declared in src/core/include/nmeasim/core/model/vessel_state.hpp (line 43)

The satellites themselves are synthetic: the encoders report the first satellites of a fixed constellation of twelve.

Summary

Public data members

Name Description
has_fix Whether the receiver has a position fix.
quality Fix quality sent in GGA while has_fix is true; Differential also makes the mode indicator D and sets the AIS position accuracy flag.
satellites_in_use Satellites used in the solution, reported in GGA, GSA and Signal K; the NMEA encoders clamp it to [0, 12].
satellites_in_view Satellites listed in GSV, clamped to [0, 12] and never fewer than those in use.
hdop Horizontal dilution of precision, dimensionless, reported in GGA, GSA and Signal K.
pdop Position dilution of precision, dimensionless, reported in GSA and Signal K.
vdop Vertical dilution of precision, dimensionless, reported in GSA.
geoid_separation_m Height of the geoid above the WGS 84 ellipsoid at the current position, negative when the geoid lies below it; reported in GGA and Signal K.

Public data members

has_fix

bool has_fix{true}

Whether the receiver has a position fix.

false simulates a receiver that has lost its fix: the status fields of RMC and GLL become V, the mode indicator N, positions, speed and course are sent empty, GGA reports quality 0, AIS sends its "not available" values and the Signal K position, course and speed paths are omitted.

Declared in src/core/include/nmeasim/core/model/vessel_state.hpp:50

quality

FixQuality quality{FixQuality::Gps}

Fix quality sent in GGA while has_fix is true; Differential also makes the mode indicator D and sets the AIS position accuracy flag.

Declared in src/core/include/nmeasim/core/model/vessel_state.hpp:53

satellites_in_use

int satellites_in_use{8}

Satellites used in the solution, reported in GGA, GSA and Signal K; the NMEA encoders clamp it to [0, 12].

Declared in src/core/include/nmeasim/core/model/vessel_state.hpp:56

satellites_in_view

int satellites_in_view{10}

Satellites listed in GSV, clamped to [0, 12] and never fewer than those in use.

Declared in src/core/include/nmeasim/core/model/vessel_state.hpp:58

hdop

double hdop{0.9}

Horizontal dilution of precision, dimensionless, reported in GGA, GSA and Signal K.

Declared in src/core/include/nmeasim/core/model/vessel_state.hpp:60

pdop

double pdop{1.7}

Position dilution of precision, dimensionless, reported in GSA and Signal K.

Declared in src/core/include/nmeasim/core/model/vessel_state.hpp:62

vdop

double vdop{1.4}

Vertical dilution of precision, dimensionless, reported in GSA.

Declared in src/core/include/nmeasim/core/model/vessel_state.hpp:64

geoid_separation_m

double geoid_separation_m{0.0}

Height of the geoid above the WGS 84 ellipsoid at the current position, negative when the geoid lies below it; reported in GGA and Signal K.

Declared in src/core/include/nmeasim/core/model/vessel_state.hpp:67