xsrawgnsspvtdata.h
Go to the documentation of this file.
1 
2 // Copyright (c) 2003-2021 Xsens Technologies B.V. or subsidiaries worldwide.
3 // All rights reserved.
4 //
5 // Redistribution and use in source and binary forms, with or without modification,
6 // are permitted provided that the following conditions are met:
7 //
8 // 1. Redistributions of source code must retain the above copyright notice,
9 // this list of conditions, and the following disclaimer.
10 //
11 // 2. Redistributions in binary form must reproduce the above copyright notice,
12 // this list of conditions, and the following disclaimer in the documentation
13 // and/or other materials provided with the distribution.
14 //
15 // 3. Neither the names of the copyright holders nor the names of their contributors
16 // may be used to endorse or promote products derived from this software without
17 // specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
20 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
22 // THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 // SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
24 // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR
26 // TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.THE LAWS OF THE NETHERLANDS
28 // SHALL BE EXCLUSIVELY APPLICABLE AND ANY DISPUTES SHALL BE FINALLY SETTLED UNDER THE RULES
29 // OF ARBITRATION OF THE INTERNATIONAL CHAMBER OF COMMERCE IN THE HAGUE BY ONE OR MORE
30 // ARBITRATORS APPOINTED IN ACCORDANCE WITH SAID RULES.
31 //
32 
33 
34 // Copyright (c) 2003-2021 Xsens Technologies B.V. or subsidiaries worldwide.
35 // All rights reserved.
36 //
37 // Redistribution and use in source and binary forms, with or without modification,
38 // are permitted provided that the following conditions are met:
39 //
40 // 1. Redistributions of source code must retain the above copyright notice,
41 // this list of conditions, and the following disclaimer.
42 //
43 // 2. Redistributions in binary form must reproduce the above copyright notice,
44 // this list of conditions, and the following disclaimer in the documentation
45 // and/or other materials provided with the distribution.
46 //
47 // 3. Neither the names of the copyright holders nor the names of their contributors
48 // may be used to endorse or promote products derived from this software without
49 // specific prior written permission.
50 //
51 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
52 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
53 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
54 // THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
55 // SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
56 // OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
57 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR
58 // TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
59 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.THE LAWS OF THE NETHERLANDS
60 // SHALL BE EXCLUSIVELY APPLICABLE AND ANY DISPUTES SHALL BE FINALLY SETTLED UNDER THE RULES
61 // OF ARBITRATION OF THE INTERNATIONAL CHAMBER OF COMMERCE IN THE HAGUE BY ONE OR MORE
62 // ARBITRATORS APPOINTED IN ACCORDANCE WITH SAID RULES.
63 //
64 
65 #ifndef XSRAWGNSSPVTDATA_H
66 #define XSRAWGNSSPVTDATA_H
67 
68 #include "pstdint.h"
69 
70 #ifdef _MSC_VER
71  #pragma pack(push, 1)
72 #elif defined (__ICCARM__)
73  _Pragma("pack(push, 1)")
74 #endif
75 
76 #define XSRAWGNSSPVTDATA_INITIALIZER { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
77 #ifdef __cplusplus
78  #include <cstring>
79 #endif
80 
81 // The valid flag from the PVT package has the following fields, x is the valid flag:
82 #define GNSS_PVT_VALID_DATE(x) (0x01 & x) // UTC date is valid
83 #define GNSS_PVT_VALID_TIME(x) (0x02 & x) // UTC time of day is valid
84 #define GNSS_PVT_VALID_RESOLVE(x) (0x04 & x) // UTC time of day has been fully resolved
85 
86 // The flag from the PVT package has the following fields, x is the valid flag:
87 #define GNSS_PVT_FLAGS_GNSS_FIX(x) ((0x03 << 0) & x)
88 #define GNSS_PVT_FLAGS_POWER_SAVE_MODE_STATE(x) ((0x07 << 2) & x)
89 #define GNSS_PVT_FLAGS_HEADING_VEHICLE_VALID(x) ((0x01 << 5) & x)
90 #define GNSS_PVT_FLAGS_CARRIER_SOLUTION(x) ((0x03 << 6) & x)
91 
92 #define GNSS_PVT_FLAGS_GNSS_FIX_NONE (0x00)
93 #define GNSS_PVT_FLAGS_GNSS_FIX_SINGLE (0x01)
94 #define GNSS_PVT_FLAGS_GNSS_FIX_DIFFERENTIAL (0x03)
95 
96 #define GNSS_PVT_FLAGS_CARRIER_SOLUTION_NONE (0x00 << 6)
97 #define GNSS_PVT_FLAGS_CARRIER_SOLUTION_FLOATING (0x01 << 6)
98 #define GNSS_PVT_FLAGS_CARRIER_SOLUTION_FIXED (0x02 << 6)
99 
100 // Default accuracy deviation when not provided by GNSS receiver
101 #define GNSS_ACCURACY_DEFAULT_DEVIATION (10000000)
102 
111 {
116 };
117 
122 {
129 };
135 {
137  uint16_t m_year;
138  uint8_t m_month;
139  uint8_t m_day;
140  uint8_t m_hour;
141  uint8_t m_min;
142  uint8_t m_sec;
143  uint8_t m_valid;
150  uint8_t m_fixType;
159  uint8_t m_flags;
167  uint8_t m_numSv;
168  uint8_t m_res1;
173 
176 
182 
186 
187  uint16_t m_gdop;
188  uint16_t m_pdop;
189  uint16_t m_tdop;
190  uint16_t m_vdop;
191  uint16_t m_hdop;
192  uint16_t m_ndop;
193  uint16_t m_edop;
194 
195 #ifdef __cplusplus
196 
197  inline bool operator == (const XsRawGnssPvtData& other) const
198  {
199  // direct memory comparison is allowed because all fields line up properly
200  return std::memcmp(this, &other, sizeof(XsRawGnssPvtData)) == 0;
201  }
202 #endif
203 
204 };
206 
207 #ifdef _MSC_VER
208  #pragma pack(pop)
209 #elif defined (__ICCARM__)
210  _Pragma("pack(pop)")
211 #endif
212 
213 #endif
XsRawGnssPvtData::m_velE
int32_t m_velE
NED east velocity (mm/s)
Definition: xsrawgnsspvtdata.h:178
XsRawGnssPvtData::m_gSpeed
int32_t m_gSpeed
2D Ground Speed (mm/s)
Definition: xsrawgnsspvtdata.h:180
XsRawGnssPvtData::m_tAcc
uint32_t m_tAcc
Time accuracy estimate (ns) (UTC)
Definition: xsrawgnsspvtdata.h:148
XsRawGnssPvtData::m_hdop
uint16_t m_hdop
Horizontal DOP (scaling 0.01)
Definition: xsrawgnsspvtdata.h:191
XsRawGnssPvtData::m_headMot
int32_t m_headMot
2D Heading of motion (deg) (scaling 1e-5)
Definition: xsrawgnsspvtdata.h:181
XsRawGnssPvtData::m_sec
uint8_t m_sec
Seconds of minute 0..60 (UTC)
Definition: xsrawgnsspvtdata.h:142
XsRawGnssPvtData::m_min
uint8_t m_min
Minute of hour 0..59 (UTC)
Definition: xsrawgnsspvtdata.h:141
XsRawGnssPvtData::m_lat
int32_t m_lat
Latitude (deg) (scaling 1e-7)
Definition: xsrawgnsspvtdata.h:170
XPDQI_DeadReckiningOnly
@ XPDQI_DeadReckiningOnly
Definition: xsrawgnsspvtdata.h:124
XsRawGnssPvtData
A container for GNSS Position Velocity and Time data.
Definition: xsrawgnsspvtdata.h:134
XsRawGnssPvtData::m_fixType
uint8_t m_fixType
Definition: xsrawgnsspvtdata.h:150
XsPvtDataQualityIndicator
XsPvtDataQualityIndicator
Defines the quality indicator flags of the GNSS Fix type.
Definition: xsrawgnsspvtdata.h:121
XsRawGnssPvtData::m_gdop
uint16_t m_gdop
Geometric DOP (scaling 0.01)
Definition: xsrawgnsspvtdata.h:187
XsRawGnssPvtData::m_pdop
uint16_t m_pdop
Position DOP (scaling 0.01)
Definition: xsrawgnsspvtdata.h:188
XsRawGnssPvtData::m_velD
int32_t m_velD
NED down velocity (mm/s)
Definition: xsrawgnsspvtdata.h:179
XsRawGnssPvtData::m_vdop
uint16_t m_vdop
Vertical DOP (scaling 0.01)
Definition: xsrawgnsspvtdata.h:190
XsPvtDataUtcFlags
XsPvtDataUtcFlags
Define the validity flags for the UTC time.
Definition: xsrawgnsspvtdata.h:110
XPDQI_2DFix
@ XPDQI_2DFix
Definition: xsrawgnsspvtdata.h:125
operator==
bool operator==(const XsFilterProfile &lhs, const XsFilterProfile &rhs)
Returns true if lhs has the same type as rhs.
Definition: scenariomatchpred.h:81
XPDUF_FullyResolved
@ XPDUF_FullyResolved
Definition: xsrawgnsspvtdata.h:114
XsRawGnssPvtData::m_headAcc
uint32_t m_headAcc
Heading accuracy estimate (both motion and vehicle) (deg) (scaling 1-e5)
Definition: xsrawgnsspvtdata.h:184
uint32_t
unsigned int uint32_t
Definition: pstdint.h:485
XsRawGnssPvtData::m_hMsl
int32_t m_hMsl
Height above mean sea level (mm)
Definition: xsrawgnsspvtdata.h:172
XsRawGnssPvtData::m_valid
uint8_t m_valid
Definition: xsrawgnsspvtdata.h:143
XsRawGnssPvtData::m_year
uint16_t m_year
Year (UTC)
Definition: xsrawgnsspvtdata.h:137
XsRawGnssPvtData::m_itow
uint32_t m_itow
GNSS time of week (ms)
Definition: xsrawgnsspvtdata.h:136
XsRawGnssPvtData::m_numSv
uint8_t m_numSv
Number of satellites used in Nav Solution.
Definition: xsrawgnsspvtdata.h:167
XsRawGnssPvtData::m_res1
uint8_t m_res1
Reserved for future use (1)
Definition: xsrawgnsspvtdata.h:168
pstdint.h
XsRawGnssPvtData::m_vAcc
uint32_t m_vAcc
Vertical accuracy estimate (mm)
Definition: xsrawgnsspvtdata.h:175
XsRawGnssPvtData::m_edop
uint16_t m_edop
Easting DOP (scaling 0.01)
Definition: xsrawgnsspvtdata.h:193
XPDQI_GnssAndDeadReck
@ XPDQI_GnssAndDeadReck
Definition: xsrawgnsspvtdata.h:127
XsRawGnssPvtData::m_flags
uint8_t m_flags
Definition: xsrawgnsspvtdata.h:159
XsRawGnssPvtData::m_headVeh
int32_t m_headVeh
2D Heading of vehicle (deg) (scaling 1e-5)
Definition: xsrawgnsspvtdata.h:185
XsRawGnssPvtData::m_hour
uint8_t m_hour
Hour of day 0..23 (UTC)
Definition: xsrawgnsspvtdata.h:140
XPDQI_NoFix
@ XPDQI_NoFix
Definition: xsrawgnsspvtdata.h:123
XsRawGnssPvtData::m_lon
int32_t m_lon
Longitude (deg) (scaling 1e-7)
Definition: xsrawgnsspvtdata.h:169
XsRawGnssPvtData::m_day
uint8_t m_day
Day of Month (UTC)
Definition: xsrawgnsspvtdata.h:139
XsRawGnssPvtData::m_tdop
uint16_t m_tdop
Time DOP (scaling 0.01)
Definition: xsrawgnsspvtdata.h:189
XsRawGnssPvtData::m_height
int32_t m_height
Height above ellipsoid (mm)
Definition: xsrawgnsspvtdata.h:171
XsRawGnssPvtData::m_sAcc
uint32_t m_sAcc
Speed accuracy estimate (mm/s)
Definition: xsrawgnsspvtdata.h:183
int32_t
signed int int32_t
Definition: pstdint.h:515
XsRawGnssPvtData::m_velN
int32_t m_velN
NED north velocity (mm/s)
Definition: xsrawgnsspvtdata.h:177
XPDQI_TimeOnlyFix
@ XPDQI_TimeOnlyFix
Definition: xsrawgnsspvtdata.h:128
XPDUF_ValidMag
@ XPDUF_ValidMag
Definition: xsrawgnsspvtdata.h:115
XsRawGnssPvtData::m_hAcc
uint32_t m_hAcc
Horizontal accuracy estimate (mm)
Definition: xsrawgnsspvtdata.h:174
XsRawGnssPvtData::m_month
uint8_t m_month
Month (UTC)
Definition: xsrawgnsspvtdata.h:138
XsRawGnssPvtData::m_nano
int32_t m_nano
Fraction of second (ns) -1e9..1e9 (UTC)
Definition: xsrawgnsspvtdata.h:149
XPDQI_3DFix
@ XPDQI_3DFix
Definition: xsrawgnsspvtdata.h:126
XsRawGnssPvtData::m_ndop
uint16_t m_ndop
Northing DOP (scaling 0.01)
Definition: xsrawgnsspvtdata.h:192
XPDUF_ValidDate
@ XPDUF_ValidDate
Definition: xsrawgnsspvtdata.h:112
XPDUF_ValidTime
@ XPDUF_ValidTime
Definition: xsrawgnsspvtdata.h:113


xsens_mti_driver
Author(s):
autogenerated on Sun Sep 3 2023 02:43:20