xsdid.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 XSDID_H
66 #define XSDID_H
67 
68 // DID Type (high nibble)
69 #define XS_DID_TYPEL_MASK 0x000F0000
70 #define XS_DID_TYPEH_MASK 0x00F00000
71 #define XS_DID_GPL_MASK 0x0F000000
72 #define XS_DID_GPH_MASK 0xF0000000
73 #define XS_DID_TYPE_MASK (XS_DID_TYPEH_MASK | XS_DID_TYPEL_MASK)
74 #define XS_DID_GP_MASK (XS_DID_GPH_MASK | XS_DID_GPL_MASK)
75 #define XS_DID_MK4TYPE_MASK (XS_DID_TYPEH_MASK | XS_DID_GPL_MASK)
76 #define XS_DID_ID_MASK 0x0000FFFF
77 #define XS_DID_FULLTYPE_MASK 0xFFFF0000
78 
79 #define XS_DID_TYPEL_SHIFT 16
80 #define XS_DID_TYPEH_SHIFT 20
81 #define XS_DID_GPL_SHIFT 24
82 #define XS_DID_GPH_SHIFT 28
83 
84 #define XS_DID_TYPEH_INTERNAL 0x00000000
85 #define XS_DID_TYPEH_AWINDAMASTER 0x00200000
86 #define XS_DID_TYPEH_MT_X0 0x00600000
87 #define XS_DID_TYPEH_MT_X00 0x00700000
88 #define XS_DID_TYPEH_MTX2_MTW2 0x00B00000
89 #define XS_DID_TYPEH_BODYPACK 0x00A00000
90 #define XS_DID_TYPEH_MT_3X0 0x00D00000
91 #define XS_DID_TYPEH_MT_X_MPU 0x00800000
92 
93 #define XS_DID_TYPEL_STATION 0x00000000
94 #define XS_DID_TYPEL_DONGLE 0x00010000
95 #define XS_DID_TYPEL_OEM 0x00020000
96 #define XS_DID_TYPEL_SYNCSTATION 0x00030000
97 #define XS_DID_TYPEL_BUS_MASTER 0x00040000
98 #define XS_DID_TYPEL_DONGLE_ANT 0x00010000 //Note: this is the same range as XS_DID_TYPEL_DONGLE
99 
100 #define XS_DID_TYPEL_RS232 0x00000000
101 #define XS_DID_TYPEL_RS422 0x00010000
102 #define XS_DID_TYPEL_RS485XM 0x00020000
103 #define XS_DID_TYPEL_RS485 0x00030000
104 #define XS_DID_TYPEL_WIRELESS 0x00040000
105 #define XS_DID_TYPEL_COMM_MASK 0x00070000
106 #define XS_DID_TYPEL_MULTI 0x00080000
107 #define XS_DID_TYPEL_MK5 0x00080000
108 
109 #define XS_DID_GPL_1 0x01000000
110 #define XS_DID_GPL_2 0x02000000
111 #define XS_DID_GPL_3 0x03000000
112 #define XS_DID_GPL_7 0x07000000
113 #define XS_DID_GPL_8 0x08000000
114 #define XS_DID_GPL_10 0x01000000
115 #define XS_DID_GPL_20 0x02000000
116 #define XS_DID_GPL_30 0x03000000
117 #define XS_DID_GPL_100 0x01000000
118 #define XS_DID_GPL_200 0x02000000
119 #define XS_DID_GPL_300 0x03000000
120 #define XS_DID_GPL_400 0x04000000
121 #define XS_DID_GPL_500 0x05000000
122 #define XS_DID_GPL_600 0x06000000
123 #define XS_DID_GPL_700 0x07000000
124 #define XS_DID_GPL_800 0x08000000
125 #define XS_DID_GPL_900 0x09000000
126 #define XS_DID_GPL_IMU 0x01000000
127 #define XS_DID_GPL_VRU 0x02000000
128 #define XS_DID_GPL_AHRS 0x03000000
129 #define XS_DID_GPL_AWINDA2 0x01000000
130 #define XS_DID_GPL_AHRSGNSS XS_DID_GPL_400
131 #define XS_DID_GPL_AHRSGNSSG XS_DID_GPL_500
132 #define XS_DID_GPL_GNSSINS XS_DID_GPL_600
133 #define XS_DID_GPL_GNSSINSG XS_DID_GPL_700
134 
135 #define XS_DID_TYPE_AWINDA XS_DID_TYPEH_AWINDAMASTER
136 #define XS_DID_TYPE_AWINDA_STATION (XS_DID_TYPEH_AWINDAMASTER | XS_DID_TYPEL_STATION)
137 #define XS_DID_TYPE_AWINDA_DONGLE (XS_DID_TYPEH_AWINDAMASTER | XS_DID_TYPEL_DONGLE)
138 #define XS_DID_TYPE_AWINDA_DONGLE_ANT (XS_DID_TYPEH_AWINDAMASTER | XS_DID_TYPEL_DONGLE_ANT)
139 #define XS_DID_TYPE_AWINDA_OEM (XS_DID_TYPEH_AWINDAMASTER | XS_DID_TYPEL_OEM)
140 #define XS_DID_TYPE_SYNCSTATION (XS_DID_TYPEH_AWINDAMASTER | XS_DID_TYPEL_SYNCSTATION)
141 
142 #define XS_DID_FULLTYPE_AWINDA2_STATION (XS_DID_GPL_AWINDA2 | XS_DID_TYPE_AWINDA_STATION)
143 #define XS_DID_FULLTYPE_AWINDA2_DONGLE (XS_DID_GPL_AWINDA2 | XS_DID_TYPE_AWINDA_DONGLE)
144 #define XS_DID_FULLTYPE_AWINDA2_OEM (XS_DID_GPL_AWINDA2 | XS_DID_TYPE_AWINDA_OEM)
145 #define XS_DID_FULLTYPE_SYNCSTATION2 (XS_DID_GPL_AWINDA2 | XS_DID_TYPE_SYNCSTATION)
146 
147 #define XS_DID_TYPE_MTX2 (XS_DID_TYPEH_MTX2_MTW2 | XS_DID_TYPEL_RS485XM)
148 #define XS_DID_TYPE_MTW2 (XS_DID_TYPEH_MTX2_MTW2 | XS_DID_TYPEL_WIRELESS)
149 
150 #define XS_DID_MK4TYPE_MT_1_MPU (XS_DID_TYPEH_MT_X_MPU | XS_DID_GPL_1)
151 #define XS_DID_MK4TYPE_MT_2_MPU (XS_DID_TYPEH_MT_X_MPU | XS_DID_GPL_2)
152 #define XS_DID_MK4TYPE_MT_3_MPU (XS_DID_TYPEH_MT_X_MPU | XS_DID_GPL_3)
153 #define XS_DID_MK4TYPE_MT_7_MPU (XS_DID_TYPEH_MT_X_MPU | XS_DID_GPL_7)
154 #define XS_DID_MK4TYPE_MT_8_MPU (XS_DID_TYPEH_MT_X_MPU | XS_DID_GPL_8)
155 #define XS_DID_MK4TYPE_MT_310 (XS_DID_TYPEH_MT_3X0 | XS_DID_GPL_1)
156 #define XS_DID_MK4TYPE_MT_320 (XS_DID_TYPEH_MT_3X0 | XS_DID_GPL_2)
157 #define XS_DID_MK4TYPE_MT_330 (XS_DID_TYPEH_MT_3X0 | XS_DID_GPL_3)
158 #define XS_DID_MK4TYPE_MT_10 (XS_DID_TYPEH_MT_X0 | XS_DID_GPL_10)
159 #define XS_DID_MK4TYPE_MT_20 (XS_DID_TYPEH_MT_X0 | XS_DID_GPL_20)
160 #define XS_DID_MK4TYPE_MT_30 (XS_DID_TYPEH_MT_X0 | XS_DID_GPL_30)
161 #define XS_DID_MK4TYPE_MT_100 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_100)
162 #define XS_DID_MK4TYPE_MT_200 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_200)
163 #define XS_DID_MK4TYPE_MT_300 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_300)
164 #define XS_DID_MK4TYPE_MT_400 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_400)
165 #define XS_DID_MK4TYPE_MT_500 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_500)
166 #define XS_DID_MK4TYPE_MT_600 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_600)
167 #define XS_DID_MK4TYPE_MT_700 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_700)
168 #define XS_DID_MK4TYPE_MT_800 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_800)
169 #define XS_DID_MK4TYPE_MT_900 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_900)
170 
171 #define XS_DID_MK5TYPE_MT_10 (XS_DID_TYPEH_MT_X0 | XS_DID_GPL_10 | XS_DID_TYPEL_MK5)
172 #define XS_DID_MK5TYPE_MT_20 (XS_DID_TYPEH_MT_X0 | XS_DID_GPL_20 | XS_DID_TYPEL_MK5)
173 #define XS_DID_MK5TYPE_MT_30 (XS_DID_TYPEH_MT_X0 | XS_DID_GPL_30 | XS_DID_TYPEL_MK5)
174 #define XS_DID_MK5TYPE_MT_100 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_100 | XS_DID_TYPEL_MK5)
175 #define XS_DID_MK5TYPE_MT_200 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_200 | XS_DID_TYPEL_MK5)
176 #define XS_DID_MK5TYPE_MT_300 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_300 | XS_DID_TYPEL_MK5)
177 #define XS_DID_MK5TYPE_MT_400 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_400 | XS_DID_TYPEL_MK5)
178 #define XS_DID_MK5TYPE_MT_500 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_500 | XS_DID_TYPEL_MK5)
179 #define XS_DID_MK5TYPE_MT_600 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_600 | XS_DID_TYPEL_MK5)
180 #define XS_DID_MK5TYPE_MT_700 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_700 | XS_DID_TYPEL_MK5)
181 #define XS_DID_MK5TYPE_MT_800 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_800 | XS_DID_TYPEL_MK5)
182 #define XS_DID_MK5TYPE_MT_900 (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_900 | XS_DID_TYPEL_MK5)
183 
184 #define XS_DID_MASTER 0x00000000
185 #define XS_DID_ABMCLOCKMASTER 0x00000100
186 #define XS_DID_GLOVEMASTER (XS_DID_TYPEH_INTERNAL | 0x00000200)
187 
188 #define XS_DID_GLOVETYPE_UNKNOWN 0x00000000
189 #define XS_DID_GLOVETYPE_LEFT 0x00000001
190 #define XS_DID_GLOVETYPE_RIGHT 0x00000002
191 
192 #define XS_DID_GLOVEMASTER_UNKNOWN ( XS_DID_GLOVEMASTER | XS_DID_GLOVETYPE_UNKNOWN )
193 #define XS_DID_GLOVEMASTER_LEFT ( XS_DID_GLOVEMASTER | XS_DID_GLOVETYPE_LEFT )
194 #define XS_DID_GLOVEMASTER_RIGHT ( XS_DID_GLOVEMASTER | XS_DID_GLOVETYPE_RIGHT )
195 
196 #define XS_DID_INTERNAL(did) ((did & XS_DID_TYPEH_MASK) == XS_DID_TYPEH_INTERNAL)
197 #define XS_DID_WM(did) ((did & XS_DID_TYPEH_MASK) == XS_DID_TYPEH_AWINDAMASTER)
198 #define XS_DID_NOWM(did) ((did & XS_DID_TYPEH_MASK) != XS_DID_TYPEH_AWINDAMASTER)
199 #define XS_DID_MTW2(did) ((did & XS_DID_TYPE_MASK) == XS_DID_TYPE_MTW2)
200 #define XS_DID_MTX2(did) ((did & XS_DID_TYPE_MASK) == XS_DID_TYPE_MTX2)
201 
202 #define XS_DID_AWINDA2_STATION(did) ((did & XS_DID_FULLTYPE_MASK) == XS_DID_FULLTYPE_AWINDA2_STATION)
203 #define XS_DID_AWINDA2_DONGLE(did) ((did & XS_DID_FULLTYPE_MASK) == XS_DID_FULLTYPE_AWINDA2_DONGLE)
204 #define XS_DID_AWINDA2_OEM(did) ((did & XS_DID_FULLTYPE_MASK) == XS_DID_FULLTYPE_AWINDA2_OEM)
205 
206 #define XS_DID_SYNCSTATION2(did) ((did & XS_DID_FULLTYPE_MASK) == XS_DID_FULLTYPE_SYNCSTATION2)
207 #define XS_DID_SYNCSTATION(did) (XS_DID_SYNCSTATION2(did))
208 
209 #define XS_DID_AWINDA2(did) (XS_DID_AWINDA2_STATION(did) || XS_DID_AWINDA2_DONGLE(did) || XS_DID_AWINDA2_OEM(did))
210 
211 #define XS_DID_BODYPACK(did) ((did & XS_DID_TYPEH_MASK) == XS_DID_TYPEH_BODYPACK)
212 
213 #define XS_DID_MK4TYPE_MT_710_RANGE_START (XS_DID_TYPEH_MT_X00 | XS_DID_GPL_700 | 0x1000)
214 #define XS_DID_MK5TYPE_RANGE_START 0x00002000
215 
216 #define XS_DID64_BIT 0x0000000080000000ULL
217 
218 #endif


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