sbgECom Library  5.4.1684-stable
Interface SBG Systems IMU/AHRS/INS
Loading...
Searching...
No Matches
sbgEComLogEkf.h
Go to the documentation of this file.
1
32
33#ifndef SBG_ECOM_LOG_EKF_H
34#define SBG_ECOM_LOG_EKF_H
35
36// sbgCommonLib headers
37#include <sbgCommon.h>
39
40#ifdef __cplusplus
41extern "C" {
42#endif
43
44//----------------------------------------------------------------------//
45//- Solution status definitions -//
46//----------------------------------------------------------------------//
47
51#define SBG_ECOM_SOL_ATTITUDE_VALID (0x00000001u << 4)
52#define SBG_ECOM_SOL_HEADING_VALID (0x00000001u << 5)
53#define SBG_ECOM_SOL_VELOCITY_VALID (0x00000001u << 6)
54#define SBG_ECOM_SOL_POSITION_VALID (0x00000001u << 7)
55
56#define SBG_ECOM_SOL_VERT_REF_USED (0x00000001u << 8)
57#define SBG_ECOM_SOL_MAG_REF_USED (0x00000001u << 9)
58#define SBG_ECOM_SOL_GPS1_VEL_USED (0x00000001u << 10)
59#define SBG_ECOM_SOL_GPS1_POS_USED (0x00000001u << 11)
60#define SBG_ECOM_SOL_VEL_CONSTRAINTS_USED (0x00000001u << 12)
61#define SBG_ECOM_SOL_GPS1_HDT_USED (0x00000001u << 13)
62#define SBG_ECOM_SOL_GPS2_VEL_USED (0x00000001u << 14)
63#define SBG_ECOM_SOL_GPS2_POS_USED (0x00000001u << 15)
64#define SBG_ECOM_SOL_GPS2_HDT_USED (0x00000001u << 17)
65#define SBG_ECOM_SOL_ODO_USED (0x00000001u << 18)
66#define SBG_ECOM_SOL_DVL_BT_USED (0x00000001u << 19)
67#define SBG_ECOM_SOL_DVL_WT_USED (0x00000001u << 20)
68#define SBG_ECOM_SOL_VEL1_USED (0x00000001u << 21)
69#define SBG_ECOM_SOL_RESERVED_01 (0x00000001u << 22)
70#define SBG_ECOM_SOL_RESERVED_02 (0x00000001u << 23)
71#define SBG_ECOM_SOL_USBL_USED (0x00000001u << 24)
72#define SBG_ECOM_SOL_AIRSPEED_USED (0x00000001u << 25)
73#define SBG_ECOM_SOL_ZUPT_USED (0x00000001u << 26)
74#define SBG_ECOM_SOL_ALIGN_VALID (0x00000001u << 27)
75#define SBG_ECOM_SOL_VERTICAL_AIDING_USED (0x00000001u << 28)
76#define SBG_ECOM_SOL_ZARU_USED (0x00000001u << 29)
77#define SBG_ECOM_SOL_POS1_USED (0x00000001u << 30)
78
90
91//----------------------------------------------------------------------//
92//- Log structure definitions -//
93//----------------------------------------------------------------------//
94
113
132
136typedef struct _SbgEComLogEkfNav
137{
138 uint32_t timeStamp;
139 float velocity[3];
140 float velocityStdDev[3];
141 double position[3];
144 float positionStdDev[3];
145 uint32_t status;
147
152{
153 uint32_t timeStamp;
154 uint32_t status;
155 float velocity[3];
156 float velocityStdDev[3];
158
163{
164 uint32_t timeStamp;
165 uint16_t status;
166 float wind[3];
167 float windStdDev[3];
169
170//----------------------------------------------------------------------//
171//- Public methods (SbgEComLogEkfEuler) -//
172//----------------------------------------------------------------------//
173
181
190
199
200//----------------------------------------------------------------------//
201//- Public methods (SbgEComLogEkfQuat) -//
202//----------------------------------------------------------------------//
203
212
221
222//----------------------------------------------------------------------//
223//- Public methods (SbgEComLogEkfNav) -//
224//----------------------------------------------------------------------//
225
234
243
244//----------------------------------------------------------------------//
245//- Public methods (SbgEComLogEkfVelBody) -//
246//----------------------------------------------------------------------//
247
254
263
272
273//----------------------------------------------------------------------//
274//- Public methods (SbgEComLogEkfAirData) -//
275//----------------------------------------------------------------------//
276
283
292
301
302//----------------------------------------------------------------------//
303//- Public setters/getters -//
304//----------------------------------------------------------------------//
305
313
321uint32_t sbgEComLogEkfBuildSolutionStatus(SbgEComSolutionMode solutionMode, uint32_t masks);
322
323//----------------------------------------------------------------------//
324//- DEPRECATED - Used for backward compatibility -//
325//----------------------------------------------------------------------//
326
327#ifdef SBG_ECOM_USE_DEPRECATED_MACROS
328 #define SBG_ECOM_SOL_AIR_DATA_USED (SBG_ECOM_SOL_AIRSPEED_USED)
329 #define SBG_ECOM_SOL_DEPTH_USED (SBG_ECOM_SOL_VERTICAL_AIDING_USED)
330#endif
331
332SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogEkfEuler SbgLogEkfEulerData);
333SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogEkfQuat SbgLogEkfQuatData);
334SBG_DEPRECATED_TYPEDEF(typedef struct _SbgEComLogEkfNav SbgLogEkfNavData);
335
336SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseEkfEulerData(SbgStreamBuffer *pStreamBuffer, SbgEComLogEkfEuler *pLogData));
337SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteEkfEulerData(SbgStreamBuffer *pStreamBuffer, const SbgEComLogEkfEuler *pLogData));
338
339SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseEkfQuatData(SbgStreamBuffer *pStreamBuffer, SbgEComLogEkfQuat *pLogData));
340SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteEkfQuatData(SbgStreamBuffer *pStreamBuffer, const SbgEComLogEkfQuat *pLogData));
341
342SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogParseEkfNavData(SbgStreamBuffer *pStreamBuffer, SbgEComLogEkfNav *pLogData));
343SBG_DEPRECATED(SbgErrorCode sbgEComBinaryLogWriteEkfNavData(SbgStreamBuffer *pStreamBuffer, const SbgEComLogEkfNav *pLogData));
344
345#ifdef __cplusplus
346}
347#endif
348
349#endif // SBG_ECOM_LOG_EKF_H
Main header for the SBG Systems common C library.
#define SBG_DEPRECATED(func)
Definition sbgDefines.h:316
#define SBG_DEPRECATED_TYPEDEF(decl)
Definition sbgDefines.h:349
struct _SbgEComLogEkfAirData SbgEComLogEkfAirData
_SbgEComSolutionMode
Definition sbgEComLogEkf.h:83
@ SBG_ECOM_SOL_MODE_VERTICAL_GYRO
Definition sbgEComLogEkf.h:85
@ SBG_ECOM_SOL_MODE_AHRS
Definition sbgEComLogEkf.h:86
@ SBG_ECOM_SOL_MODE_UNINITIALIZED
Definition sbgEComLogEkf.h:84
@ SBG_ECOM_SOL_MODE_NAV_POSITION
Definition sbgEComLogEkf.h:88
@ SBG_ECOM_SOL_MODE_NAV_VELOCITY
Definition sbgEComLogEkf.h:87
SbgErrorCode sbgEComLogEkfNavWriteToStream(const SbgEComLogEkfNav *pLogData, SbgStreamBuffer *pStreamBuffer)
SbgErrorCode sbgEComLogEkfVelBodyReadFromStream(SbgEComLogEkfVelBody *pLogData, SbgStreamBuffer *pStreamBuffer)
SbgErrorCode sbgEComLogEkfVelBodyWriteToStream(const SbgEComLogEkfVelBody *pLogData, SbgStreamBuffer *pStreamBuffer)
struct _SbgEComLogEkfVelBody SbgEComLogEkfVelBody
SbgErrorCode sbgEComLogEkfNavReadFromStream(SbgEComLogEkfNav *pLogData, SbgStreamBuffer *pStreamBuffer)
struct _SbgEComLogEkfEuler SbgEComLogEkfEuler
struct _SbgEComLogEkfNav SbgEComLogEkfNav
SbgErrorCode sbgEComLogEkfQuatWriteToStream(const SbgEComLogEkfQuat *pLogData, SbgStreamBuffer *pStreamBuffer)
void sbgEComLogEkfVelBodyConstruct(SbgEComLogEkfVelBody *pLogData)
SbgErrorCode sbgEComLogEkfAirDataWriteToStream(const SbgEComLogEkfAirData *pLogData, SbgStreamBuffer *pStreamBuffer)
struct _SbgEComLogEkfQuat SbgEComLogEkfQuat
SbgErrorCode sbgEComLogEkfEulerWriteToStream(const SbgEComLogEkfEuler *pLogData, SbgStreamBuffer *pStreamBuffer)
SbgErrorCode sbgEComLogEkfEulerReadFromStream(SbgEComLogEkfEuler *pLogData, SbgStreamBuffer *pStreamBuffer)
SbgEComSolutionMode sbgEComLogEkfGetSolutionMode(uint32_t status)
uint32_t sbgEComLogEkfBuildSolutionStatus(SbgEComSolutionMode solutionMode, uint32_t masks)
float sbgEComLogEkfEulerGetMagneticHeading(const SbgEComLogEkfEuler *pEkfEuler)
void sbgEComLogEkfAirDataConstruct(SbgEComLogEkfAirData *pLogData)
SbgErrorCode sbgEComLogEkfQuatReadFromStream(SbgEComLogEkfQuat *pLogData, SbgStreamBuffer *pStreamBuffer)
SbgErrorCode sbgEComLogEkfAirDataReadFromStream(SbgEComLogEkfAirData *pLogData, SbgStreamBuffer *pStreamBuffer)
enum _SbgEComSolutionMode SbgEComSolutionMode
enum _SbgErrorCode SbgErrorCode
Used to read/write data from/to a memory buffer stream.
struct _SbgStreamBuffer SbgStreamBuffer
Definition sbgEComLogEkf.h:163
float windStdDev[3]
Definition sbgEComLogEkf.h:167
uint16_t status
Definition sbgEComLogEkf.h:165
float wind[3]
Definition sbgEComLogEkf.h:166
uint32_t timeStamp
Definition sbgEComLogEkf.h:164
Definition sbgEComLogEkf.h:105
float magDeclination
Definition sbgEComLogEkf.h:110
uint32_t timeStamp
Definition sbgEComLogEkf.h:106
float eulerStdDev[3]
Definition sbgEComLogEkf.h:108
uint32_t status
Definition sbgEComLogEkf.h:109
float euler[3]
Definition sbgEComLogEkf.h:107
float magInclination
Definition sbgEComLogEkf.h:111
Definition sbgEComLogEkf.h:137
float velocity[3]
Definition sbgEComLogEkf.h:139
double position[3]
Definition sbgEComLogEkf.h:141
float velocityStdDev[3]
Definition sbgEComLogEkf.h:140
float positionStdDev[3]
Definition sbgEComLogEkf.h:144
uint32_t timeStamp
Definition sbgEComLogEkf.h:138
float undulation
Definition sbgEComLogEkf.h:143
uint32_t status
Definition sbgEComLogEkf.h:145
Definition sbgEComLogEkf.h:124
float quaternion[4]
Definition sbgEComLogEkf.h:126
float magDeclination
Definition sbgEComLogEkf.h:129
float eulerStdDev[3]
Definition sbgEComLogEkf.h:127
uint32_t timeStamp
Definition sbgEComLogEkf.h:125
uint32_t status
Definition sbgEComLogEkf.h:128
float magInclination
Definition sbgEComLogEkf.h:130
Definition sbgEComLogEkf.h:152
uint32_t timeStamp
Definition sbgEComLogEkf.h:153
float velocity[3]
Definition sbgEComLogEkf.h:155
float velocityStdDev[3]
Definition sbgEComLogEkf.h:156
uint32_t status
Definition sbgEComLogEkf.h:154