sbgECom Library  4.0.1987-stable
C library to interface SBG Systems IMU/AHRS/INS
sbgEComLogImu.h
Go to the documentation of this file.
1 
33 #ifndef SBG_ECOM_LOG_IMU_H
34 #define SBG_ECOM_LOG_IMU_H
35 
36 // sbgCommonLib headers
37 #include <sbgCommon.h>
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 //----------------------------------------------------------------------//
45 //- Log Inertial Data definitions -//
46 //----------------------------------------------------------------------//
47 
51 #define SBG_ECOM_IMU_COM_OK (0x00000001u << 0)
52 #define SBG_ECOM_IMU_STATUS_BIT (0x00000001u << 1)
54 #define SBG_ECOM_IMU_ACCEL_X_BIT (0x00000001u << 2)
55 #define SBG_ECOM_IMU_ACCEL_Y_BIT (0x00000001u << 3)
56 #define SBG_ECOM_IMU_ACCEL_Z_BIT (0x00000001u << 4)
58 #define SBG_ECOM_IMU_GYRO_X_BIT (0x00000001u << 5)
59 #define SBG_ECOM_IMU_GYRO_Y_BIT (0x00000001u << 6)
60 #define SBG_ECOM_IMU_GYRO_Z_BIT (0x00000001u << 7)
62 #define SBG_ECOM_IMU_ACCELS_IN_RANGE (0x00000001u << 8)
63 #define SBG_ECOM_IMU_GYROS_IN_RANGE (0x00000001u << 9)
65 //----------------------------------------------------------------------//
66 //- Log structure definitions -//
67 //----------------------------------------------------------------------//
68 
87 typedef struct _SbgEComLogImuLegacy
88 {
89  uint32_t timeStamp;
90  uint16_t status;
91  float accelerometers[3];
92  float gyroscopes[3];
93  float temperature;
94  float deltaVelocity[3];
95  float deltaAngle[3];
97 
103 typedef struct _SbgEComLogImuShort
104 {
105  uint32_t timeStamp;
106  uint16_t status;
107  int32_t deltaVelocity[3];
108  int32_t deltaAngle[3];
109  int16_t temperature;
111 
118 {
119  uint32_t timeStamp;
120  uint16_t status;
121  float accelerometers[3];
122  float gyroscopes[3];
124 
125 //----------------------------------------------------------------------//
126 //- Public methods -//
127 //----------------------------------------------------------------------//
128 
137 
146 
155 
164 
173 
182 
183 //----------------------------------------------------------------------//
184 //- Public setters/getters -//
185 //----------------------------------------------------------------------//
186 
194 float sbgEComLogImuShortGetDeltaAngle(const SbgEComLogImuShort *pImuShort, size_t idx);
195 
203 float sbgEComLogImuShortGetDeltaVelocity(const SbgEComLogImuShort *pImuShort, size_t idx);
204 
212 
213 //----------------------------------------------------------------------//
214 //- DEPRECATED - Used for backward compatibility -//
215 //----------------------------------------------------------------------//
216 
217 SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogImuLegacy SbgLogImuData);
218 SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogImuShort SbgLogImuShort);
219 SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogImuFastLegacy SbgLogFastImuData);
220 
221 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseImuData(SbgStreamBuffer *pStreamBuffer, SbgEComLogImuLegacy *pLogData));
222 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteImuData(SbgStreamBuffer *pStreamBuffer, const SbgEComLogImuLegacy *pLogData));
223 
224 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseImuShort(SbgStreamBuffer *pStreamBuffer, SbgEComLogImuShort *pLogData));
225 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteImuShort(SbgStreamBuffer *pStreamBuffer, const SbgEComLogImuShort *pLogData));
226 
227 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseFastImuData(SbgStreamBuffer *pStreamBuffer, SbgEComLogImuFastLegacy *pLogData));
228 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteFastImuData(SbgStreamBuffer *pStreamBuffer, const SbgEComLogImuFastLegacy *pLogData));
229 
230 SBG_DEPRECATED(float sbgLogImuShortGetDeltaAngle(const SbgEComLogImuShort *pImuShort, size_t idx));
231 SBG_DEPRECATED(float sbgLogImuShortGetDeltaVelocity(const SbgEComLogImuShort *pImuShort, size_t idx));
232 SBG_DEPRECATED(float sbgLogImuShortGetTemperature(const SbgEComLogImuShort *pImuShort));
233 
234 #ifdef __cplusplus
235 }
236 #endif
237 
238 #endif // SBG_ECOM_LOG_IMU_H
Main header for the SBG Systems common C library.
#define SBG_DEPRECATED_TYPEDEF(decl)
Definition: sbgDefines.h:349
SbgErrorCode sbgEComLogImuShortReadFromStream(SbgEComLogImuShort *pLogData, SbgStreamBuffer *pStreamBuffer)
struct _SbgEComLogImuShort SbgEComLogImuShort
struct _SbgEComLogImuFastLegacy SbgEComLogImuFastLegacy
SbgErrorCode sbgEComLogImuFastLegacyReadFromStream(SbgEComLogImuFastLegacy *pLogData, SbgStreamBuffer *pStreamBuffer)
struct _SbgEComLogImuLegacy SbgEComLogImuLegacy
float sbgEComLogImuShortGetTemperature(const SbgEComLogImuShort *pImuShort)
float sbgEComLogImuShortGetDeltaVelocity(const SbgEComLogImuShort *pImuShort, size_t idx)
SbgErrorCode sbgEComLogImuLegacyReadFromStream(SbgEComLogImuLegacy *pLogData, SbgStreamBuffer *pStreamBuffer)
SbgErrorCode sbgEComLogImuFastLegacyWriteToStream(const SbgEComLogImuFastLegacy *pLogData, SbgStreamBuffer *pStreamBuffer)
SbgErrorCode sbgEComLogImuLegacyWriteToStream(const SbgEComLogImuLegacy *pLogData, SbgStreamBuffer *pStreamBuffer)
float sbgEComLogImuShortGetDeltaAngle(const SbgEComLogImuShort *pImuShort, size_t idx)
SbgErrorCode sbgEComLogImuShortWriteToStream(const SbgEComLogImuShort *pLogData, SbgStreamBuffer *pStreamBuffer)
enum _SbgErrorCode SbgErrorCode
Used to read/write data from/to a memory buffer stream.
SBG_DEPRECATED(SBG_INLINE uint32_t SBG_VERSION(uint8_t major, uint8_t minor, uint8_t rev, uint8_t build))
Definition: sbgEComLogImu.h:118
uint16_t status
Definition: sbgEComLogImu.h:120
float accelerometers[3]
Definition: sbgEComLogImu.h:121
uint32_t timeStamp
Definition: sbgEComLogImu.h:119
float gyroscopes[3]
Definition: sbgEComLogImu.h:122
Definition: sbgEComLogImu.h:88
float deltaVelocity[3]
Definition: sbgEComLogImu.h:94
float temperature
Definition: sbgEComLogImu.h:93
float accelerometers[3]
Definition: sbgEComLogImu.h:91
float gyroscopes[3]
Definition: sbgEComLogImu.h:92
float deltaAngle[3]
Definition: sbgEComLogImu.h:95
uint32_t timeStamp
Definition: sbgEComLogImu.h:89
uint16_t status
Definition: sbgEComLogImu.h:90
Definition: sbgEComLogImu.h:104
int32_t deltaVelocity[3]
Definition: sbgEComLogImu.h:107
int32_t deltaAngle[3]
Definition: sbgEComLogImu.h:108
int16_t temperature
Definition: sbgEComLogImu.h:109
uint32_t timeStamp
Definition: sbgEComLogImu.h:105
uint16_t status
Definition: sbgEComLogImu.h:106
Definition: sbgStreamBufferCommon.h:201