Main MRPT website > C++ reference for MRPT 1.5.6
gnss_messages_topcon.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-2017, 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"
13 
14 namespace mrpt {
15 namespace obs {
16 namespace gnss {
17 
18 /** GPS datum for TopCon's mmGPS devices: PZS. \sa mrpt::obs::CObservationGPS */
20 {
21  enum { msg_type = TOPCON_PZS }; //!< Static msg type (member expected by templates)
22 
23  double latitude_degrees; //!< The measured latitude, in degrees (North:+ , South:-)
24  double longitude_degrees; //!< The measured longitude, in degrees (East:+ , West:-)
25  double height_meters; //!< ellipsoidal height from N-beam [m] perhaps weighted with regular gps
26  double RTK_height_meters; //!< ellipsoidal height [m] without N-beam correction
27  float PSigma; //!< position SEP [m]
28  double angle_transmitter; //!< Vertical angle of N-beam
29  uint8_t nId; //!< ID of the transmitter [1-4], 0 if none.
30  uint8_t Fix; //!< 1: GPS, 2: mmGPS
31  uint8_t TXBattery; //!< battery level on transmitter
32  uint8_t RXBattery; //!< battery level on receiver
33  uint8_t error; //! system error indicator
34 
36  double cartesian_x,cartesian_y,cartesian_z; //!< Only if hasCartesianPosVel is true
37  double cartesian_vx,cartesian_vy,cartesian_vz; //!< Only if hasCartesianPosVel is true
38 
39  bool hasPosCov;
40  mrpt::math::CMatrixFloat44 pos_covariance; //!< Only if hasPosCov is true
41 
42  bool hasVelCov;
43  mrpt::math::CMatrixFloat44 vel_covariance; //!< Only if hasPosCov is true
44 
45  bool hasStats;
46  uint8_t stats_GPS_sats_used, stats_GLONASS_sats_used; //<! Only if hasStats is true
47  uint8_t stats_rtk_fix_progress; //!< [0,100] %, only in modes other than RTK FIXED.
48 
50  /** Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against mrpt-topography)
51  * Call as: getAsStruct<TGeodeticCoords>(); */
52  template <class TGEODETICCOORDS>
53  inline TGEODETICCOORDS getAsStruct() const {
54  return TGEODETICCOORDS(latitude_degrees,longitude_degrees,height_meters);
55  }
56  void dumpToStream( mrpt::utils::CStream &out ) const MRPT_OVERRIDE; // See docs in base
57 protected:
58  void internal_writeToStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE;
59  void internal_readFromStream(mrpt::utils::CStream &in) MRPT_OVERRIDE;
60 };
61 
62 /** TopCon mmGPS devices: SATS, a generic structure for statistics about tracked satelites and their positions. \sa mrpt::obs::CObservationGPS */
64 {
65  enum { msg_type = TOPCON_SATS }; //!< Static msg type (member expected by templates)
66 
68 
69  mrpt::vector_byte USIs; //!< The list of USI (Universal Sat ID) for the detected sats (See GRIL Manual, pag 4-31).
70  mrpt::vector_signed_byte ELs; //!< Elevation (in degrees, 0-90) for each satellite in USIs.
71  mrpt::vector_signed_word AZs; //!< Azimuth (in degrees, 0-360) for each satellite in USIs.
72 
73  void dumpToStream( mrpt::utils::CStream &out ) const MRPT_OVERRIDE; // See docs in base
74 protected:
75  void internal_writeToStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE;
76  void internal_readFromStream(mrpt::utils::CStream &in) MRPT_OVERRIDE;
77 };
78 
79 } } } // End of namespaces
80 
double angle_transmitter
Vertical angle of N-beam.
uint8_t stats_rtk_fix_progress
[0,100] %, only in modes other than RTK FIXED.
double cartesian_z
Only if hasCartesianPosVel is true.
double height_meters
ellipsoidal height from N-beam [m] perhaps weighted with regular gps
mrpt::vector_byte USIs
The list of USI (Universal Sat ID) for the detected sats (See GRIL Manual, pag 4-31).
TopCon mmGPS devices: SATS, a generic structure for statistics about tracked satelites and their posi...
mrpt::math::CMatrixFloat44 vel_covariance
Only if hasPosCov is true.
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
TGEODETICCOORDS getAsStruct() const
Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against...
double cartesian_vz
Only if hasCartesianPosVel is true.
GPS datum for TopCon&#39;s mmGPS devices: PZS.
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
uint8_t nId
ID of the transmitter [1-4], 0 if none.
bool hasCartesianPosVel
system error indicator
unsigned char uint8_t
Definition: rptypes.h:43
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
Definition: CStream.h:38
A numeric matrix of compile-time fixed size.
mrpt::math::CMatrixFloat44 pos_covariance
Only if hasPosCov is true.
uint8_t RXBattery
battery level on receiver
mrpt::vector_signed_byte ELs
Elevation (in degrees, 0-90) for each satellite in USIs.
mrpt::vector_signed_word AZs
Azimuth (in degrees, 0-360) for each satellite in USIs.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Pure virtual base for all message types.
GLuint in
Definition: glext.h:6301
std::vector< int8_t > vector_signed_byte
uint8_t TXBattery
battery level on transmitter
std::vector< uint8_t > vector_byte
double RTK_height_meters
ellipsoidal height [m] without N-beam correction
std::vector< int16_t > vector_signed_word
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)



Page generated by Doxygen 1.8.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019