Main MRPT website > C++ reference for MRPT 1.5.6
xsdataidentifier.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 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 FORMAT at a later stage
24  so\n
25  0 = 0b000000..00 = 0x0000\n
26  1 = 0b100000..00 = 0x8000\n
27  2 = 0b010000..00 = 0x4000\n
28  3 = 0b110000..00 = 0xC000\n
29  4 = 0b001000..00 = 0x2000\n
30  etc\n
31  8 = 0b000100..00 = 0x1000
32 
33  So the TYPE grows from left to right
34  the FORMAT grows from right to left
35 
36  Data that is output in float, fixedpoint or double (etc...) a sub format range is used (currently the lowest 4 bits).
37 */
39 {
40  XDI_None = 0x0000,
41  XDI_TypeMask = 0xFE00,
42  XDI_FullTypeMask = 0xFFF0,
43  XDI_FullMask = 0xFFFF,
44  XDI_FormatMask = 0x01FF,
46 
47  XDI_SubFormatMask = 0x0003, //determines, float, fp12.20, fp16.32, double output... (where applicable)
52 
54  XDI_Temperature = 0x0810,
55 
57  XDI_UtcTime = 0x1010,
59  XDI_Itow = 0x1030,
60  XDI_GpsAge = 0x1040,
61  XDI_PressureAge = 0x1050,
64  XDI_FrameRange = 0x1080, // add for MTw (if needed)
66  XDI_SampleTime64 = 0x10A0,
67 
69  XDI_CoordSysMask = 0x000C,
70  XDI_CoordSysEnu = 0x0000,
71  XDI_CoordSysNed = 0x0004,
72  XDI_CoordSysNwu = 0x0008,
73  XDI_Quaternion = 0x2010,
75  XDI_EulerAngles = 0x2030,
76 
78  XDI_BaroPressure = 0x3010,
79 
81  XDI_DeltaV = 0x4010,
82  XDI_Acceleration = 0x4020,
84 #ifdef NOT_FOR_PUBLIC_RELEASE
85  //XDI_TransposedAcceleration = 0x4040,
86 #endif //NOT_FOR_PUBLIC_RELEASE
87 
89  XDI_AltitudeMsl = 0x5010,
91  XDI_PositionEcef = 0x5030,
92  XDI_LatLon = 0x5040,
93 
95  XDI_RateOfTurn = 0x8020,
96  XDI_DeltaQ = 0x8030,
97 
98  XDI_GpsGroup = 0x8800,
99  XDI_GpsDop = 0x8830,
100  XDI_GpsSol = 0x8840,
101  XDI_GpsTimeUtc = 0x8880,
102  XDI_GpsSvInfo = 0x88A0,
103 
106  XDI_RawGyroTemp = 0xA020,
107  XDI_RawAcc = 0xA030,
108  XDI_RawGyr = 0xA040,
109  XDI_RawMag = 0xA050,
110 
112  XDI_AnalogIn1 = 0xB010,
113  XDI_AnalogIn2 = 0xB020,
114 
117 
119  XDI_VelocityXYZ = 0xD010,
120 
121  XDI_StatusGroup = 0xE000,
122  XDI_StatusByte = 0xE010,
123  XDI_StatusWord = 0xE020,
124  XDI_Rssi = 0xE040,
125 
126  XDI_IndicationGroup = 0x4800, // 0100.1000 -> bit reverse = 0001.0010 -> type 18
127  XDI_TriggerIn1 = 0x4810,
128  XDI_TriggerIn2 = 0x4820,
129 
130 #ifdef NOT_FOR_PUBLIC_RELEASE
131  /*
132  XDI_Accuracy = 0xF000,
133  XDI_GpsHAcc = 0xF010,
134  XDI_GpsVAcc = 0xF020,
135  XDI_GpsSAcc = 0xF030,
136  */
137 #endif //NOT_FOR_PUBLIC_RELEASE
138 };
139 /*! @} */
140 
142 
143 #define XDI_MAX_FREQUENCY ((uint16_t) 0xFFFF)
144 
145 #ifdef __cplusplus
147 {
148  return (XsDataIdentifier) ((int) a | (int) b);
149 }
150 
152 {
153  return (XsDataIdentifier) ((int) a & (int) b);
154 }
155 
157 {
158  return (XsDataIdentifier) ~((unsigned short)a);
159 }
160 #endif
161 
162 #endif // file guard
XsDataIdentifier
Defines the data identifiers.
GLubyte GLubyte b
Definition: glext.h:5575
const Eigen::MatrixBase< Derived >::AdjointReturnType operator~(const Eigen::MatrixBase< Derived > &m)
Transpose operator for matrices.
Definition: ops_matrices.h:32
GLubyte GLubyte GLubyte a
Definition: glext.h:5575



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