Main MRPT website > C++ reference for MRPT 1.5.7
packetfixeddata.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 #ifndef PACKETFIXEDDATA_H
10 #define PACKETFIXEDDATA_H
11 
12 #include <xsens/xsscrdata.h>
13 #include <xsens/xsdeviceid.h>
14 
15 #ifndef NOT_FOR_PUBLIC_RELEASE
16 struct XsControl; // required by DLL for supporting advanced features
17 #endif
18 
19 struct XsDataFormat;
20 
21 //! Indicates that a data item is not available in the packet
22 #define XS_DATA_ITEM_NOT_AVAILABLE 65535
23 
24 /*! \brief Contains offset information about data in the packet
25  \details All items are initialized to \a XS_DATA_ITEM_NOT_AVAILABLE and set to their proper
26  value by LegacyDataPacket::updateInfoList and/or the LegacyDataPacket update functions.
27 */
28 struct PacketInfo {
29  uint16_t m_offset; //!< Offset of first data byte (whatever it is)
30  uint16_t m_rawData; //!< Offset of raw data
31  uint16_t m_rawAcc; //!< Offset of raw acceleration data
32  uint16_t m_rawGyr; //!< Offset of raw gyroscope data
33  uint16_t m_rawMag; //!< Offset of raw magnetometer data
34  uint16_t m_rawTemp[XS_MAX_TEMPERATURE_CHANNELS]; //!< Offset of raw temperature data. Note that usually only the first item is used.
35  uint16_t m_temp[XS_MAX_TEMPERATURE_CHANNELS]; //!< Offset of calibrated temperature data. Note that usually only the first item is used.
36  uint16_t m_calData; //!< Offset of calibrated data
37  uint16_t m_calAcc; //!< Offset of calibrated acceleration data
38  uint16_t m_calGyr; //!< Offset of calibrated gyroscope data
39  uint16_t m_calMag; //!< Offset of calibrated magnetometer data
40  uint16_t m_oriQuat; //!< Offset of orientation in quaternion format
41  uint16_t m_oriEul; //!< Offset of orientation in euler format
42  uint16_t m_oriMat; //!< Offset of orientation in matrix format
43  uint16_t m_analogIn1; //!< Offset of analog in channel 1 data
44  uint16_t m_analogIn2; //!< Offset of analog in channel 2 data
45  uint16_t m_posLLA; //!< Offset of Latitude-Longitude-Altitude position data
46  uint16_t m_velNEDorNWU; //!< Offset of velocity data
47  uint16_t m_status; //!< Offset of status data
48  uint16_t m_detailedStatus; //!< Offset of detailed status data
49  uint16_t m_sc; //!< Offset of sample counter
50  uint16_t m_utcTime; //!< Offset of UTC time data
51  uint16_t m_utcNano; //!< Offset of nanosecond part of UTC time
52  uint16_t m_utcYear; //!< Offset of year part of UTC time
53  uint16_t m_utcMonth; //!< Offset of month part of UTC time
54  uint16_t m_utcDay; //!< Offset of day part of UTC time
55  uint16_t m_utcHour; //!< Offset of hour part of UTC time
56  uint16_t m_utcMinute; //!< Offset of minute part of UTC time
57  uint16_t m_utcSecond; //!< Offset of second part of UTC time
58  uint16_t m_utcValid; //!< Offset of validity part of UTC time
59  uint16_t m_acc_g; //!< Offset of acceleration in global frame
60  uint16_t m_gpsPvtData; //!< Offset of GPS & pressure data
61  uint16_t m_gpsPvtPressure; //!< Offset of pressure data
62  uint16_t m_gpsPvtPressureAge; //!< Offset of pressure age
63  uint16_t m_gpsPvtGpsData; //!< Offset of raw GPS data
64  uint16_t m_gpsPvtItow; //!< Offset of raw GPS ITOW (Integer Time Of Week) data
65  uint16_t m_gpsPvtLatitude; //!< Offset of raw GPS latitude data
66  uint16_t m_gpsPvtLongitude; //!< Offset of raw GPS longitude data
67  uint16_t m_gpsPvtHeight; //!< Offset of raw GPS height data
68  uint16_t m_gpsPvtVeln; //!< Offset of raw GPS northward velocity data
69  uint16_t m_gpsPvtVele; //!< Offset of raw GPS eastward velocity data
70  uint16_t m_gpsPvtVeld; //!< Offset of raw GPS dowanward velocity data
71  uint16_t m_gpsPvtHacc; //!< Offset of raw GPS horizontal accuracy estimate data
72  uint16_t m_gpsPvtVacc; //!< Offset of raw GPS vertical accuracy estimate data
73  uint16_t m_gpsPvtSacc; //!< Offset of raw GPS speed accuracy estimate data
74  uint16_t m_gpsPvtGpsAge; //!< Offset of raw GPS age
75  uint16_t m_mtwSdiData; //!< Offset of MTw SDI data
76  uint16_t m_wClientId; //!< Offset of MTw SDI client ID data
77  uint16_t m_wTimeSync; //!< Offset of MTw SDI time sync data
78  uint16_t m_wFirstFrameNumber; //!< Offset of MTw SDI first frame number in interval data
79  uint16_t m_wLastFrameNumber; //!< Offset of MTw SDI last frame number in interval data
80  uint16_t m_wCurrentBias; //!< Offset of MTw SDI gyroscope bias data
81  uint16_t m_wOrientationIncrement; //!< Offset of MTw SDI orientation increment data
82  uint16_t m_wVelocityIncrement; //!< Offset of MTw SDI velocity increment data
83  uint16_t m_wAidingData; //!< Offset of MTw SDI aiding data
84  uint16_t m_wBaroMeter; //!< Offset of MTw SDI barometer data
85  uint16_t m_wMagnetoMeter; //!< Offset of MTw SDI magnetometer data
86  uint16_t m_wRssi; //!< Offset of MTw SDI RSSI data
87  uint16_t m_size; //!< Total size of the data
88  uint16_t m_doubleBoundary; //!< Boundary where the original data format is ignored and values are stored in double precision
89 
90  /*! \brief Default contructor, sets all values to XS_DATA_ITEM_NOT_AVAILABLE
91  */
92  PacketInfo() { memset(this, 0xFF, sizeof(*this)); }
93 };
94 
95 //! A structure containing fixed packet data, which should not change during a measurement for the same device
97 {
100  PacketFixedData(const PacketFixedData& pack);
102 
103  void operator = (const PacketFixedData& data);
104 
105  PacketInfo* m_infoList; //!< Contains information about data in the packet and the format of that data
106  XsDataFormat* m_formatList; //!< A list of the formats of the data items
107  XsDeviceId* m_idList; //!< A list of the device-ids in this packet
108  bool m_xm; //!< Indicates that xbus-formatting is used
109  uint16_t m_itemCount; //!< The number of data items in the message
110 };
111 
112 #endif // file guard
uint16_t m_rawData
Offset of raw data.
uint16_t m_offset
Offset of first data byte (whatever it is)
GLuint GLuint GLsizei count
Definition: glext.h:3512
XsDataFormat * m_formatList
A list of the formats of the data items.
uint16_t m_gpsPvtLatitude
Offset of raw GPS latitude data.
uint16_t m_gpsPvtGpsData
Offset of raw GPS data.
unsigned __int16 uint16_t
Definition: rptypes.h:46
#define XS_MAX_TEMPERATURE_CHANNELS
Definition: xsscrdata.h:20
uint16_t m_wClientId
Offset of MTw SDI client ID data.
uint16_t m_gpsPvtVeld
Offset of raw GPS dowanward velocity data.
uint16_t m_utcMonth
Offset of month part of UTC time.
uint16_t m_gpsPvtLongitude
Offset of raw GPS longitude data.
uint16_t m_wAidingData
Offset of MTw SDI aiding data.
uint16_t m_wTimeSync
Offset of MTw SDI time sync data.
uint16_t m_rawAcc
Offset of raw acceleration data.
uint16_t m_wFirstFrameNumber
Offset of MTw SDI first frame number in interval data.
uint16_t m_velNEDorNWU
Offset of velocity data.
uint16_t m_gpsPvtPressure
Offset of pressure data.
uint16_t m_gpsPvtHeight
Offset of raw GPS height data.
uint16_t m_utcTime
Offset of UTC time data.
uint16_t m_gpsPvtVacc
Offset of raw GPS vertical accuracy estimate data.
uint16_t m_rawTemp[XS_MAX_TEMPERATURE_CHANNELS]
Offset of raw temperature data. Note that usually only the first item is used.
uint16_t m_calMag
Offset of calibrated magnetometer data.
uint16_t m_calAcc
Offset of calibrated acceleration data.
uint16_t m_utcValid
Offset of validity part of UTC time.
uint16_t m_oriQuat
Offset of orientation in quaternion format.
uint16_t m_mtwSdiData
Offset of MTw SDI data.
PacketInfo()
Default contructor, sets all values to XS_DATA_ITEM_NOT_AVAILABLE.
uint16_t m_status
Offset of status data.
uint16_t m_utcSecond
Offset of second part of UTC time.
uint16_t m_gpsPvtPressureAge
Offset of pressure age.
uint16_t m_oriEul
Offset of orientation in euler format.
uint16_t m_rawGyr
Offset of raw gyroscope data.
uint16_t m_wCurrentBias
Offset of MTw SDI gyroscope bias data.
uint16_t m_itemCount
The number of data items in the message.
uint16_t m_gpsPvtItow
Offset of raw GPS ITOW (Integer Time Of Week) data.
uint16_t m_doubleBoundary
Boundary where the original data format is ignored and values are stored in double precision...
uint16_t m_gpsPvtGpsAge
Offset of raw GPS age.
uint16_t m_gpsPvtData
Offset of GPS & pressure data.
uint16_t m_calGyr
Offset of calibrated gyroscope data.
PacketFixedData()
Default constructor, creates an empty (invalid) object.
uint16_t m_utcHour
Offset of hour part of UTC time.
Contains offset information about data in the packet.
uint16_t m_analogIn1
Offset of analog in channel 1 data.
uint16_t m_wVelocityIncrement
Offset of MTw SDI velocity increment data.
uint16_t m_oriMat
Offset of orientation in matrix format.
uint16_t m_gpsPvtSacc
Offset of raw GPS speed accuracy estimate data.
PacketInfo * m_infoList
Contains information about data in the packet and the format of that data.
uint16_t m_wRssi
Offset of MTw SDI RSSI data.
uint16_t m_rawMag
Offset of raw magnetometer data.
uint16_t m_acc_g
Offset of acceleration in global frame.
uint16_t m_temp[XS_MAX_TEMPERATURE_CHANNELS]
Offset of calibrated temperature data. Note that usually only the first item is used.
uint16_t m_utcNano
Offset of nanosecond part of UTC time.
uint16_t m_wLastFrameNumber
Offset of MTw SDI last frame number in interval data.
~PacketFixedData()
Destructor.
uint16_t m_utcYear
Offset of year part of UTC time.
A structure for storing data formats.
Definition: xsdataformat.h:17
uint16_t m_gpsPvtVele
Offset of raw GPS eastward velocity data.
uint16_t m_wBaroMeter
Offset of MTw SDI barometer data.
uint16_t m_detailedStatus
Offset of detailed status data.
uint16_t m_size
Total size of the data.
A structure containing fixed packet data, which should not change during a measurement for the same d...
uint16_t m_gpsPvtVeln
Offset of raw GPS northward velocity data.
uint16_t m_gpsPvtHacc
Offset of raw GPS horizontal accuracy estimate data.
uint16_t m_analogIn2
Offset of analog in channel 2 data.
uint16_t m_utcMinute
Offset of minute part of UTC time.
uint16_t m_calData
Offset of calibrated data.
uint16_t m_wOrientationIncrement
Offset of MTw SDI orientation increment data.
uint16_t m_wMagnetoMeter
Offset of MTw SDI magnetometer data.
uint16_t m_posLLA
Offset of Latitude-Longitude-Altitude position data.
void operator=(const PacketFixedData &data)
Assignment operator, copies contents from data.
uint16_t m_sc
Offset of sample counter.
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: glext.h:3520
bool m_xm
Indicates that xbus-formatting is used.
uint16_t m_utcDay
Offset of day part of UTC time.
XsDeviceId * m_idList
A list of the device-ids in this packet.



Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019