Skip to content

SensorsStatusGnss (UORB message) ​

Per-receiver GNSS health and check diagnostics.

Published by the sensors module. Describes the latest sample of each receiver: to gate on a sample, use vehicle_gnss.usable.

TOPICS: sensors_status_gnss

Fields ​

NameTypeUnit [Frame]Range/EnumDescription
timestampuint64usTime since system start
device_id_selecteduint32Receiver that vehicle_gnss carries
device_idsuint32[4]One entry per receiver, 0 where unused
orderint8[4]Fixed position of the receiver: 0 for the preferred one, otherwise for the first to publish, then in order of first publication. Changes only with the preference, -1 until the receiver publishes
healthybool[4]Usable within the last 2 s: passed its checks for long enough and published without gaps. The selection fails over from a receiver that isn't
availabilityfloat32[4]Fraction of recent time the receiver passed its checks and published without gaps, 0 to 1
failed_strict_checksuint16[4]Enabled checks the latest sample fails at the strict thresholds, VehicleGnss CHECK_* bits
failed_relaxed_checksuint16[4]Enabled checks the latest sample fails at the relaxed thresholds, VehicleGnss CHECK_* bits
strictbool[4]The strict checks decide whether its samples are usable, as VehicleGnss strict
drift_rate_horizontalfloat32[4]m/sHorizontal position drift rate at rest
drift_rate_verticalfloat32[4]m/sVertical position drift rate at rest
speed_horizontal_filteredfloat32[4]m/sFiltered horizontal speed at rest

Constants ​

NameTypeValueDescription
MAX_RECEIVERSuint84Length of the per-receiver arrays

Source Message ​

Source file (GitHub)

Click here to see original file
c
# Per-receiver GNSS health and check diagnostics
#
# Published by the sensors module. Describes the latest sample of each receiver: to gate on a sample, use vehicle_gnss.usable.

uint64 timestamp # [us] Time since system start

uint32 device_id_selected # [-] Receiver that vehicle_gnss carries

uint8 MAX_RECEIVERS = 4 # Length of the per-receiver arrays

uint32[4] device_ids                 # [-] One entry per receiver, 0 where unused
int8[4] order                        # [-] Fixed position of the receiver: 0 for the preferred one, otherwise for the first to publish, then in order of first publication. Changes only with the preference, -1 until the receiver publishes
bool[4] healthy                      # Usable within the last 2 s: passed its checks for long enough and published without gaps. The selection fails over from a receiver that isn't
float32[4] availability              # [-] Fraction of recent time the receiver passed its checks and published without gaps, 0 to 1
uint16[4] failed_strict_checks       # [-] Enabled checks the latest sample fails at the strict thresholds, VehicleGnss CHECK_* bits
uint16[4] failed_relaxed_checks      # [-] Enabled checks the latest sample fails at the relaxed thresholds, VehicleGnss CHECK_* bits
bool[4] strict                       # The strict checks decide whether its samples are usable, as VehicleGnss strict
float32[4] drift_rate_horizontal     # [m/s] Horizontal position drift rate at rest
float32[4] drift_rate_vertical       # [m/s] Vertical position drift rate at rest
float32[4] speed_horizontal_filtered # [m/s] Filtered horizontal speed at rest

# TOPICS sensors_status_gnss