sbgECom Library  4.0.1987-stable
C library to interface SBG Systems IMU/AHRS/INS
sbgTypes.h
Go to the documentation of this file.
1 
35 #ifndef SBG_TYPES_H
36 #define SBG_TYPES_H
37 
38 // Standard headers
39 #include <stdint.h>
40 
41 // Local headers
42 #include "sbgDefines.h"
43 
44 //----------------------------------------------------------------------//
45 //- Limits definitions -//
46 //----------------------------------------------------------------------//
47 #define SBG_MIN_INT_24 (-8388608l)
48 #define SBG_MAX_INT_24 (8388607l)
49 #define SBG_MAX_UINT_24 (16777215ul)
50 
51 #define SBG_MIN_INT_40 (-549755813887ll - 1)
52 #define SBG_MAX_INT_40 (549755813887ll)
53 #define SBG_MAX_UINT_40 (1099511627775ull)
54 
55 #define SBG_MIN_INT_48 (-140737488355327ll - 1)
56 #define SBG_MAX_INT_48 (140737488355327ll)
57 #define SBG_MAX_UINT_48 (281474976710655ull)
58 
59 #define SBG_MIN_INT_56 (-36028797018963967ll - 1)
60 #define SBG_MAX_INT_56 (36028797018963967ll)
61 #define SBG_MAX_UINT_56 (72057594037927935ull)
62 
63 //----------------------------------------------------------------------//
64 //- Global typedef -//
65 //----------------------------------------------------------------------//
66 typedef uint32_t sbgIpAddress;
68 //------------------------------------------------------------------//
69 //- Type punning safe conversion unions -//
70 //------------------------------------------------------------------//
71 
76 {
77  uint8_t *m_pointerUint8;
78  uint32_t *m_pointerUint32;
80 
84 typedef union _SbgUint8ToInt16
85 {
86  int16_t value;
87  uint8_t buffer[2];
89 
93 typedef union _SbgUint8ToUint16
94 {
95  uint16_t value;
96  uint8_t buffer[2];
98 
102 typedef union _SbgUint8ToInt32
103 {
104  int32_t value;
105  uint8_t buffer[4];
107 
111 typedef union _SbgUint8ToUint32
112 {
113  uint32_t value;
114  uint8_t buffer[4];
116 
120 typedef union _SbgUint8ToInt64
121 {
122  int64_t value;
123  uint8_t buffer[8];
125 
129 typedef union _SbgUint8ToUint64
130 {
131  uint64_t value;
132  uint8_t buffer[8];
134 
138 typedef union _SbgFloatNint
139 {
140  float valF;
141  int32_t valI;
142  uint32_t valU;
144 
148 typedef union _SbgDoubleNint
149 {
150  double valF;
151  uint64_t valU;
152  int64_t valI;
154 
158  typedef struct _SbgVector3i
159  {
160  int32_t v[3];
162 
166  typedef struct _SbgVector3ll
167  {
168  int64_t v[3];
170 
171 //----------------------------------------------------------------------//
172 //- DEPRECATED: types definitions -//
173 //----------------------------------------------------------------------//
174 #ifdef SBG_COMMON_USE_DEPRECATED
175  SBG_DEPRECATED_TYPEDEF(typedef unsigned char uint8);
176  SBG_DEPRECATED_TYPEDEF(typedef unsigned short uint16);
177  SBG_DEPRECATED_TYPEDEF(typedef unsigned int uint32);
178  SBG_DEPRECATED_TYPEDEF(typedef unsigned long long int uint64);
179 
180  SBG_DEPRECATED_TYPEDEF(typedef signed char int8);
181  SBG_DEPRECATED_TYPEDEF(typedef signed short int16);
182  SBG_DEPRECATED_TYPEDEF(typedef signed int int32);
183  SBG_DEPRECATED_TYPEDEF(typedef signed long long int int64);
184 
185  SBG_DEPRECATED_TYPEDEF(typedef union _SbgUint8PtrToUint32Ptr Uint8PtrToUint32Ptr);
186  SBG_DEPRECATED_TYPEDEF(typedef union _SbgUint8ToInt16 Uint8ToInt16);
187  SBG_DEPRECATED_TYPEDEF(typedef union _SbgUint8ToUint16 Uint8ToUint16);
188  SBG_DEPRECATED_TYPEDEF(typedef union _SbgUint8ToInt32 Uint8ToInt32);
189  SBG_DEPRECATED_TYPEDEF(typedef union _SbgUint8ToUint32 Uint8ToUint32);
190  SBG_DEPRECATED_TYPEDEF(typedef union _SbgUint8ToInt64 Uint8ToInt64);
191  SBG_DEPRECATED_TYPEDEF(typedef union _SbgUint8ToUint64 Uint8ToUint64);
192  SBG_DEPRECATED_TYPEDEF(typedef union _SbgFloatNint FloatNint);
193  SBG_DEPRECATED_TYPEDEF(typedef union _SbgDoubleNint DoubleNint);
194 #endif
195 
196 #endif // SBG_TYPES_H
Header file that contains all common definitions.
#define SBG_DEPRECATED_TYPEDEF(decl)
Definition: sbgDefines.h:349
union _SbgUint8ToInt64 SbgUint8ToInt64
union _SbgDoubleNint SbgDoubleNint
union _SbgFloatNint SbgFloatNint
union _SbgUint8ToUint32 SbgUint8ToUint32
struct _SbgVector3i SbgVector3i
union _SbgUint8ToInt32 SbgUint8ToInt32
union _SbgUint8ToInt16 SbgUint8ToInt16
union _SbgUint8ToUint64 SbgUint8ToUint64
struct _SbgVector3ll SbgVector3ll
union _SbgUint8PtrToUint32Ptr SbgUint8PtrToUint32Ptr
uint32_t sbgIpAddress
Definition: sbgTypes.h:66
union _SbgUint8ToUint16 SbgUint8ToUint16
Definition: sbgTypes.h:159
Definition: sbgTypes.h:167
Definition: sbgTypes.h:149
Definition: sbgTypes.h:139
Definition: sbgTypes.h:76
uint32_t * m_pointerUint32
Definition: sbgTypes.h:78
uint8_t * m_pointerUint8
Definition: sbgTypes.h:77
Definition: sbgTypes.h:85
Definition: sbgTypes.h:103
Definition: sbgTypes.h:121
Definition: sbgTypes.h:94
Definition: sbgTypes.h:112
Definition: sbgTypes.h:130