Classes | Macros | Typedefs | Enumerations | Functions
sbgEComBinaryLogEkf.h File Reference

This file is used to parse received EKF compued data binary logs. More...

#include <sbgCommon.h>
#include <streamBuffer/sbgStreamBuffer.h>
Include dependency graph for sbgEComBinaryLogEkf.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _SbgLogEkfEulerData
 
struct  _SbgLogEkfNavData
 
struct  _SbgLogEkfQuatData
 

Macros

#define SBG_ECOM_SOL_AIR_DATA_USED   (0x00000001u << 25)
 
#define SBG_ECOM_SOL_ALIGN_VALID   (0x00000001u << 27)
 
#define SBG_ECOM_SOL_ATTITUDE_VALID   (0x00000001u << 4)
 
#define SBG_ECOM_SOL_DEPTH_USED   (0x00000001u << 28)
 
#define SBG_ECOM_SOL_DVL_BT_USED   (0x00000001u << 19)
 
#define SBG_ECOM_SOL_DVL_WT_USED   (0x00000001u << 20)
 
#define SBG_ECOM_SOL_GPS1_HDT_USED   (0x00000001u << 13)
 
#define SBG_ECOM_SOL_GPS1_POS_USED   (0x00000001u << 11)
 
#define SBG_ECOM_SOL_GPS1_VEL_USED   (0x00000001u << 10)
 
#define SBG_ECOM_SOL_GPS2_HDT_USED   (0x00000001u << 17)
 
#define SBG_ECOM_SOL_GPS2_POS_USED   (0x00000001u << 15)
 
#define SBG_ECOM_SOL_GPS2_VEL_USED   (0x00000001u << 14)
 
#define SBG_ECOM_SOL_HEADING_VALID   (0x00000001u << 5)
 
#define SBG_ECOM_SOL_MAG_REF_USED   (0x00000001u << 9)
 
#define SBG_ECOM_SOL_ODO_USED   (0x00000001u << 18)
 
#define SBG_ECOM_SOL_POSITION_VALID   (0x00000001u << 7)
 
#define SBG_ECOM_SOL_USBL_USED   (0x00000001u << 24)
 
#define SBG_ECOM_SOL_USER_HEADING_USED   (0x00000001u << 23)
 
#define SBG_ECOM_SOL_USER_POS_USED   (0x00000001u << 21)
 
#define SBG_ECOM_SOL_USER_VEL_USED   (0x00000001u << 22)
 
#define SBG_ECOM_SOL_VELOCITY_VALID   (0x00000001u << 6)
 
#define SBG_ECOM_SOL_VERT_REF_USED   (0x00000001u << 8)
 
#define SBG_ECOM_SOL_ZUPT_USED   (0x00000001u << 26)
 
#define SBG_ECOM_SOLUTION_MODE_MASK   (0x0000000Fu)
 
#define SBG_ECOM_SOLUTION_MODE_SHIFT   (0u)
 

Typedefs

typedef enum _SbgEComSolutionMode SbgEComSolutionMode
 
typedef struct _SbgLogEkfEulerData SbgLogEkfEulerData
 
typedef struct _SbgLogEkfNavData SbgLogEkfNavData
 
typedef struct _SbgLogEkfQuatData SbgLogEkfQuatData
 

Enumerations

enum  _SbgEComSolutionMode {
  SBG_ECOM_SOL_MODE_UNINITIALIZED = 0, SBG_ECOM_SOL_MODE_VERTICAL_GYRO = 1, SBG_ECOM_SOL_MODE_AHRS = 2, SBG_ECOM_SOL_MODE_NAV_VELOCITY = 3,
  SBG_ECOM_SOL_MODE_NAV_POSITION = 4
}
 

Functions

SbgErrorCode sbgEComBinaryLogParseEkfEulerData (SbgStreamBuffer *pInputStream, SbgLogEkfEulerData *pOutputData)
 
SbgErrorCode sbgEComBinaryLogParseEkfNavData (SbgStreamBuffer *pInputStream, SbgLogEkfNavData *pOutputData)
 
SbgErrorCode sbgEComBinaryLogParseEkfQuatData (SbgStreamBuffer *pInputStream, SbgLogEkfQuatData *pOutputData)
 
SbgErrorCode sbgEComBinaryLogWriteEkfEulerData (SbgStreamBuffer *pOutputStream, const SbgLogEkfEulerData *pInputData)
 
SbgErrorCode sbgEComBinaryLogWriteEkfNavData (SbgStreamBuffer *pOutputStream, const SbgLogEkfNavData *pInputData)
 
SbgErrorCode sbgEComBinaryLogWriteEkfQuatData (SbgStreamBuffer *pOutputStream, const SbgLogEkfQuatData *pInputData)
 
SBG_INLINE uint32_t sbgEComLogEkfBuildSolutionStatus (SbgEComSolutionMode solutionMode, uint32_t masks)
 
SBG_INLINE SbgEComSolutionMode sbgEComLogEkfGetSolutionMode (uint32_t status)
 

Detailed Description

This file is used to parse received EKF compued data binary logs.

Author
SBG Systems (Raphael Siryani)
Date
25 February 2013

Copyright Notice

Copyright (C) 2007-2013, SBG Systems SAS. All rights reserved.

This source code is intended for use only by SBG Systems SAS and those that have explicit written permission to use it from SBG Systems SAS.

THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.

Definition in file sbgEComBinaryLogEkf.h.

Macro Definition Documentation

◆ SBG_ECOM_SOL_AIR_DATA_USED

#define SBG_ECOM_SOL_AIR_DATA_USED   (0x00000001u << 25)

Set to 1 if AirData (altimeter and/or true airspeed) is used in solution (data used and valid since 3s).

Definition at line 58 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_ALIGN_VALID

#define SBG_ECOM_SOL_ALIGN_VALID   (0x00000001u << 27)

Set to 1 if sensor alignment and calibration parameters are valid

Definition at line 60 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_ATTITUDE_VALID

#define SBG_ECOM_SOL_ATTITUDE_VALID   (0x00000001u << 4)

Solution bit masks definitions.Set to 1 if attitude data is reliable (Roll/Pitch error < 0,5°).

Definition at line 39 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_DEPTH_USED

#define SBG_ECOM_SOL_DEPTH_USED   (0x00000001u << 28)

Set to 1 if Depth sensor (for subsea navigation) is used in solution (data used and valid since 3s).

Definition at line 61 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_DVL_BT_USED

#define SBG_ECOM_SOL_DVL_BT_USED   (0x00000001u << 19)

Set to 1 if DVL Bottom Tracking is used in solution (data used and valid since 3s).

Definition at line 52 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_DVL_WT_USED

#define SBG_ECOM_SOL_DVL_WT_USED   (0x00000001u << 20)

Set to 1 if DVL Water Tracking is used in solution (data used and valid since 3s).

Definition at line 53 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_GPS1_HDT_USED

#define SBG_ECOM_SOL_GPS1_HDT_USED   (0x00000001u << 13)

Set to 1 if GPS1 True Heading is used in solution (data used and valid since 3s).

Definition at line 47 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_GPS1_POS_USED

#define SBG_ECOM_SOL_GPS1_POS_USED   (0x00000001u << 11)

Set to 1 if GPS1 Position is used in solution (data used and valid since 3s).

Definition at line 46 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_GPS1_VEL_USED

#define SBG_ECOM_SOL_GPS1_VEL_USED   (0x00000001u << 10)

Set to 1 if GPS1 velocity is used in solution (data used and valid since 3s).

Definition at line 45 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_GPS2_HDT_USED

#define SBG_ECOM_SOL_GPS2_HDT_USED   (0x00000001u << 17)

Set to 1 if GPS2 True Heading is used in solution (data used and valid since 3s).

Definition at line 50 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_GPS2_POS_USED

#define SBG_ECOM_SOL_GPS2_POS_USED   (0x00000001u << 15)

Set to 1 if GPS2 Position is used in solution (data used and valid since 3s).

Definition at line 49 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_GPS2_VEL_USED

#define SBG_ECOM_SOL_GPS2_VEL_USED   (0x00000001u << 14)

Set to 1 if GPS2 velocity is used in solution (data used and valid since 3s).

Definition at line 48 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_HEADING_VALID

#define SBG_ECOM_SOL_HEADING_VALID   (0x00000001u << 5)

Set to 1 if geading data is reliable (Heading error < 1°).

Definition at line 40 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_MAG_REF_USED

#define SBG_ECOM_SOL_MAG_REF_USED   (0x00000001u << 9)

Set to 1 if magnetometer is used in solution (data used and valid since 3s).

Definition at line 44 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_ODO_USED

#define SBG_ECOM_SOL_ODO_USED   (0x00000001u << 18)

Set to 1 if Odometer is used in solution (data used and valid since 3s).

Definition at line 51 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_POSITION_VALID

#define SBG_ECOM_SOL_POSITION_VALID   (0x00000001u << 7)

Set to 1 if position data is reliable (Position error < 10m).

Definition at line 42 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_USBL_USED

#define SBG_ECOM_SOL_USBL_USED   (0x00000001u << 24)

Set to 1 if USBL / LBL is used in solution (data used and valid since 3s).

Definition at line 57 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_USER_HEADING_USED

#define SBG_ECOM_SOL_USER_HEADING_USED   (0x00000001u << 23)

Set to 1 if user Course is used in solution (data used and valid since 3s).

Definition at line 56 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_USER_POS_USED

#define SBG_ECOM_SOL_USER_POS_USED   (0x00000001u << 21)

Set to 1 if user velocity is used in solution (data used and valid since 3s).

Definition at line 54 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_USER_VEL_USED

#define SBG_ECOM_SOL_USER_VEL_USED   (0x00000001u << 22)

Set to 1 if user Position is used in solution (data used and valid since 3s).

Definition at line 55 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_VELOCITY_VALID

#define SBG_ECOM_SOL_VELOCITY_VALID   (0x00000001u << 6)

Set to 1 if velocity data is reliable (velocity error < 1.5 m/s).

Definition at line 41 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_VERT_REF_USED

#define SBG_ECOM_SOL_VERT_REF_USED   (0x00000001u << 8)

Set to 1 if vertical reference is used in solution (data used and valid since 3s).

Definition at line 43 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOL_ZUPT_USED

#define SBG_ECOM_SOL_ZUPT_USED   (0x00000001u << 26)

Set to 1 if a ZUPT is used in solution (data used and valid since 3s).

Definition at line 59 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOLUTION_MODE_MASK

#define SBG_ECOM_SOLUTION_MODE_MASK   (0x0000000Fu)

Mask used to keep only the clock status part.

Definition at line 34 of file sbgEComBinaryLogEkf.h.

◆ SBG_ECOM_SOLUTION_MODE_SHIFT

#define SBG_ECOM_SOLUTION_MODE_SHIFT   (0u)

Solution status mode definitions.Shift used to extract the clock status part.

Definition at line 33 of file sbgEComBinaryLogEkf.h.

Typedef Documentation

◆ SbgEComSolutionMode

Solution filter mode enum.

◆ SbgLogEkfEulerData

EKF computed orientation using euler angles.

◆ SbgLogEkfNavData

EFK computed navigation data.

◆ SbgLogEkfQuatData

EFK computed orientation using quaternion.

Enumeration Type Documentation

◆ _SbgEComSolutionMode

Solution filter mode enum.

Enumerator
SBG_ECOM_SOL_MODE_UNINITIALIZED 

The Kalman filter is not initialized and the returned data are all invalid.

SBG_ECOM_SOL_MODE_VERTICAL_GYRO 

The Kalman filter only rely on a vertical reference to compute roll and pitch angles. Heading and navigation data drift freely.

SBG_ECOM_SOL_MODE_AHRS 

A heading reference is available, the Kalman filter provides full orientation but navigation data drift freely.

SBG_ECOM_SOL_MODE_NAV_VELOCITY 

The Kalman filter computes orientation and velocity. Position is freely integrated from velocity estimation.

SBG_ECOM_SOL_MODE_NAV_POSITION 

Nominal mode, the Kalman filter computes all parameters (attitude, velocity, position). Absolute position is provided.

Definition at line 66 of file sbgEComBinaryLogEkf.h.

Function Documentation

◆ sbgEComBinaryLogParseEkfEulerData()

SbgErrorCode sbgEComBinaryLogParseEkfEulerData ( SbgStreamBuffer pInputStream,
SbgLogEkfEulerData pOutputData 
)

Parse data for the SBG_ECOM_LOG_EKF_EULER message and fill the corresponding structure.

Parameters
[in]pInputStreamInput stream buffer to read the payload from.
[out]pOutputDataPointer on the output structure that stores parsed data.
Returns
SBG_NO_ERROR if the payload has been parsed.

Definition at line 13 of file sbgEComBinaryLogEkf.c.

◆ sbgEComBinaryLogParseEkfNavData()

SbgErrorCode sbgEComBinaryLogParseEkfNavData ( SbgStreamBuffer pInputStream,
SbgLogEkfNavData pOutputData 
)

Parse data for the SBG_ECOM_LOG_EKF_NAV message and fill the corresponding structure.

Parameters
[in]pInputStreamInput stream buffer to read the payload from.
[out]pOutputDataPointer on the output structure that stores parsed data.
Returns
SBG_NO_ERROR if the payload has been parsed.

Definition at line 143 of file sbgEComBinaryLogEkf.c.

◆ sbgEComBinaryLogParseEkfQuatData()

SbgErrorCode sbgEComBinaryLogParseEkfQuatData ( SbgStreamBuffer pInputStream,
SbgLogEkfQuatData pOutputData 
)

Parse data for the SBG_ECOM_LOG_EKF_QUAT message and fill the corresponding structure.

Parameters
[in]pInputStreamInput stream buffer to read the payload from.
[out]pOutputDataPointer on the output structure that stores parsed data.
Returns
SBG_NO_ERROR if the payload has been parsed.

Definition at line 77 of file sbgEComBinaryLogEkf.c.

◆ sbgEComBinaryLogWriteEkfEulerData()

SbgErrorCode sbgEComBinaryLogWriteEkfEulerData ( SbgStreamBuffer pOutputStream,
const SbgLogEkfEulerData pInputData 
)

Write data for the SBG_ECOM_LOG_EKF_EULER message to the output stream buffer from the provided structure.

Parameters
[out]pOutputStreamOutput stream buffer to write the payload to.
[in]pInputDataPointer on the input structure that stores data to write.
Returns
SBG_NO_ERROR if the message has been generated in the provided buffer.

Definition at line 45 of file sbgEComBinaryLogEkf.c.

◆ sbgEComBinaryLogWriteEkfNavData()

SbgErrorCode sbgEComBinaryLogWriteEkfNavData ( SbgStreamBuffer pOutputStream,
const SbgLogEkfNavData pInputData 
)

Write data for the SBG_ECOM_LOG_EKF_NAV message to the output stream buffer from the provided structure.

Parameters
[out]pOutputStreamOutput stream buffer to write the payload to.
[in]pInputDataPointer on the input structure that stores data to write.
Returns
SBG_NO_ERROR if the message has been generated in the provided buffer.

Definition at line 185 of file sbgEComBinaryLogEkf.c.

◆ sbgEComBinaryLogWriteEkfQuatData()

SbgErrorCode sbgEComBinaryLogWriteEkfQuatData ( SbgStreamBuffer pOutputStream,
const SbgLogEkfQuatData pInputData 
)

Write data for the SBG_ECOM_LOG_EKF_QUAT message to the output stream buffer from the provided structure.

Parameters
[out]pOutputStreamOutput stream buffer to write the payload to.
[in]pInputDataPointer on the input structure that stores data to write.
Returns
SBG_NO_ERROR if the message has been generated in the provided buffer.

Definition at line 110 of file sbgEComBinaryLogEkf.c.

◆ sbgEComLogEkfBuildSolutionStatus()

SBG_INLINE uint32_t sbgEComLogEkfBuildSolutionStatus ( SbgEComSolutionMode  solutionMode,
uint32_t  masks 
)

Method used to write the solution status field.

Parameters
[in]solutionModeThe solution mode to set.
[in]masksBit mask to set.
Returns
The build solution status field.

Definition at line 95 of file sbgEComBinaryLogEkf.h.

◆ sbgEComLogEkfGetSolutionMode()

SBG_INLINE SbgEComSolutionMode sbgEComLogEkfGetSolutionMode ( uint32_t  status)

Method used to read the solution mode from a solution status field.

Parameters
[in]statusStatus uint32_t value to extract the solution mode from it.
Returns
The extracted solution mode.

Definition at line 84 of file sbgEComBinaryLogEkf.h.



sbg_driver
Author(s): SBG Systems
autogenerated on Sat Sep 3 2022 02:53:36