sbgECom Library  5.1.708-stable
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)
64 #define SBG_ECOM_IMU_GYROS_USE_HIGH_SCALE (0x00000001u << 10)
66 //----------------------------------------------------------------------//
67 //- Log structure definitions -//
68 //----------------------------------------------------------------------//
69 
84 typedef struct _SbgEComLogImuLegacy
85 {
86  uint32_t timeStamp;
87  uint16_t status;
88  float accelerometers[3];
89  float gyroscopes[3];
90  float temperature;
91  float deltaVelocity[3];
92  float deltaAngle[3];
94 
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 void sbgEComLogImuShortSetDeltaAngle(SbgEComLogImuShort *pImuShort, const float *pArray, size_t arraySize);
204 
212 float sbgEComLogImuShortGetDeltaVelocity(const SbgEComLogImuShort *pImuShort, size_t idx);
213 
221 void sbgEComLogImuShortSetDeltaVelocity(SbgEComLogImuShort *pImuShort, const float *pArray, size_t arraySize);
222 
230 
237 void sbgEComLogImuShortSetTemperature(SbgEComLogImuShort *pImuShort, float temperature);
238 
239 //----------------------------------------------------------------------//
240 //- DEPRECATED - Used for backward compatibility -//
241 //----------------------------------------------------------------------//
242 
243 SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogImuLegacy SbgLogImuData);
244 SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogImuShort SbgLogImuShort);
245 SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogImuFastLegacy SbgLogFastImuData);
246 
247 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseImuData(SbgStreamBuffer *pStreamBuffer, SbgEComLogImuLegacy *pLogData));
248 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteImuData(SbgStreamBuffer *pStreamBuffer, const SbgEComLogImuLegacy *pLogData));
249 
250 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseImuShort(SbgStreamBuffer *pStreamBuffer, SbgEComLogImuShort *pLogData));
251 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteImuShort(SbgStreamBuffer *pStreamBuffer, const SbgEComLogImuShort *pLogData));
252 
253 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseFastImuData(SbgStreamBuffer *pStreamBuffer, SbgEComLogImuFastLegacy *pLogData));
254 SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteFastImuData(SbgStreamBuffer *pStreamBuffer, const SbgEComLogImuFastLegacy *pLogData));
255 
256 SBG_DEPRECATED(float sbgLogImuShortGetDeltaAngle(const SbgEComLogImuShort *pImuShort, size_t idx));
257 SBG_DEPRECATED(float sbgLogImuShortGetDeltaVelocity(const SbgEComLogImuShort *pImuShort, size_t idx));
258 SBG_DEPRECATED(float sbgLogImuShortGetTemperature(const SbgEComLogImuShort *pImuShort));
259 
260 #ifdef __cplusplus
261 }
262 #endif
263 
264 #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
void sbgEComLogImuShortSetTemperature(SbgEComLogImuShort *pImuShort, float temperature)
void sbgEComLogImuShortSetDeltaAngle(SbgEComLogImuShort *pImuShort, const float *pArray, size_t arraySize)
void sbgEComLogImuShortSetDeltaVelocity(SbgEComLogImuShort *pImuShort, const float *pArray, size_t arraySize)
SbgErrorCode sbgEComLogImuFastLegacyReadFromStream(SbgEComLogImuFastLegacy *pLogData, SbgStreamBuffer *pStreamBuffer)
struct _SbgEComLogImuLegacy SbgEComLogImuLegacy
Structure that stores data for the SBG_ECOM_LOG_IMU_DATA message.
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
Structure that stores data for the SBG_ECOM_LOG_IMU_DATA message.
Definition: sbgEComLogImu.h:85
float deltaVelocity[3]
Definition: sbgEComLogImu.h:91
float temperature
Definition: sbgEComLogImu.h:90
float accelerometers[3]
Definition: sbgEComLogImu.h:88
float gyroscopes[3]
Definition: sbgEComLogImu.h:89
float deltaAngle[3]
Definition: sbgEComLogImu.h:92
uint32_t timeStamp
Definition: sbgEComLogImu.h:86
uint16_t status
Definition: sbgEComLogImu.h:87
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