Main MRPT website > C++ reference for MRPT 1.4.0
gnss_messages_novatel.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2016, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 #pragma once
10 
11 #include "gnss_messages_common.h"
12 
13 namespace mrpt {
14 namespace obs {
15 namespace gnss {
16 
17 // Pragma to ensure we can safely serialize some of these structures
18 #pragma pack(push,1)
19 
20 /** Novatel OEM6 regular header structure \sa mrpt::obs::CObservationGPS */
22 {
23  enum {
24  SYNCH0 = 0xAA,
25  SYNCH1 = 0X44,
26  SYNCH2 = 0x12
27  };
28 
29  uint8_t synch[3];
30  uint8_t hdr_len;
31  uint16_t msg_id;
32  uint8_t msg_type;
33  uint8_t port_addr;
34  uint16_t msg_len;
35  uint16_t seq_number;
36  uint8_t idle_percent;
37  uint8_t time_status;
38  uint16_t week;
39  uint32_t ms_in_week;
40  uint32_t receiver_status;
41  uint16_t reserved;
43 
45 };
46 
47 /** Novatel OEM6 short header structure \sa mrpt::obs::CObservationGPS */
49 {
50  enum {
51  SYNCH0 = 0xAA,
52  SYNCH1 = 0X44,
53  SYNCH2 = 0x13
54  };
55  uint8_t synch[3];
56  uint8_t msg_len;
57  uint16_t msg_id;
58  uint16_t week;
59  uint32_t ms_in_week;
60 
62 };
63 
64 
65 namespace nv_oem6_position_type {
66 /** Novatel OEM6 firmware reference, table 84; Novatel SPAN on OEM6 firmware manual, table 26. */
68  NONE = 0,
69  FIXEDPOS = 1,
71  Reserved = 3,
72  FLOATCONV = 4,
73  WIDELANE = 5,
76  SINGLE = 16,
77  PSRDIFF = 17,
78  WAAS = 18,
79  PROPOGATED = 19,
80  OMNISTAR = 20,
81  L1_FLOAT = 32,
84  L1_INT = 48,
85  WIDE_INT = 49,
86  NARROW_INT = 50,
88  INS = 52,
89  INS_PSRSP = 53,
95  CDGPS = 66
96 };
97  const std::string OBS_IMPEXP & enum2str(int val); //!< for nv_position_type_t
98 }
99 
100 namespace nv_oem6_solution_status {
101 /** Novatel OEM6 firmware reference, table 85 */
103  SOL_COMPUTED = 0, //!< solution computed
104  INSUFFICIENT_OBS, //!< insufficient observations
105  NO_CONVERGENCE, //!< noconvergence
106  SINGULARITY, //!< singularity at parameters matrix
107  COV_TRACE, //!< covariance trace exceeds maximum (trace>1000m)
108  TEST_DIST, //!< test distance exceeded (max of 3 rejections if distance > 10km)
109  COLD_START, //!< not yet converged from cold start
110  V_H_LIMIT, //!< height or velocity limits exceeded
111  VARIANCE, //!< variance exceeds limits
112  RESIDUALS, //!< residuals are too large
113  DELTA_POS, //!< delta position is too large
114  NEGATIVE_VAR, //!< negative variance
115  INTEGRITY_WARNING=13, //!< large residuals make position unreliable
116  INS_INACTIVE, //!< ins has not started yet
117  INS_ALIGNING, //!< ins doing its coarse alignment
118  INS_BAD, //!< ins position is bad
119  IMU_UNPLUGGED, //!< no imu detected
120  PENDING = 18, //!< when a fix position command is entered, the receiver computes its own position and determines if the fixed position is valid
121  INVALID_FIX //!< the fixed position entered using the fix position command is not valid
122 };
123  const std::string OBS_IMPEXP & enum2str(int val); //!< for nv_solution_status_t
124 }
125 namespace nv_oem6_ins_status_type {
126 /** Novatel SPAN on OEM6 firmware reference, table 33 */
128  INS_INACTIVE = 0, //IMU logs are present, but the alignment routine has not started; INS is inactive.
129  INS_ALIGNING = 1, // INS is in alignment mode.
130  INS_HIGH_VARIANCE = 2, // The INS solution is in navigation mode but the azimuth solution uncertainty has exceeded the threshold.
131  INS_SOLUTION_GOOD = 3, // The INS filter is in navigation mode and the INS solution is good.
132  INS_SOLUTION_FREE = 6, // The INS filter is in navigation mode and the GNSS solution is suspected to be in error.
133  INS_ALIGNMENT_COMPLETE = 7, // The INS filter is in navigation mode, but not enough vehicle dynamics have been experienced for the system to be within specifications.
134  DETERMINING_ORIENTATION = 8, // INS is determining the IMU axis aligned with gravity.
135  WAITING_INITIALPOS = 9 // The INS filter has determined the IMU orientation and is awaiting an initial position estimate to begin the alignment process.
136 };
137  const std::string OBS_IMPEXP & enum2str(int val); //!< for nv_ins_status_type_t
138 }
139 
140 /** Novatel generic frame (to store frames without a parser at the present time). \sa mrpt::obs::CObservationGPS */
142 {
144  {}
145  nv_oem6_header_t header; //!< Frame header
146  std::vector<uint8_t> msg_body;
147 
148  void dumpToStream( mrpt::utils::CStream &out ) const MRPT_OVERRIDE; // See docs in base
149 protected:
150  void internal_writeToStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE;
151  void internal_readFromStream(mrpt::utils::CStream &in) MRPT_OVERRIDE;
152 };
153 
154 /** Novatel generic short-header frame (to store frames without a parser at the present time). \sa mrpt::obs::CObservationGPS */
156 {
158  {}
159  nv_oem6_short_header_t header; //!< Frame header
160  std::vector<uint8_t> msg_body;
161 
162  void dumpToStream( mrpt::utils::CStream &out ) const MRPT_OVERRIDE; // See docs in base
163 protected:
164  void internal_writeToStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE;
165  void internal_readFromStream(mrpt::utils::CStream &in) MRPT_OVERRIDE;
166 };
167 
168 
169 /** Novatel frame: NV_OEM6_BESTPOS. \sa mrpt::obs::CObservationGPS */
171  nv_oem6_header_t header; //!< Frame header
172  uint32_t solution_stat; //!< nv_oem6_solution_status::nv_solution_status_t
173  uint32_t position_type; //!< nv_oem6_position_type::nv_position_type_t
174  double lat,lon,hgt; //!< [deg], [deg], hgt over sea level[m]
175  float undulation;
176  uint32_t datum_id;
177  float lat_sigma, lon_sigma, hgt_sigma; //!< Uncertainties (all in [m])
181  uint8_t reserved;
182  uint8_t ext_sol_stat;
185  uint32_t crc;
187  /** Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against mrpt-topography)
188  * Call as: getAsStruct<TGeodeticCoords>(); */
189  template <class TGEODETICCOORDS>
190  inline TGEODETICCOORDS getAsStruct() const {
191  return TGEODETICCOORDS(fields.lat,fields.lon,fields.hgt);
192  }
193  bool getAllFieldDescriptions( std::ostream &o ) const MRPT_OVERRIDE;
194  bool getAllFieldValues( std::ostream &o ) const MRPT_OVERRIDE;
196 
197 /** Novatel frame: NV_OEM6_INSPVAS. \sa mrpt::obs::CObservationGPS */
199  nv_oem6_short_header_t header; //!< Frame header
200  uint32_t week;
202  double lat,lon,hgt;
205  uint32_t ins_status; //!< nv_oem6_ins_status_type::nv_ins_status_type_t
206  uint32_t crc;
208  /** Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against mrpt-topography)
209  * Call as: getAsStruct<TGeodeticCoords>(); */
210  template <class TGEODETICCOORDS>
211  inline TGEODETICCOORDS getAsStruct() const {
212  return TGEODETICCOORDS(fields.lat,fields.lon,fields.hgt);
213  }
214  bool getAllFieldDescriptions( std::ostream &o ) const MRPT_OVERRIDE;
215  bool getAllFieldValues( std::ostream &o ) const MRPT_OVERRIDE;
217 
218 
219 /** Novatel frame: NV_OEM6_INSCOVS. \sa mrpt::obs::CObservationGPS */
221  nv_oem6_short_header_t header; //!< Frame header
222  uint32_t week;
223  double seconds_in_week;
224  double pos_cov[9]; //!< Position covariance matrix in local level frame (metres squared) xx,xy,xz,yx,yy,yz,zx,zy,zz
225  double att_cov[9]; //!< Attitude covariance matrix of the SPAN frame to the local level frame. (deg sq) xx,xy,xz,yx,yy,yz,zx,zy,zz
226  double vel_cov[9]; //!< Velocity covariance matrix in local level frame. (metres/second squared) xx,xy,xz,yx,yy,yz,zx,zy,zz
227  uint32_t crc;
229  bool getAllFieldDescriptions( std::ostream &o ) const MRPT_OVERRIDE;
230  bool getAllFieldValues( std::ostream &o ) const MRPT_OVERRIDE;
232 
233 /** Novatel frame: NV_OEM6_RANGECMP. \sa mrpt::obs::CObservationGPS */
235 {
237  {}
239  uint8_t data[24];
240  };
241 
242  nv_oem6_header_t header; //!< Frame header
243  uint32_t num_obs;
244  std::vector<TCompressedRangeLog> obs_data;
245  uint32_t crc;
246 
247  void dumpToStream( mrpt::utils::CStream &out ) const MRPT_OVERRIDE; // See docs in base
248 protected:
249  void internal_writeToStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE;
250  void internal_readFromStream(mrpt::utils::CStream &in) MRPT_OVERRIDE;
251 };
252 
253 /** Novatel frame: NV_OEM6_RXSTATUS. \sa mrpt::obs::CObservationGPS */
255  nv_oem6_header_t header; //!< Frame header
256  uint32_t error, num_stats;
261  uint32_t crc;
263 
264 /** Novatel frame: NV_OEM6_RAWEPHEM. \sa mrpt::obs::CObservationGPS */
266  nv_oem6_header_t header; //!< Frame header
268  uint8_t subframe1[30],subframe2[30],subframe3[30];
269  uint32_t crc;
271 
272 /** Novatel frame: NV_OEM6_VERSION. \sa mrpt::obs::CObservationGPS */
274 {
276  {}
278  uint32_t type;
279  char model[16], serial[16];
280  char hwversion[16], swversion[16],bootversion[16];
281  char compdate[12], comptime[12];
282  };
283 
284  nv_oem6_header_t header; //!< Frame header
285  uint32_t num_comps;
286  std::vector<TComponentVersion> components;
287  uint32_t crc;
288 
289  void dumpToStream( mrpt::utils::CStream &out ) const MRPT_OVERRIDE; // See docs in base
290 protected:
291  void internal_writeToStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE;
292  void internal_readFromStream(mrpt::utils::CStream &in) MRPT_OVERRIDE;
293 };
294 
295 
296 /** Novatel frame: NV_OEM6_RAWIMUS. \sa mrpt::obs::CObservationGPS */
298  nv_oem6_short_header_t header; //!< Frame header
299  uint32_t week;
300  double week_seconds;
301  uint32_t imu_status;
304  uint32_t crc;
306  bool getAllFieldDescriptions( std::ostream &o ) const MRPT_OVERRIDE;
307  bool getAllFieldValues( std::ostream &o ) const MRPT_OVERRIDE;
309 
310 /** Novatel frame: NV_OEM6_MARKPOS. \sa mrpt::obs::CObservationGPS */
312  nv_oem6_header_t header; //!< Frame header
313  uint32_t solution_stat; //!< nv_oem6_solution_status::nv_solution_status_t
314  uint32_t position_type; //!< nv_oem6_position_type::nv_position_type_t
315  double lat,lon,hgt; //!< [deg], [deg], hgt over sea level[m]
316  float undulation;
317  uint32_t datum_id;
318  float lat_sigma, lon_sigma, hgt_sigma;
319  char base_station_id[4];
320  float diff_age, sol_age;
322  uint8_t reserved;
323  uint8_t ext_sol_stat;
324  uint8_t galileo_beidou_mask;
325  uint8_t gps_glonass_mask;
326  uint32_t crc;
328  /** Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against mrpt-topography)
329  * Call as: getAsStruct<TGeodeticCoords>(); */
330  template <class TGEODETICCOORDS>
331  inline TGEODETICCOORDS getAsStruct() const {
332  return TGEODETICCOORDS(fields.lat,fields.lon,fields.hgt);
333  }
335 
336 /** Novatel frame: NV_OEM6_MARKTIME. \sa mrpt::obs::CObservationGPS */
338  nv_oem6_header_t header; //!< Frame header
339  uint32_t week;
340  double week_seconds;
342  double utc_offset;
343  uint32_t clock_status;
344  uint32_t crc;
346  bool getAllFieldDescriptions( std::ostream &o ) const MRPT_OVERRIDE;
347  bool getAllFieldValues( std::ostream &o ) const MRPT_OVERRIDE;
349 
350 /** Novatel frame: NV_OEM6_MARK2TIME. \sa mrpt::obs::CObservationGPS */
352  nv_oem6_header_t header; //!< Frame header
353  uint32_t week;
354  double week_seconds;
356  double utc_offset;
357  uint32_t clock_status;
358  uint32_t crc;
360  bool getAllFieldDescriptions( std::ostream &o ) const MRPT_OVERRIDE;
361  bool getAllFieldValues( std::ostream &o ) const MRPT_OVERRIDE;
363 
364 /** Novatel frame: NV_OEM6_IONUTC. \sa mrpt::obs::CObservationGPS */
366  nv_oem6_header_t header; //!< Frame header
367  double a0,a1,a2,a3,b0,b1,b2,b3; // Ionospheric alpha and beta constant terms parameters
368  uint32_t utc_wn; //!< UTC reference week number
369  uint32_t tot; //!< Reference time of UTC params
370  double A0,A1; //!< UTC constant and 1st order terms
371  uint32_t wn_lsf; //!< Future week number
372  uint32_t dn; //!< Day number (1=sunday, 7=saturday)
373  uint32_t deltat_ls; //!< Delta time due to leap seconds
374  uint32_t deltat_lsf; //!< Delta time due to leap seconds (future)
375  uint32_t reserved;
376  uint32_t crc;
378 
379 
380 #pragma pack(pop) // End of pack = 1
381 } } } // End of namespaces
mrpt::obs::gnss::nv_oem6_short_header_t::ms_in_week
uint32_t ms_in_week
Definition: gnss_messages_novatel.h:59
mrpt::obs::gnss::Message_NV_OEM6_VERSION
Novatel frame: NV_OEM6_VERSION.
Definition: gnss_messages_novatel.h:273
mrpt::obs::gnss::Message_NV_OEM6_GENERIC_SHORT_FRAME
Novatel generic short-header frame (to store frames without a parser at the present time).
Definition: gnss_messages_novatel.h:155
mrpt::obs::gnss::nv_oem6_position_type::FLOATCONV
Definition: gnss_messages_novatel.h:72
mrpt::obs::gnss::nv_oem6_solution_status::SINGULARITY
singularity at parameters matrix
Definition: gnss_messages_novatel.h:106
mrpt::obs::gnss::rxstat
uint32_t rxstat
Definition: gnss_messages_novatel.h:257
mrpt::obs::gnss::nv_oem6_ins_status_type::INS_INACTIVE
Definition: gnss_messages_novatel.h:128
mrpt::obs::gnss::a1
double a1
Definition: gnss_messages_novatel.h:367
mrpt::obs::gnss::nv_oem6_short_header_t::week
uint16_t week
Definition: gnss_messages_novatel.h:58
mrpt::obs::gnss::nv_oem6_short_header_t::msg_id
uint16_t msg_id
Definition: gnss_messages_novatel.h:57
mrpt::obs::gnss::nv_oem6_solution_status::RESIDUALS
residuals are too large
Definition: gnss_messages_novatel.h:112
mrpt::obs::gnss::nv_oem6_header_t::time_status
uint8_t time_status
Definition: gnss_messages_novatel.h:37
mrpt::obs::gnss::nv_oem6_position_type::WIDE_INT
Definition: gnss_messages_novatel.h:85
mrpt::obs::gnss::nv_oem6_position_type::NARROWLANE
Definition: gnss_messages_novatel.h:74
mrpt::obs::gnss::nv_oem6_header_t::msg_type
uint8_t msg_type
Definition: gnss_messages_novatel.h:32
mrpt::obs::gnss::utc_wn
uint32_t utc_wn
UTC reference week number.
Definition: gnss_messages_novatel.h:368
mrpt::obs::gnss::getAllFieldDescriptions
bool getAllFieldDescriptions(std::ostream &o) const MRPT_OVERRIDE
mrpt::obs::gnss::b0
double b0
Definition: gnss_messages_novatel.h:367
mrpt::obs::gnss::nv_oem6_position_type::nv_position_type_t
nv_position_type_t
Novatel OEM6 firmware reference, table 84; Novatel SPAN on OEM6 firmware manual, table 26.
Definition: gnss_messages_novatel.h:67
mrpt::obs::gnss::hgt_sigma
float hgt_sigma
Uncertainties (all in [m])
Definition: gnss_messages_novatel.h:177
mrpt::obs::gnss::gnss_message_type_t
gnss_message_type_t
List of all known GNSS message types.
Definition: gnss_messages_type_list.h:21
mrpt::obs::gnss::nv_oem6_position_type::RTK_DIRECT_INS
Definition: gnss_messages_novatel.h:87
mrpt::obs::gnss::getAsStruct
GNSS_BINARY_MSG_DEFINITION_MID TGEODETICCOORDS getAsStruct() const
Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against...
Definition: gnss_messages_novatel.h:190
mrpt::obs::gnss::Message_NV_OEM6_GENERIC_SHORT_FRAME::header
nv_oem6_short_header_t header
Frame header.
Definition: gnss_messages_novatel.h:159
mrpt::obs::gnss::dn
uint32_t dn
Day number (1=sunday, 7=saturday)
Definition: gnss_messages_novatel.h:372
mrpt::obs::gnss::position_type
uint32_t position_type
nv_oem6_position_type::nv_position_type_t
Definition: gnss_messages_novatel.h:173
mrpt::obs::gnss::nv_oem6_solution_status::V_H_LIMIT
height or velocity limits exceeded
Definition: gnss_messages_novatel.h:110
mrpt::obs::gnss::aux3stat_pri
uint32_t aux3stat_pri
Definition: gnss_messages_novatel.h:260
mrpt::obs::gnss::nv_oem6_short_header_t
Novatel OEM6 short header structure.
Definition: gnss_messages_novatel.h:48
mrpt::obs::gnss::Message_NV_OEM6_GENERIC_FRAME
Novatel generic frame (to store frames without a parser at the present time).
Definition: gnss_messages_novatel.h:141
mrpt::obs::gnss::Message_NV_OEM6_VERSION::num_comps
uint32_t num_comps
Definition: gnss_messages_novatel.h:285
mrpt::obs::gnss::clock_offset_std
double clock_offset_std
Definition: gnss_messages_novatel.h:341
mrpt::obs::gnss::accel_z
int32_t accel_z
Definition: gnss_messages_novatel.h:302
mrpt::obs::gnss::nv_oem6_solution_status::COV_TRACE
covariance trace exceeds maximum (trace>1000m)
Definition: gnss_messages_novatel.h:107
mrpt::obs::gnss::nv_oem6_header_t::receiver_status
uint32_t receiver_status
Definition: gnss_messages_novatel.h:40
mrpt::obs::gnss::nv_oem6_header_t::msg_id
uint16_t msg_id
Definition: gnss_messages_novatel.h:31
mrpt::obs::gnss::NV_OEM6_GENERIC_FRAME
Definition: gnss_messages_type_list.h:41
mrpt::obs::gnss::nv_oem6_short_header_t::msg_len
uint8_t msg_len
Definition: gnss_messages_novatel.h:56
mrpt::obs::gnss::aux1stat_clear
uint32_t aux1stat_clear
Definition: gnss_messages_novatel.h:258
mrpt::obs::gnss::crc
uint32_t crc
Definition: gnss_messages_novatel.h:185
mrpt::obs::gnss::nv_oem6_position_type::INS_RTKFLOAT
Definition: gnss_messages_novatel.h:91
mrpt::obs::gnss::NV_OEM6_RANGECMP
Definition: gnss_messages_type_list.h:69
mrpt::obs::gnss::nv_oem6_solution_status::TEST_DIST
test distance exceeded (max of 3 rejections if distance > 10km)
Definition: gnss_messages_novatel.h:108
mrpt::obs::gnss::rxstat_set
uint32_t rxstat_set
Definition: gnss_messages_novatel.h:257
mrpt::obs::gnss::NV_OEM6_GENERIC_SHORT_FRAME
Definition: gnss_messages_type_list.h:42
mrpt::obs::gnss::Message_NV_OEM6_RANGECMP::crc
uint32_t crc
Definition: gnss_messages_novatel.h:245
mrpt::obs::gnss::nv_oem6_position_type::L1_INT
Definition: gnss_messages_novatel.h:84
mrpt::obs::gnss::vel_east
double vel_east
Definition: gnss_messages_novatel.h:203
mrpt::obs::gnss::vel_north
double vel_north
Definition: gnss_messages_novatel.h:203
mrpt::obs::gnss::vel_cov
double vel_cov[9]
Velocity covariance matrix in local level frame. (metres/second squared) xx,xy,xz,...
Definition: gnss_messages_novatel.h:226
mrpt::obs::gnss::nv_oem6_header_t::week
uint16_t week
Definition: gnss_messages_novatel.h:38
mrpt::obs::gnss::nv_oem6_position_type::INS
Definition: gnss_messages_novatel.h:88
mrpt::obs::gnss::Message_NV_OEM6_VERSION::components
std::vector< TComponentVersion > components
Definition: gnss_messages_novatel.h:286
mrpt::obs::gnss::nv_oem6_solution_status::DELTA_POS
delta position is too large
Definition: gnss_messages_novatel.h:113
mrpt::obs::gnss::subframe1
uint8_t subframe1[30]
Definition: gnss_messages_novatel.h:268
mrpt::obs::gnss::NV_OEM6_INSCOVS
Definition: gnss_messages_type_list.h:79
mrpt::obs::gnss::sat_prn
uint32_t sat_prn
Definition: gnss_messages_novatel.h:267
mrpt::obs::gnss::num_sats_sol
uint8_t num_sats_sol
Definition: gnss_messages_novatel.h:180
mrpt::obs::gnss::base_station_id
char base_station_id[4]
Definition: gnss_messages_novatel.h:178
mrpt::obs::gnss::nv_oem6_header_t::port_addr
uint8_t port_addr
Definition: gnss_messages_novatel.h:33
mrpt::obs::gnss::tot
uint32_t tot
Reference time of UTC params.
Definition: gnss_messages_novatel.h:369
mrpt::obs::gnss::nv_oem6_solution_status::INTEGRITY_WARNING
large residuals make position unreliable
Definition: gnss_messages_novatel.h:115
GNSS_BINARY_MSG_DEFINITION_END
#define GNSS_BINARY_MSG_DEFINITION_END
Definition: gnss_messages_common.h:100
mrpt::obs::gnss::nv_oem6_ins_status_type::INS_ALIGNMENT_COMPLETE
Definition: gnss_messages_novatel.h:133
mrpt::obs::gnss::Message_NV_OEM6_VERSION::TComponentVersion
Definition: gnss_messages_novatel.h:277
mrpt::obs::gnss::roll
double roll
Definition: gnss_messages_novatel.h:204
mrpt::obs::gnss::gyro_z
int32_t gyro_z
Definition: gnss_messages_novatel.h:303
mrpt::obs::gnss::header
nv_oem6_header_t header
Novatel frame: NV_OEM6_BESTPOS.
Definition: gnss_messages_novatel.h:171
mrpt::obs::gnss::nv_oem6_header_t
Novatel OEM6 regular header structure.
Definition: gnss_messages_novatel.h:21
mrpt::obs::gnss::reserved
uint8_t reserved
Definition: gnss_messages_novatel.h:181
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition: CParticleFilter.h:16
mrpt::obs::gnss::NV_OEM6_VERSION
Definition: gnss_messages_type_list.h:72
mrpt::obs::gnss::nv_oem6_position_type::PROPOGATED
Definition: gnss_messages_novatel.h:79
mrpt::obs::gnss::NV_OEM6_MARK2TIME
Definition: gnss_messages_type_list.h:67
mrpt::obs::gnss::ext_sol_stat
uint8_t ext_sol_stat
Definition: gnss_messages_novatel.h:182
mrpt::obs::gnss::Message_NV_OEM6_RANGECMP::header
nv_oem6_header_t header
Frame header.
Definition: gnss_messages_novatel.h:242
mrpt::obs::gnss::NV_OEM6_INSPVAS
Definition: gnss_messages_type_list.h:77
GNSS_BINARY_MSG_DEFINITION_MID_END
#define GNSS_BINARY_MSG_DEFINITION_MID_END
Definition: gnss_messages_common.h:97
mrpt::obs::gnss::nv_oem6_ins_status_type::INS_ALIGNING
Definition: gnss_messages_novatel.h:129
mrpt::obs::gnss::gps_glonass_mask
uint8_t gps_glonass_mask
Definition: gnss_messages_novatel.h:184
mrpt::obs::gnss::NV_OEM6_BESTPOS
Definition: gnss_messages_type_list.h:48
mrpt::obs::gnss::aux3stat
uint32_t aux3stat
Definition: gnss_messages_novatel.h:260
mrpt::obs::gnss::nv_oem6_position_type::INS_PSRSP
Definition: gnss_messages_novatel.h:89
mrpt::obs::gnss::week_seconds
double week_seconds
Definition: gnss_messages_novatel.h:300
mrpt::obs::gnss::att_cov
double att_cov[9]
Attitude covariance matrix of the SPAN frame to the local level frame. (deg sq) xx,...
Definition: gnss_messages_novatel.h:225
mrpt::obs::gnss::Message_NV_OEM6_GENERIC_SHORT_FRAME::Message_NV_OEM6_GENERIC_SHORT_FRAME
Message_NV_OEM6_GENERIC_SHORT_FRAME()
Definition: gnss_messages_novatel.h:157
mrpt::obs::gnss::nv_oem6_header_t::hdr_len
uint8_t hdr_len
Definition: gnss_messages_novatel.h:30
mrpt::obs::gnss::Message_NV_OEM6_RANGECMP::num_obs
uint32_t num_obs
Definition: gnss_messages_novatel.h:243
mrpt::obs::gnss::nv_oem6_ins_status_type::INS_SOLUTION_FREE
Definition: gnss_messages_novatel.h:132
mrpt::obs::gnss::nv_oem6_ins_status_type::nv_ins_status_type_t
nv_ins_status_type_t
Novatel SPAN on OEM6 firmware reference, table 33.
Definition: gnss_messages_novatel.h:127
mrpt::obs::gnss::NV_OEM6_MARKPOS
Definition: gnss_messages_type_list.h:64
mrpt::obs::gnss::nv_oem6_solution_status::NO_CONVERGENCE
noconvergence
Definition: gnss_messages_novatel.h:105
mrpt::obs::gnss::hgt
double hgt
[deg], [deg], hgt over sea level[m]
Definition: gnss_messages_novatel.h:174
mrpt::obs::gnss::seconds_in_week
double seconds_in_week
Definition: gnss_messages_novatel.h:201
mrpt::obs::gnss::nv_oem6_header_t::seq_number
uint16_t seq_number
Definition: gnss_messages_novatel.h:35
mrpt::obs::gnss::nv_oem6_position_type::enum2str
const std::string OBS_IMPEXP & enum2str(int val)
for nv_position_type_t
mrpt::obs::gnss::nv_oem6_solution_status::VARIANCE
variance exceeds limits
Definition: gnss_messages_novatel.h:111
mrpt::obs::gnss::galileo_beidou_mask
uint8_t galileo_beidou_mask
Definition: gnss_messages_novatel.h:183
mrpt::obs::gnss::lon_sigma
float lon_sigma
Definition: gnss_messages_novatel.h:177
mrpt::obs::gnss::nv_oem6_ins_status_type::DETERMINING_ORIENTATION
Definition: gnss_messages_novatel.h:134
mrpt::obs::gnss::error
uint32_t error
Definition: gnss_messages_novatel.h:256
mrpt::obs::gnss::azimuth
double azimuth
Definition: gnss_messages_novatel.h:204
mrpt::obs::gnss::NV_OEM6_RAWIMUS
Definition: gnss_messages_type_list.h:81
mrpt::obs::gnss::aux3stat_set
uint32_t aux3stat_set
Definition: gnss_messages_novatel.h:260
mrpt::obs::gnss::Message_NV_OEM6_VERSION::crc
uint32_t crc
Definition: gnss_messages_novatel.h:287
mrpt::obs::gnss::nv_oem6_header_t::msg_len
uint16_t msg_len
Definition: gnss_messages_novatel.h:34
mrpt::obs::gnss::rxstat_pri
uint32_t rxstat_pri
Definition: gnss_messages_novatel.h:257
mrpt::obs::gnss::aux2stat_clear
uint32_t aux2stat_clear
Definition: gnss_messages_novatel.h:259
mrpt::obs::gnss::num_sats_sol_L1
uint8_t num_sats_sol_L1
Definition: gnss_messages_novatel.h:180
mrpt::obs::gnss::nv_oem6_solution_status::COLD_START
not yet converged from cold start
Definition: gnss_messages_novatel.h:109
mrpt::obs::gnss::subframe2
uint8_t subframe2[30]
Definition: gnss_messages_novatel.h:268
mrpt::obs::gnss::nv_oem6_solution_status::INS_INACTIVE
ins has not started yet
Definition: gnss_messages_novatel.h:116
mrpt::obs::gnss::num_sats_sol_multi
uint8_t num_sats_sol_multi
Definition: gnss_messages_novatel.h:180
mrpt::obs::gnss::nv_oem6_ins_status_type::enum2str
const std::string OBS_IMPEXP & enum2str(int val)
for nv_ins_status_type_t
mrpt::obs::gnss::a2
double a2
Definition: gnss_messages_novatel.h:367
mrpt::obs::gnss::nv_oem6_position_type::NONE
Definition: gnss_messages_novatel.h:68
mrpt::obs::gnss::subframe3
uint8_t subframe3[30]
Definition: gnss_messages_novatel.h:268
mrpt::obs::gnss::a0
double a0
Definition: gnss_messages_novatel.h:367
mrpt::obs::gnss::week
uint32_t week
Definition: gnss_messages_novatel.h:200
mrpt::utils::CStream
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
Definition: CStream.h:38
mrpt::obs::gnss::deltat_ls
uint32_t deltat_ls
Delta time due to leap seconds.
Definition: gnss_messages_novatel.h:373
mrpt::obs::gnss::lon
double lon
Definition: gnss_messages_novatel.h:174
mrpt::obs::gnss::aux2stat_set
uint32_t aux2stat_set
Definition: gnss_messages_novatel.h:259
mrpt::obs::gnss::nv_oem6_solution_status::NEGATIVE_VAR
negative variance
Definition: gnss_messages_novatel.h:114
mrpt::obs::gnss::Message_NV_OEM6_RANGECMP::TCompressedRangeLog
Definition: gnss_messages_novatel.h:238
mrpt::obs::gnss::nv_oem6_position_type::PSRDIFF
Definition: gnss_messages_novatel.h:77
mrpt::obs::gnss::nv_oem6_solution_status::IMU_UNPLUGGED
no imu detected
Definition: gnss_messages_novatel.h:119
mrpt::obs::gnss::nv_oem6_solution_status::INS_BAD
ins position is bad
Definition: gnss_messages_novatel.h:118
mrpt::obs::gnss::nv_oem6_position_type::WAAS
Definition: gnss_messages_novatel.h:78
mrpt::obs::gnss::Message_NV_OEM6_GENERIC_FRAME::msg_body
std::vector< uint8_t > msg_body
Definition: gnss_messages_novatel.h:146
mrpt::obs::gnss::ref_secs
uint32_t ref_secs
Definition: gnss_messages_novatel.h:267
mrpt::obs::gnss::b2
double b2
Definition: gnss_messages_novatel.h:367
mrpt::obs::gnss::nv_oem6_position_type::OMNISTAR_XP
Definition: gnss_messages_novatel.h:94
mrpt::obs::gnss::Message_NV_OEM6_GENERIC_FRAME::header
nv_oem6_header_t header
Frame header.
Definition: gnss_messages_novatel.h:145
mrpt::obs::gnss::Message_NV_OEM6_RANGECMP::Message_NV_OEM6_RANGECMP
Message_NV_OEM6_RANGECMP()
Definition: gnss_messages_novatel.h:236
mrpt::obs::gnss::nv_oem6_position_type::Reserved
Definition: gnss_messages_novatel.h:71
mrpt::obs::gnss::nv_oem6_position_type::INS_RTKFIXED
Definition: gnss_messages_novatel.h:92
mrpt::obs::gnss::nv_oem6_position_type::DOPPLER_VELOCITY
Definition: gnss_messages_novatel.h:75
mrpt::obs::gnss::Message_NV_OEM6_VERSION::TComponentVersion::type
uint32_t type
Definition: gnss_messages_novatel.h:278
mrpt::obs::gnss::deltat_lsf
uint32_t deltat_lsf
Delta time due to leap seconds (future)
Definition: gnss_messages_novatel.h:374
mrpt::obs::gnss::nv_oem6_position_type::CDGPS
Definition: gnss_messages_novatel.h:95
mrpt::obs::gnss::aux2stat_pri
uint32_t aux2stat_pri
Definition: gnss_messages_novatel.h:259
mrpt::obs::gnss::nv_oem6_solution_status::SOL_COMPUTED
solution computed
Definition: gnss_messages_novatel.h:103
mrpt::obs::gnss::lat
double lat
Definition: gnss_messages_novatel.h:174
mrpt::obs::gnss::Message_NV_OEM6_RANGECMP
Novatel frame: NV_OEM6_RANGECMP.
Definition: gnss_messages_novatel.h:234
mrpt::obs::gnss::pitch
double pitch
Definition: gnss_messages_novatel.h:204
mrpt::obs::gnss::nv_oem6_header_t::receiver_sw_version
uint16_t receiver_sw_version
Definition: gnss_messages_novatel.h:42
mrpt::obs::gnss::rxstat_clear
uint32_t rxstat_clear
Definition: gnss_messages_novatel.h:257
mrpt::obs::gnss::nv_oem6_position_type::OMNISTAR
Definition: gnss_messages_novatel.h:80
GNSS_BINARY_MSG_DEFINITION_MID
#define GNSS_BINARY_MSG_DEFINITION_MID
Definition: gnss_messages_common.h:90
mrpt::obs::gnss::ref_week
uint32_t ref_week
Definition: gnss_messages_novatel.h:267
mrpt::obs::gnss::aux3stat_clear
uint32_t aux3stat_clear
Definition: gnss_messages_novatel.h:260
mrpt::obs::gnss::nv_oem6_header_t::ms_in_week
uint32_t ms_in_week
Definition: gnss_messages_novatel.h:39
mrpt::obs::gnss::nv_oem6_position_type::SINGLE
Definition: gnss_messages_novatel.h:76
mrpt::obs::gnss::aux1stat_set
uint32_t aux1stat_set
Definition: gnss_messages_novatel.h:258
mrpt::obs::gnss::nv_oem6_position_type::WIDELANE
Definition: gnss_messages_novatel.h:73
mrpt::obs::gnss::num_sats_tracked
uint8_t num_sats_tracked
Definition: gnss_messages_novatel.h:180
mrpt::obs::gnss::nv_oem6_solution_status::nv_solution_status_t
nv_solution_status_t
Novatel OEM6 firmware reference, table 85.
Definition: gnss_messages_novatel.h:102
mrpt::obs::gnss::nv_oem6_position_type::L1_FLOAT
Definition: gnss_messages_novatel.h:81
mrpt::obs::gnss::nv_oem6_header_t::reserved
uint16_t reserved
Definition: gnss_messages_novatel.h:41
GNSS_BINARY_MSG_DEFINITION_START
#define GNSS_BINARY_MSG_DEFINITION_START(_MSG_ID)
Definition: gnss_messages_common.h:83
mrpt::obs::gnss::aux2stat
uint32_t aux2stat
Definition: gnss_messages_novatel.h:259
mrpt::obs::gnss::clock_status
uint32_t clock_status
Definition: gnss_messages_novatel.h:343
mrpt::obs::gnss::nv_oem6_position_type::OMNISTAR_HP
Definition: gnss_messages_novatel.h:93
mrpt::obs::gnss::pos_cov
double pos_cov[9]
Position covariance matrix in local level frame (metres squared) xx,xy,xz,yx,yy,yz,...
Definition: gnss_messages_novatel.h:224
mrpt::obs::gnss::vel_up
double vel_up
Definition: gnss_messages_novatel.h:203
mrpt::obs::gnss::gyro_x
int32_t gyro_x
Definition: gnss_messages_novatel.h:303
mrpt::obs::gnss::getAllFieldValues
bool getAllFieldValues(std::ostream &o) const MRPT_OVERRIDE
mrpt::obs::gnss::nv_oem6_ins_status_type::INS_SOLUTION_GOOD
Definition: gnss_messages_novatel.h:131
mrpt::obs::gnss::Message_NV_OEM6_GENERIC_FRAME::Message_NV_OEM6_GENERIC_FRAME
Message_NV_OEM6_GENERIC_FRAME()
Definition: gnss_messages_novatel.h:143
mrpt::obs::gnss::aux1stat_pri
uint32_t aux1stat_pri
Definition: gnss_messages_novatel.h:258
mrpt::obs::gnss::nv_oem6_ins_status_type::WAITING_INITIALPOS
Definition: gnss_messages_novatel.h:135
mrpt::obs::gnss::A1
double A1
UTC constant and 1st order terms.
Definition: gnss_messages_novatel.h:370
mrpt::obs::gnss::undulation
float undulation
Definition: gnss_messages_novatel.h:175
mrpt::obs::gnss::b3
double b3
Definition: gnss_messages_novatel.h:367
mrpt::obs::gnss::NV_OEM6_RAWEPHEM
Definition: gnss_messages_type_list.h:70
mrpt::obs::gnss::nv_oem6_position_type::IONOFREE_FLOAT
Definition: gnss_messages_novatel.h:82
mrpt::obs::gnss::nv_oem6_solution_status::INS_ALIGNING
ins doing its coarse alignment
Definition: gnss_messages_novatel.h:117
mrpt::obs::gnss::A0
double A0
Definition: gnss_messages_novatel.h:370
mrpt::obs::gnss::solution_stat
uint32_t solution_stat
nv_oem6_solution_status::nv_solution_status_t
Definition: gnss_messages_novatel.h:172
gnss_messages_common.h
mrpt::obs::gnss::sol_age
float sol_age
Definition: gnss_messages_novatel.h:179
mrpt::obs::gnss::NV_OEM6_IONUTC
Definition: gnss_messages_type_list.h:63
mrpt::obs::gnss::nv_oem6_position_type::FIXEDPOS
Definition: gnss_messages_novatel.h:69
mrpt::obs::gnss::nv_oem6_position_type::NARROW_INT
Definition: gnss_messages_novatel.h:86
mrpt::obs::gnss::nv_oem6_solution_status::INSUFFICIENT_OBS
insufficient observations
Definition: gnss_messages_novatel.h:104
mrpt::obs::gnss::gnss_message
Pure virtual base for all message types.
Definition: gnss_messages_common.h:24
mrpt::obs::gnss::num_stats
uint32_t num_stats
Definition: gnss_messages_novatel.h:256
mrpt::obs::gnss::a3
double a3
Definition: gnss_messages_novatel.h:367
mrpt::obs::gnss::utc_offset
double utc_offset
Definition: gnss_messages_novatel.h:342
mrpt::obs::gnss::Message_NV_OEM6_RANGECMP::obs_data
std::vector< TCompressedRangeLog > obs_data
Definition: gnss_messages_novatel.h:244
mrpt::obs::gnss::imu_status
uint32_t imu_status
Definition: gnss_messages_novatel.h:301
mrpt::obs::gnss::diff_age
float diff_age
Definition: gnss_messages_novatel.h:179
mrpt::obs::gnss::nv_oem6_solution_status::PENDING
when a fix position command is entered, the receiver computes its own position and determines if the ...
Definition: gnss_messages_novatel.h:120
mrpt::obs::gnss::gyro_y_neg
int32_t gyro_y_neg
Definition: gnss_messages_novatel.h:303
mrpt::obs::gnss::nv_oem6_solution_status::INVALID_FIX
the fixed position entered using the fix position command is not valid
Definition: gnss_messages_novatel.h:121
mrpt::obs::gnss::accel_x
int32_t accel_x
Definition: gnss_messages_novatel.h:302
mrpt::obs::gnss::Message_NV_OEM6_VERSION::Message_NV_OEM6_VERSION
Message_NV_OEM6_VERSION()
Definition: gnss_messages_novatel.h:275
mrpt::obs::gnss::nv_oem6_position_type::INS_PSRDIFF
Definition: gnss_messages_novatel.h:90
mrpt::obs::gnss::nv_oem6_ins_status_type::INS_HIGH_VARIANCE
Definition: gnss_messages_novatel.h:130
mrpt::obs::gnss::accel_y_neg
int32_t accel_y_neg
Definition: gnss_messages_novatel.h:302
mrpt::obs::gnss::nv_oem6_solution_status::enum2str
const std::string OBS_IMPEXP & enum2str(int val)
for nv_solution_status_t
mrpt::obs::gnss::nv_oem6_position_type::NARROW_FLOAT
Definition: gnss_messages_novatel.h:83
mrpt::obs::gnss::lat_sigma
float lat_sigma
Definition: gnss_messages_novatel.h:177
mrpt::obs::gnss::Message_NV_OEM6_VERSION::header
nv_oem6_header_t header
Frame header.
Definition: gnss_messages_novatel.h:284
mrpt::obs::gnss::ins_status
uint32_t ins_status
nv_oem6_ins_status_type::nv_ins_status_type_t
Definition: gnss_messages_novatel.h:205
mrpt::obs::gnss::b1
double b1
Definition: gnss_messages_novatel.h:367
mrpt::obs::gnss::aux1stat
uint32_t aux1stat
Definition: gnss_messages_novatel.h:258
mrpt::obs::gnss::datum_id
uint32_t datum_id
Definition: gnss_messages_novatel.h:176
mrpt::obs::gnss::NV_OEM6_RXSTATUS
Definition: gnss_messages_type_list.h:71
MRPT_OVERRIDE
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
Definition: mrpt_macros.h:28
mrpt::obs::gnss::nv_oem6_position_type::FIXEDHEIGHT
Definition: gnss_messages_novatel.h:70
mrpt::obs::gnss::wn_lsf
uint32_t wn_lsf
Future week number.
Definition: gnss_messages_novatel.h:371
mrpt::obs::gnss::Message_NV_OEM6_GENERIC_SHORT_FRAME::msg_body
std::vector< uint8_t > msg_body
Definition: gnss_messages_novatel.h:160
mrpt::obs::gnss::nv_oem6_header_t::idle_percent
uint8_t idle_percent
Definition: gnss_messages_novatel.h:36
mrpt::obs::gnss::clock_offset
double clock_offset
Definition: gnss_messages_novatel.h:341
mrpt::obs::gnss::NV_OEM6_MARKTIME
Definition: gnss_messages_type_list.h:66



Page generated by Doxygen 1.8.16 for MRPT 1.4.0 SVN: at Mon Oct 14 23:08:25 UTC 2019