MRPT
1.9.9
xsdataidentifier.h
Go to the documentation of this file.
1
/* +------------------------------------------------------------------------+
2
| Mobile Robot Programming Toolkit (MRPT) |
3
| https://www.mrpt.org/ |
4
| |
5
| Copyright (c) 2005-2019, Individual contributors, see AUTHORS file |
6
| See: https://www.mrpt.org/Authors - All rights reserved. |
7
| Released under BSD License. See: https://www.mrpt.org/License |
8
+------------------------------------------------------------------------+ */
9
#ifndef XSDATAIDENTIFIER_H
10
#define XSDATAIDENTIFIER_H
11
12
//////////////////////////////////////////////////////////////////////////////////////////
13
/*! \addtogroup enums Global enumerations
14
@{
15
*/
16
17
/*! \enum XsDataIdentifier
18
\brief Defines the data identifiers
19
20
\internal
21
IMPORTANT! How to add new TYPE values:
22
Use the bit reverse of 1, 2, 3 .. etc..
23
This way we have the possibility to play with the border between TYPE and
24
FORMAT at a later stage
25
so\n
26
0 = 0b000000..00 = 0x0000\n
27
1 = 0b100000..00 = 0x8000\n
28
2 = 0b010000..00 = 0x4000\n
29
3 = 0b110000..00 = 0xC000\n
30
4 = 0b001000..00 = 0x2000\n
31
etc\n
32
8 = 0b000100..00 = 0x1000
33
34
So the TYPE grows from left to right
35
the FORMAT grows from right to left
36
37
Data that is output in float, fixedpoint or double (etc...) a sub format
38
range is used (currently the lowest 4 bits).
39
*/
40
enum
XsDataIdentifier
41
{
42
XDI_None
= 0x0000,
43
XDI_TypeMask
= 0xFE00,
44
XDI_FullTypeMask
= 0xFFF0,
45
XDI_FullMask
= 0xFFFF,
46
XDI_FormatMask
= 0x01FF,
47
XDI_DataFormatMask
= 0x000F,
48
49
XDI_SubFormatMask
= 0x0003,
// determines, float, fp12.20, fp16.32, double
50
// output... (where applicable)
51
XDI_SubFormatFloat
= 0x0000,
52
XDI_SubFormatFp1220
= 0x0001,
53
XDI_SubFormatFp1632
= 0x0002,
54
XDI_SubFormatDouble
= 0x0003,
55
56
XDI_TemperatureGroup
= 0x0800,
57
XDI_Temperature
= 0x0810,
58
59
XDI_TimestampGroup
= 0x1000,
60
XDI_UtcTime
= 0x1010,
61
XDI_PacketCounter
= 0x1020,
62
XDI_Itow
= 0x1030,
63
XDI_GpsAge
= 0x1040,
64
XDI_PressureAge
= 0x1050,
65
XDI_SampleTimeFine
= 0x1060,
66
XDI_SampleTimeCoarse
= 0x1070,
67
XDI_FrameRange
= 0x1080,
// add for MTw (if needed)
68
XDI_PacketCounter8
= 0x1090,
69
XDI_SampleTime64
= 0x10A0,
70
71
XDI_OrientationGroup
= 0x2000,
72
XDI_CoordSysMask
= 0x000C,
73
XDI_CoordSysEnu
= 0x0000,
74
XDI_CoordSysNed
= 0x0004,
75
XDI_CoordSysNwu
= 0x0008,
76
XDI_Quaternion
= 0x2010,
77
XDI_RotationMatrix
= 0x2020,
78
XDI_EulerAngles
= 0x2030,
79
80
XDI_PressureGroup
= 0x3000,
81
XDI_BaroPressure
= 0x3010,
82
83
XDI_AccelerationGroup
= 0x4000,
84
XDI_DeltaV
= 0x4010,
85
XDI_Acceleration
= 0x4020,
86
XDI_FreeAcceleration
= 0x4030,
87
#ifdef NOT_FOR_PUBLIC_RELEASE
88
// XDI_TransposedAcceleration = 0x4040,
89
#endif // NOT_FOR_PUBLIC_RELEASE
90
91
XDI_PositionGroup
= 0x5000,
92
XDI_AltitudeMsl
= 0x5010,
93
XDI_AltitudeEllipsoid
= 0x5020,
94
XDI_PositionEcef
= 0x5030,
95
XDI_LatLon
= 0x5040,
96
97
XDI_AngularVelocityGroup
= 0x8000,
98
XDI_RateOfTurn
= 0x8020,
99
XDI_DeltaQ
= 0x8030,
100
101
XDI_GpsGroup
= 0x8800,
102
XDI_GpsDop
= 0x8830,
103
XDI_GpsSol
= 0x8840,
104
XDI_GpsTimeUtc
= 0x8880,
105
XDI_GpsSvInfo
= 0x88A0,
106
107
XDI_RawSensorGroup
= 0xA000,
108
XDI_RawAccGyrMagTemp
= 0xA010,
109
XDI_RawGyroTemp
= 0xA020,
110
XDI_RawAcc
= 0xA030,
111
XDI_RawGyr
= 0xA040,
112
XDI_RawMag
= 0xA050,
113
114
XDI_AnalogInGroup
= 0xB000,
115
XDI_AnalogIn1
= 0xB010,
116
XDI_AnalogIn2
= 0xB020,
117
118
XDI_MagneticGroup
= 0xC000,
119
XDI_MagneticField
= 0xC020,
120
121
XDI_VelocityGroup
= 0xD000,
122
XDI_VelocityXYZ
= 0xD010,
123
124
XDI_StatusGroup
= 0xE000,
125
XDI_StatusByte
= 0xE010,
126
XDI_StatusWord
= 0xE020,
127
XDI_Rssi
= 0xE040,
128
129
XDI_IndicationGroup
=
130
0x4800,
// 0100.1000 -> bit reverse = 0001.0010 -> type 18
131
XDI_TriggerIn1
= 0x4810,
132
XDI_TriggerIn2
= 0x4820,
133
134
#ifdef NOT_FOR_PUBLIC_RELEASE
135
/*
136
XDI_Accuracy = 0xF000,
137
XDI_GpsHAcc = 0xF010,
138
XDI_GpsVAcc = 0xF020,
139
XDI_GpsSAcc = 0xF030,
140
*/
141
#endif // NOT_FOR_PUBLIC_RELEASE
142
};
143
/*! @} */
144
145
typedef
enum
XsDataIdentifier
XsDataIdentifier
;
146
147
#define XDI_MAX_FREQUENCY ((uint16_t)0xFFFF)
148
149
#ifdef __cplusplus
150
inline
XsDataIdentifier
operator|(
XsDataIdentifier
a
,
XsDataIdentifier
b
)
151
{
152
return
(
XsDataIdentifier
)((int)
a
| (
int
)
b
);
153
}
154
155
inline
XsDataIdentifier
operator&(
XsDataIdentifier
a
,
XsDataIdentifier
b
)
156
{
157
return
(
XsDataIdentifier
)((int)
a
& (
int
)
b
);
158
}
159
160
inline
XsDataIdentifier
operator~(
XsDataIdentifier
a
)
161
{
162
return
(
XsDataIdentifier
) ~((
unsigned
short)
a
);
163
}
164
#endif
165
166
#endif // file guard
XDI_TemperatureGroup
Definition:
xsdataidentifier.h:56
XDI_GpsGroup
Definition:
xsdataidentifier.h:101
XDI_UtcTime
Definition:
xsdataidentifier.h:60
XDI_AltitudeEllipsoid
Definition:
xsdataidentifier.h:93
XDI_Acceleration
Definition:
xsdataidentifier.h:85
XDI_Rssi
Definition:
xsdataidentifier.h:127
XDI_SubFormatDouble
Definition:
xsdataidentifier.h:54
XDI_StatusGroup
Definition:
xsdataidentifier.h:124
XDI_SubFormatMask
Definition:
xsdataidentifier.h:49
XDI_Temperature
Definition:
xsdataidentifier.h:57
XDI_StatusWord
Definition:
xsdataidentifier.h:126
XDI_SubFormatFp1220
Definition:
xsdataidentifier.h:52
XDI_TypeMask
Definition:
xsdataidentifier.h:43
XDI_TriggerIn2
Definition:
xsdataidentifier.h:132
XDI_FullMask
Definition:
xsdataidentifier.h:45
XDI_MagneticField
Definition:
xsdataidentifier.h:119
XDI_GpsTimeUtc
Definition:
xsdataidentifier.h:104
XDI_MagneticGroup
Definition:
xsdataidentifier.h:118
XDI_SubFormatFloat
Definition:
xsdataidentifier.h:51
XDI_IndicationGroup
Definition:
xsdataidentifier.h:129
XDI_AccelerationGroup
Definition:
xsdataidentifier.h:83
XDI_PressureGroup
Definition:
xsdataidentifier.h:80
XsDataIdentifier
XsDataIdentifier
Defines the data identifiers.
Definition:
xsdataidentifier.h:40
XDI_SampleTimeCoarse
Definition:
xsdataidentifier.h:66
XDI_RawGyr
Definition:
xsdataidentifier.h:111
XDI_GpsSol
Definition:
xsdataidentifier.h:103
XDI_DataFormatMask
Definition:
xsdataidentifier.h:47
XDI_AnalogIn2
Definition:
xsdataidentifier.h:116
XDI_VelocityGroup
Definition:
xsdataidentifier.h:121
XDI_TimestampGroup
Definition:
xsdataidentifier.h:59
XDI_RawAccGyrMagTemp
Definition:
xsdataidentifier.h:108
XDI_SampleTimeFine
Definition:
xsdataidentifier.h:65
XDI_CoordSysMask
Definition:
xsdataidentifier.h:72
XDI_CoordSysEnu
Definition:
xsdataidentifier.h:73
XDI_PositionEcef
Definition:
xsdataidentifier.h:94
XDI_DeltaQ
Definition:
xsdataidentifier.h:99
XDI_Itow
Definition:
xsdataidentifier.h:62
XDI_RotationMatrix
Definition:
xsdataidentifier.h:77
XDI_FreeAcceleration
Definition:
xsdataidentifier.h:86
XDI_EulerAngles
Definition:
xsdataidentifier.h:78
b
GLubyte GLubyte b
Definition:
glext.h:6372
XDI_CoordSysNed
Definition:
xsdataidentifier.h:74
XDI_PressureAge
Definition:
xsdataidentifier.h:64
XDI_FullTypeMask
Definition:
xsdataidentifier.h:44
XDI_SampleTime64
Definition:
xsdataidentifier.h:69
XDI_TriggerIn1
Definition:
xsdataidentifier.h:131
XDI_RawGyroTemp
Definition:
xsdataidentifier.h:109
XDI_PositionGroup
Definition:
xsdataidentifier.h:91
XDI_AltitudeMsl
Definition:
xsdataidentifier.h:92
XDI_SubFormatFp1632
Definition:
xsdataidentifier.h:53
XDI_RateOfTurn
Definition:
xsdataidentifier.h:98
XDI_RawAcc
Definition:
xsdataidentifier.h:110
XDI_AnalogInGroup
Definition:
xsdataidentifier.h:114
XDI_None
Definition:
xsdataidentifier.h:42
XDI_OrientationGroup
Definition:
xsdataidentifier.h:71
XDI_FormatMask
Definition:
xsdataidentifier.h:46
XDI_VelocityXYZ
Definition:
xsdataidentifier.h:122
XDI_PacketCounter
Definition:
xsdataidentifier.h:61
XDI_CoordSysNwu
Definition:
xsdataidentifier.h:75
XDI_GpsDop
Definition:
xsdataidentifier.h:102
XDI_PacketCounter8
Definition:
xsdataidentifier.h:68
XDI_LatLon
Definition:
xsdataidentifier.h:95
XDI_AnalogIn1
Definition:
xsdataidentifier.h:115
a
GLubyte GLubyte GLubyte a
Definition:
glext.h:6372
XDI_GpsAge
Definition:
xsdataidentifier.h:63
XDI_RawSensorGroup
Definition:
xsdataidentifier.h:107
XDI_BaroPressure
Definition:
xsdataidentifier.h:81
XDI_GpsSvInfo
Definition:
xsdataidentifier.h:105
XDI_RawMag
Definition:
xsdataidentifier.h:112
XDI_FrameRange
Definition:
xsdataidentifier.h:67
XDI_StatusByte
Definition:
xsdataidentifier.h:125
XDI_Quaternion
Definition:
xsdataidentifier.h:76
XDI_AngularVelocityGroup
Definition:
xsdataidentifier.h:97
XDI_DeltaV
Definition:
xsdataidentifier.h:84
Page generated by
Doxygen 1.8.14
for MRPT 1.9.9 Git: 8fe78517f Sun Jul 14 19:43:28 2019 +0200 at lun oct 28 02:10:00 CET 2019