gps_base
BaseTypes.hpp
Go to the documentation of this file.
1 #ifndef _GPS_BASE_BASETYPES_HPP_
2 #define _GPS_BASE_BASETYPES_HPP_
3 
4 #include <vector>
5 #include <base/Time.hpp>
6 
7 namespace gps_base
8 {
10  {
12  AUTONOMOUS_2D = 6, // is 6 for historical reasons
15  INVALID = 3,
16  RTK_FIXED = 4,
18  };
19 
20  struct Time {
21  base::Time cpu_time;
22  base::Time gps_time;
24  };
25 
26  struct Solution {
27  base::Time time;
28  double latitude;
29  double longitude;
32  double altitude;
35 
40  : positionType(INVALID) {}
41  };
42 
43  struct Position {
44  base::Time time;
45  double latitude;
46  double longitude;
49  double altitude;
53  : positionType(INVALID) {}
54  };
55 
56  struct Errors {
57  base::Time time;
61  };
62 
63  struct SolutionQuality {
64  base::Time time;
65  std::vector<int> usedSatellites;
66  double pdop;
67  double hdop;
68  double vdop;
69  };
70 
75  };
76  struct Satellite {
77  int PRN;
78  int elevation;
79  int azimuth;
80  double SNR;
81 
83  {
84  if (prn < 33)
85  return CONSTELLATION_GPS;
86  else if (prn < 65)
87  return CONSTELLATION_SBAS;
88  else
89  return CONSTELLATION_GLONASS;
90  }
91 
93  {
95  }
96  };
97 
98  struct SatelliteInfo {
99  base::Time time;
100  std::vector < gps_base::Satellite> knownSatellites;
101  };
102 
103  struct UserDynamics {
104  int hSpeed;
105  int hAccel;
106  int vSpeed;
107  int vAccel;
109  : hSpeed(0), hAccel(0), vSpeed(0), vAccel(0) {}
110  };
111 
115  };
116 }
117 
118 #endif // _GPS_BASE_BASETYPES_HPP_
int noOfSatellites
Definition: BaseTypes.hpp:48
Position()
Definition: BaseTypes.hpp:52
base::Time time
Definition: BaseTypes.hpp:57
double deviationLongitude
Definition: BaseTypes.hpp:59
int azimuth
Definition: BaseTypes.hpp:79
int elevation
Definition: BaseTypes.hpp:78
Definition: BaseTypes.hpp:63
GPS_SOLUTION_TYPES positionType
Definition: BaseTypes.hpp:30
std::vector< gps_base::Satellite > knownSatellites
Definition: BaseTypes.hpp:100
int noOfSatellites
Definition: BaseTypes.hpp:31
base::Time cpu_time
Definition: BaseTypes.hpp:21
double vdop
Definition: BaseTypes.hpp:68
double deviationLatitude
Definition: BaseTypes.hpp:58
double deviationLatitude
Definition: BaseTypes.hpp:36
double altitude
Definition: BaseTypes.hpp:32
static CONSTELLATIONS getConstellationFromPRN(int prn)
Definition: BaseTypes.hpp:82
int vAccel
Definition: BaseTypes.hpp:107
double longitude
Definition: BaseTypes.hpp:46
UserDynamics()
Definition: BaseTypes.hpp:108
double ageOfDifferentialCorrections
Definition: BaseTypes.hpp:51
double longitude
Definition: BaseTypes.hpp:29
double geoidalSeparation
Definition: BaseTypes.hpp:33
Definition: BaseTypes.hpp:98
Definition: BaseTypes.hpp:112
double deviationAltitude
Definition: BaseTypes.hpp:60
int hSpeed
Definition: BaseTypes.hpp:104
base::Time time
Definition: BaseTypes.hpp:64
Definition: BaseTypes.hpp:17
Definition: BaseTypes.hpp:76
double hdop
Definition: BaseTypes.hpp:67
Definition: BaseTypes.hpp:14
double deviationLongitude
Definition: BaseTypes.hpp:37
double processing_latency
Definition: BaseTypes.hpp:23
double SNR
Definition: BaseTypes.hpp:80
double ageOfDifferentialCorrections
Definition: BaseTypes.hpp:34
int PRN
Definition: BaseTypes.hpp:77
double latitude
Definition: BaseTypes.hpp:45
gps_base::SatelliteInfo satellites
Definition: BaseTypes.hpp:114
base::Time time
Definition: BaseTypes.hpp:27
GPS_SOLUTION_TYPES positionType
Definition: BaseTypes.hpp:47
base::Time gps_time
Definition: BaseTypes.hpp:22
CONSTELLATIONS
Definition: BaseTypes.hpp:71
Definition: BaseTypes.hpp:11
double latitude
Definition: BaseTypes.hpp:28
Definition: BaseTypes.hpp:20
Solution()
Definition: BaseTypes.hpp:39
Definition: BaseTypes.hpp:74
base::Time time
Definition: BaseTypes.hpp:99
GPS_SOLUTION_TYPES
Definition: BaseTypes.hpp:9
double geoidalSeparation
Definition: BaseTypes.hpp:50
Definition: BaseTypes.hpp:15
Definition: BaseTypes.hpp:103
int vSpeed
Definition: BaseTypes.hpp:106
std::vector< int > usedSatellites
Definition: BaseTypes.hpp:65
double altitude
Definition: BaseTypes.hpp:49
Definition: BaseTypes.hpp:26
Definition: BaseTypes.hpp:12
Definition: BaseTypes.hpp:56
double pdop
Definition: BaseTypes.hpp:66
Definition: BaseTypes.hpp:43
Definition: BaseTypes.hpp:16
double deviationAltitude
Definition: BaseTypes.hpp:38
int hAccel
Definition: BaseTypes.hpp:105
Definition: BaseTypes.hpp:72
Definition: BaseTypes.hpp:73
CONSTELLATIONS getConstellation() const
Definition: BaseTypes.hpp:92
Definition: BaseTypes.hpp:13
gps_base::SolutionQuality quality
Definition: BaseTypes.hpp:113
base::Time time
Definition: BaseTypes.hpp:44