namespace mrpt::obs::gnss
Overview
GNSS (GPS) data structures, mainly for use within mrpt::obs::CObservationGPS.
namespace gnss { // namespaces namespace mrpt::obs::gnss::nv_oem6_ins_status_type; namespace mrpt::obs::gnss::nv_oem6_position_type; namespace mrpt::obs::gnss::nv_oem6_solution_status; // typedefs typedef std::shared_ptr<gnss_message> gnss_message_ptr; // enums enum gnss_message_type_t; // structs struct Message_NMEA_GGA; struct Message_NMEA_GLL; struct Message_NMEA_GSA; struct Message_NMEA_RMC; struct Message_NMEA_VTG; struct Message_NMEA_ZDA; struct Message_NV_OEM6_GENERIC_FRAME; struct Message_NV_OEM6_GENERIC_SHORT_FRAME; struct Message_NV_OEM6_RANGECMP; struct Message_NV_OEM6_VERSION; struct Message_TOPCON_PZS; struct Message_TOPCON_SATS; struct UTC_time; struct gnss_message; struct nv_oem6_header_t; struct nv_oem6_short_header_t; // global variables nv_oem6_header_t header; nv_oem6_solution_status::nv_solution_status_t solution_stat = nv_oem6_solution_status::INVALID_FIX; nv_oem6_position_type::nv_position_type_t position_type = nv_oem6_position_type::NONE; double lat = 0; double lon = 0; double hgt = 0; float undulation = 0; uint32_t datum_id = 0; float lat_sigma = 0; float lon_sigma = 0; float hgt_sigma = 0; char base_station_id[4] {0, 0, 0, 0}; float diff_age = 0; float sol_age = 0; uint8_t num_sats_tracked = 0; uint8_t num_sats_sol = 0; uint8_t num_sats_sol_L1 = 0; uint8_t num_sats_sol_multi = 0; uint8_t reserved = 0; uint8_t ext_sol_stat = 0; uint8_t galileo_beidou_mask = 0; uint8_t gps_glonass_mask = 0; uint32_t crc = 0; uint32_t week = 0; double seconds_in_week = 0; double vel_north = 0; double vel_east = 0; double vel_up = 0; double roll = 0; double pitch = 0; double azimuth = 0; nv_oem6_ins_status_type::nv_ins_status_type_t ins_status = nv_oem6_ins_status_type::INS_INACTIVE; double pos_cov[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; double att_cov[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; double vel_cov[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; uint32_t error = 0; uint32_t num_stats = 0; uint32_t rxstat = 0; uint32_t rxstat_pri = 0; uint32_t rxstat_set = 0; uint32_t rxstat_clear = 0; uint32_t aux1stat = 0; uint32_t aux1stat_pri = 0; uint32_t aux1stat_set = 0; uint32_t aux1stat_clear = 0; uint32_t aux2stat = 0; uint32_t aux2stat_pri = 0; uint32_t aux2stat_set = 0; uint32_t aux2stat_clear = 0; uint32_t aux3stat = 0; uint32_t aux3stat_pri = 0; uint32_t aux3stat_set = 0; uint32_t aux3stat_clear = 0; uint32_t sat_prn = 0; uint32_t ref_week = 0; uint32_t ref_secs = 0; uint8_t subframe1[30]; uint8_t subframe2[30]; uint8_t subframe3[30]; double week_seconds = 0; uint32_t imu_status = 0; int32_t accel_z = 0; int32_t accel_y_neg = 0; int32_t accel_x = 0; int32_t gyro_z = 0; int32_t gyro_y_neg = 0; int32_t gyro_x = 0; double clock_offset = 0; double clock_offset_std = 0; double utc_offset = 0; uint32_t clock_status = 0; double a0 = 0; double a1 = 0; double a2 = 0; double a3 = 0; double b0 = 0; double b1 = 0; double b2 = 0; double b3 = 0; uint32_t utc_wn = 0; uint32_t tot = 0; double A0 = 0; double A1 = 0; uint32_t wn_lsf = 0; uint32_t dn = 0; uint32_t deltat_ls = 0; uint32_t deltat_lsf = 0; // global functions template <class TGEODETICCOORDS> GNSS_BINARY_MSG_DEFINITION_MID TGEODETICCOORDS getAsStruct() const; bool getAllFieldDescriptions(std::ostream& o) const; bool getAllFieldValues(std::ostream& o) const; void fixEndianness(); } // namespace gnss
Typedefs
typedef std::shared_ptr<gnss_message> gnss_message_ptr
A smart pointer to a GNSS message.
See also:
Global Variables
nv_oem6_header_t header
Novatel frame: NV_OEM6_BESTPOS.
Novatel frame: NV_OEM6_IONUTC.
Novatel frame: NV_OEM6_MARK2TIME.
Novatel frame: NV_OEM6_MARKTIME.
Novatel frame: NV_OEM6_MARKPOS.
Novatel frame: NV_OEM6_RAWIMUS.
Novatel frame: NV_OEM6_RAWEPHEM.
Novatel frame: NV_OEM6_RXSTATUS.
Novatel frame: NV_OEM6_INSCOVS.
Novatel frame: NV_OEM6_INSPVAS.
See also:
Frame header
double lat = 0
[deg], [deg], hgt over sea level[m]
float lat_sigma = 0
Uncertainties (all in [m])
double pos_cov[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0}
Position covariance matrix in local level frame (metres squared) xx,xy,xz,yx,yy,yz,zx,zy,zz.
double att_cov[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0}
Attitude covariance matrix of the SPAN frame to the local level frame.
(deg sq) xx,xy,xz,yx,yy,yz,zx,zy,zz
double vel_cov[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0}
Velocity covariance matrix in local level frame.
(metres/second squared) xx,xy,xz,yx,yy,yz,zx,zy,zz
double a0 = 0
Ionospheric alpha and beta constant terms parameters.
uint32_t utc_wn = 0
UTC reference week number.
uint32_t tot = 0
Reference time of UTC params.
double A0 = 0
UTC constant and 1st order terms.
uint32_t wn_lsf = 0
Future week number.
uint32_t dn = 0
Day number (1=sunday, 7=saturday)
uint32_t deltat_ls = 0
Delta time due to leap seconds.
uint32_t deltat_lsf = 0
Delta time due to leap seconds (future)
Global Functions
template <class TGEODETICCOORDS> GNSS_BINARY_MSG_DEFINITION_MID TGEODETICCOORDS getAsStruct() const
Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against mrpt-topography) Call as: getAsStruct<TGeodeticCoords>();.