xsglovesnapshot.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 XSGLOVESNAPSHOT_H
66 #define XSGLOVESNAPSHOT_H
67 
68 #include "xstypesconfig.h"
69 #include "xsdeviceid.h"
70 
71 struct XsGloveSnapshot;
72 
73 #ifdef __cplusplus
74 extern "C" {
75 #endif
76 #ifndef __cplusplus
77 #define XSGLOVESNAPSHOT_INITIALIZER {0, 0, 0, 0, \
78  XSFINGERSNAPSHOT_INITIALIZER, XSFINGERSNAPSHOT_INITIALIZER, XSFINGERSNAPSHOT_INITIALIZER, XSFINGERSNAPSHOT_INITIALIZER, XSFINGERSNAPSHOT_INITIALIZER, XSFINGERSNAPSHOT_INITIALIZER, \
79  XSFINGERSNAPSHOT_INITIALIZER, XSFINGERSNAPSHOT_INITIALIZER, XSFINGERSNAPSHOT_INITIALIZER, XSFINGERSNAPSHOT_INITIALIZER, XSFINGERSNAPSHOT_INITIALIZER, XSFINGERSNAPSHOT_INITIALIZER}
80 #define XSFINGERSNAPSHOT_INITIALIZER {0,0,0, 0,0,0, 0,0,0, 0, 0, 0}
81 #endif
82 
83 #ifdef __cplusplus
84 } // extern "C"
85 #endif
86 
87 #include <math.h> /* pow */
88 
92 struct int24_t
93 {
94  uint8_t m_vals[3];
96 #ifdef __cplusplus
97  inline double toDouble() const
99  {
100  if (m_vals[0] & 0x80)
101  return ((double)(int32_t)(((uint32_t)0xff000000) | (((uint32_t)m_vals[0]) << 16) | (((uint32_t)m_vals[1]) << 8) | ((uint32_t)m_vals[2])));
102  else
103  return (double)((((uint32_t)m_vals[0]) << 16) | (((uint32_t)m_vals[1]) << 8) | (uint32_t)m_vals[2]);
104  }
105 
106 #endif
107 #ifdef SWIG
108 };
109 #else
111 #endif
112 typedef struct int24_t int24_t;
113 
117 {
120  int16_t m_mag[3];
121  uint16_t m_flags;
124 #ifdef SWIG
125 };
126 #else
128 #endif
130 
134 {
137  uint8_t m_padByte;
139 #if 0 // def __cplusplus
140 
141  inline bool operator == (const XsGloveSnapshot& other) const
142  {
143  return true;
144  }
145 #endif
146 #ifdef SWIG
147 };
148 #else
150 #endif
152 
154 
155 #endif
int24_t
int24
Definition: xsglovesnapshot.h:92
XsGloveSnapshot
A container for Glove Snapshot data.
Definition: xsglovesnapshot.h:133
XsGloveSnapshot::m_frameNumber
uint32_t m_frameNumber
The frame number associated with the fingerdata.
Definition: xsglovesnapshot.h:135
XS_PACKED_STRUCT_START
#define XS_PACKED_STRUCT_START
Definition: xstypedefs.h:201
XsFingerSnapshot::m_iV
int32_t m_iV[3]
The integrated velocity.
Definition: xsglovesnapshot.h:119
XsGloveSnapshot::m_padByte
uint8_t m_padByte
A padded byte to align fingerdata.
Definition: xsglovesnapshot.h:137
XsFingerSnapshot::m_flags
uint16_t m_flags
The flags.
Definition: xsglovesnapshot.h:121
operator==
bool operator==(const XsFilterProfile &lhs, const XsFilterProfile &rhs)
Returns true if lhs has the same type as rhs.
Definition: scenariomatchpred.h:81
XS_PACKED_STRUCT_END
#define XS_PACKED_STRUCT_END
Definition: xstypedefs.h:202
uint32_t
unsigned int uint32_t
Definition: pstdint.h:485
XsGloveSnapshot::m_fingers
XsFingerSnapshot m_fingers[12]
The 12 fingers.
Definition: xsglovesnapshot.h:138
XsFingerSnapshot::m_gyrClippingCounter
uint8_t m_gyrClippingCounter
The gyroscope clipping counter.
Definition: xsglovesnapshot.h:123
XsFingerSnapshot::m_accClippingCounter
uint8_t m_accClippingCounter
The acceleration clipping counter.
Definition: xsglovesnapshot.h:122
XsFingerSnapshot::m_mag
int16_t m_mag[3]
The magnetic field.
Definition: xsglovesnapshot.h:120
xsdeviceid.h
XsGloveSnapshot::m_validSampleFlags
uint16_t m_validSampleFlags
The valid sample flags.
Definition: xsglovesnapshot.h:136
xstypesconfig.h
int24_t::m_vals
uint8_t m_vals[3]
The data.
Definition: xsglovesnapshot.h:94
XsFingerSnapshot
A container for Finger Snapshot data.
Definition: xsglovesnapshot.h:116
XsFingerSnapshot::m_iQ
int24_t m_iQ[3]
The integrated orientation.
Definition: xsglovesnapshot.h:118
int32_t
signed int int32_t
Definition: pstdint.h:515
XS_PACKED_STRUCT
XS_PACKED_STRUCT_START struct int24_t XS_PACKED_STRUCT


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