sbgECom Library  4.0.1987-stable
C library to interface SBG Systems IMU/AHRS/INS
sbgEComCmdSensor.h File Reference

Motion profile, aiding assignment & sensor installation commands. More...

#include <sbgCommon.h>
#include <sbgECom.h>
#include "sbgEComCmdCommon.h"

Go to the source code of this file.

Data Structures

struct  _SbgEComAidingAssignConf
 
struct  _SbgEComSensorAlignmentInfo
 
struct  _SbgEComInitConditionConf
 

Typedefs

typedef enum _SbgEComModulePortAssignment SbgEComModulePortAssignment
 
typedef enum _SbgEComModuleSyncAssignment SbgEComModuleSyncAssignment
 
typedef enum _SbgEComOdometerPinAssignment SbgEComOdometerPinAssignment
 
typedef enum _SbgEComMotionProfileStdIds SbgEComMotionProfileStdIds
 
typedef struct _SbgEComAidingAssignConf SbgEComAidingAssignConf
 
typedef struct _SbgEComSensorAlignmentInfo SbgEComSensorAlignmentInfo
 
typedef struct _SbgEComInitConditionConf SbgEComInitConditionConf
 

Enumerations

enum  _SbgEComModulePortAssignment {
  SBG_ECOM_MODULE_PORT_A = 0 ,
  SBG_ECOM_MODULE_PORT_B = 1 ,
  SBG_ECOM_MODULE_PORT_C = 2 ,
  SBG_ECOM_MODULE_PORT_D = 3 ,
  SBG_ECOM_MODULE_PORT_E = 4 ,
  SBG_ECOM_MODULE_INTERNAL = 5 ,
  SBG_ECOM_MODULE_DISABLED = 0xFF
}
 
enum  _SbgEComModuleSyncAssignment {
  SBG_ECOM_MODULE_SYNC_DISABLED = 0 ,
  SBG_ECOM_MODULE_SYNC_IN_A = 1 ,
  SBG_ECOM_MODULE_SYNC_IN_B = 2 ,
  SBG_ECOM_MODULE_SYNC_IN_C = 3 ,
  SBG_ECOM_MODULE_SYNC_IN_D = 4 ,
  SBG_ECOM_MODULE_SYNC_INTERNAL = 5 ,
  SBG_ECOM_MODULE_SYNC_OUT_A = 6 ,
  SBG_ECOM_MODULE_SYNC_OUT_B = 7
}
 
enum  _SbgEComOdometerPinAssignment {
  SBG_ECOM_MODULE_ODO_DISABLED = 0 ,
  SBG_ECOM_MODULE_ODO_A = 1 ,
  SBG_ECOM_MODULE_ODO_A_B = 2 ,
  SBG_ECOM_MODULE_ODO_CAN = 3
}
 
enum  _SbgEComMotionProfileStdIds {
  SBG_ECOM_MOTION_PROFILE_GENERAL_PURPOSE = 1 ,
  SBG_ECOM_MOTION_PROFILE_AUTOMOTIVE = 2 ,
  SBG_ECOM_MOTION_PROFILE_MARINE = 3 ,
  SBG_ECOM_MOTION_PROFILE_AIRPLANE = 4 ,
  SBG_ECOM_MOTION_PROFILE_HELICOPTER = 5 ,
  SBG_ECOM_MOTION_PROFILE_PEDESTRIAN = 6 ,
  SBG_ECOM_MOTION_PROFILE_UAV_ROTARY_WING = 7 ,
  SBG_ECOM_MOTION_PROFILE_HEAVY_MACHINERY = 8 ,
  SBG_ECOM_MOTION_PROFILE_STATIC = 9 ,
  SBG_ECOM_MOTION_PROFILE_TRUCK = 10 ,
  SBG_ECOM_MOTION_PROFILE_RAILWAY = 11
}
 

Functions

SbgErrorCode sbgEComCmdSensorSetMotionProfileId (SbgEComHandle *pHandle, SbgEComMotionProfileStdIds modelId)
 
SbgErrorCode sbgEComCmdSensorGetMotionProfileId (SbgEComHandle *pHandle, SbgEComMotionProfileStdIds *pModelId)
 
SbgErrorCode sbgEComCmdSensorGetInitCondition (SbgEComHandle *pHandle, SbgEComInitConditionConf *pConf)
 
SbgErrorCode sbgEComCmdSensorSetInitCondition (SbgEComHandle *pHandle, const SbgEComInitConditionConf *pConf)
 
SbgErrorCode sbgEComCmdSensorGetAidingAssignment (SbgEComHandle *pHandle, SbgEComAidingAssignConf *pConf)
 
SbgErrorCode sbgEComCmdSensorSetAidingAssignment (SbgEComHandle *pHandle, const SbgEComAidingAssignConf *pConf)
 
SbgErrorCode sbgEComCmdSensorGetAlignmentAndLeverArm (SbgEComHandle *pHandle, SbgEComSensorAlignmentInfo *pAlignConf, float *pLeverArm)
 
SbgErrorCode sbgEComCmdSensorSetAlignmentAndLeverArm (SbgEComHandle *pHandle, const SbgEComSensorAlignmentInfo *pAlignConf, const float *pLeverArm)
 

Detailed Description

Motion profile, aiding assignment & sensor installation commands.

Author
SBG Systems
Date
11 June 2014
License

The MIT license

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Typedef Documentation

◆ SbgEComModulePortAssignment

Ports available for the modules.

◆ SbgEComModuleSyncAssignment

Synchronization signals available for the modules.

◆ SbgEComOdometerPinAssignment

List of configurations available for the odometer.

◆ SbgEComMotionProfileStdIds

This enum defines the different motion profile IDs available in standard

◆ SbgEComAidingAssignConf

Helper structure for module assignments

◆ SbgEComSensorAlignmentInfo

Helper structure for sensor alignment details

◆ SbgEComInitConditionConf

Helper structure for sensor Initial condition details

Enumeration Type Documentation

◆ _SbgEComModulePortAssignment

Ports available for the modules.

Enumerator
SBG_ECOM_MODULE_PORT_A 

Module connected on PORT_A.

SBG_ECOM_MODULE_PORT_B 

Module connected on PORT_B.

SBG_ECOM_MODULE_PORT_C 

Module connected on PORT_C.

SBG_ECOM_MODULE_PORT_D 

Module connected on PORT_D.

SBG_ECOM_MODULE_PORT_E 

Module connected on PORT_E.

SBG_ECOM_MODULE_INTERNAL 

Module is connected internally.

SBG_ECOM_MODULE_DISABLED 

Module is disabled.

◆ _SbgEComModuleSyncAssignment

Synchronization signals available for the modules.

Enumerator
SBG_ECOM_MODULE_SYNC_DISABLED 

Module is disabled.

SBG_ECOM_MODULE_SYNC_IN_A 

Synchronization is done using SYNC_IN_A pin.

SBG_ECOM_MODULE_SYNC_IN_B 

Synchronization is done using SYNC_IN_B pin.

SBG_ECOM_MODULE_SYNC_IN_C 

Synchronization is done using SYNC_IN_C pin.

SBG_ECOM_MODULE_SYNC_IN_D 

Synchronization is done using SYNC_IN_D pin.

SBG_ECOM_MODULE_SYNC_INTERNAL 

Synchronization is internal.

SBG_ECOM_MODULE_SYNC_OUT_A 

Synchronization signal is output on SYNC_OUT_A.

SBG_ECOM_MODULE_SYNC_OUT_B 

Synchronization signal is output on SYNC_OUT_B.

◆ _SbgEComOdometerPinAssignment

List of configurations available for the odometer.

Enumerator
SBG_ECOM_MODULE_ODO_DISABLED 

Odometer is disabled.

SBG_ECOM_MODULE_ODO_A 

Odometer connected only to ODO_A (unidirectional)..

SBG_ECOM_MODULE_ODO_A_B 

Odometer connected to both ODO_A (signal A) and ODO_B (Signal B or direction) for bidirectional odometer..

SBG_ECOM_MODULE_ODO_CAN 

Vehicle odometer using CAN (OBD-II).

◆ _SbgEComMotionProfileStdIds

This enum defines the different motion profile IDs available in standard

Enumerator
SBG_ECOM_MOTION_PROFILE_GENERAL_PURPOSE 

Should be used as a default when other profiles do not apply

SBG_ECOM_MOTION_PROFILE_AUTOMOTIVE 

Dedicated to car applications with strict lateral velocity constraints.

SBG_ECOM_MOTION_PROFILE_MARINE 

Used in marine and underwater applications

SBG_ECOM_MOTION_PROFILE_AIRPLANE 

For fixed wings aircraft

SBG_ECOM_MOTION_PROFILE_HELICOPTER 

For rotary wing aircraft

SBG_ECOM_MOTION_PROFILE_PEDESTRIAN 

Pedestrian applications using foot odometer

SBG_ECOM_MOTION_PROFILE_UAV_ROTARY_WING 

For rotary wing UAVs that have low dynamics

SBG_ECOM_MOTION_PROFILE_HEAVY_MACHINERY 

For vibrating applications with low dynamics and no specific travel direction

SBG_ECOM_MOTION_PROFILE_STATIC 

Static motion profile that delivers stable results for 27/7 operations.

SBG_ECOM_MOTION_PROFILE_TRUCK 

Truck applications with medium lateral velocity constraints.

SBG_ECOM_MOTION_PROFILE_RAILWAY 

Train applications with relaxed lateral velocity constraints.

Function Documentation

◆ sbgEComCmdSensorSetMotionProfileId()

SbgErrorCode sbgEComCmdSensorSetMotionProfileId ( SbgEComHandle pHandle,
SbgEComMotionProfileStdIds  modelId 
)

Set the motion profile id used to tune the Kalman Filter to a specific application

Parameters
[in]pHandleA valid sbgECom handle.
[in]modelIdMotion profile id to set
Returns
SBG_NO_ERROR if the command has been executed successfully.

◆ sbgEComCmdSensorGetMotionProfileId()

SbgErrorCode sbgEComCmdSensorGetMotionProfileId ( SbgEComHandle pHandle,
SbgEComMotionProfileStdIds pModelId 
)

Retrieve the motion profile id.

Parameters
[in]pHandleA valid sbgECom handle.
[out]pModelIdRetrieved motion profile id
Returns
SBG_NO_ERROR if the command has been executed successfully.

◆ sbgEComCmdSensorGetInitCondition()

SbgErrorCode sbgEComCmdSensorGetInitCondition ( SbgEComHandle pHandle,
SbgEComInitConditionConf pConf 
)

Retrieve the initial conditions settings.

Parameters
[in]pHandleA valid sbgECom handle.
[out]pConfPointer to a SbgEComInitConditionConf to contain the current initial conditions settings.
Returns
SBG_NO_ERROR if the command has been executed successfully.

◆ sbgEComCmdSensorSetInitCondition()

SbgErrorCode sbgEComCmdSensorSetInitCondition ( SbgEComHandle pHandle,
const SbgEComInitConditionConf pConf 
)

Set the initial condition configuration.

Parameters
[in]pHandleA valid sbgECom handle.
[in]pConfPointer to a SbgEComInitConditionConf containing the new initial condition configuration.
Returns
SBG_NO_ERROR if the command has been executed successfully.

◆ sbgEComCmdSensorGetAidingAssignment()

SbgErrorCode sbgEComCmdSensorGetAidingAssignment ( SbgEComHandle pHandle,
SbgEComAidingAssignConf pConf 
)

Retrieve the assignment of the aiding sensors.

Parameters
[in]pHandleA valid sbgECom handle.
[out]pConfPointer to a SbgEComAidingAssignConf to contain the current assignment of the aiding sensors.
Returns
SBG_NO_ERROR if the command has been executed successfully.

◆ sbgEComCmdSensorSetAidingAssignment()

SbgErrorCode sbgEComCmdSensorSetAidingAssignment ( SbgEComHandle pHandle,
const SbgEComAidingAssignConf pConf 
)

Set the assignment of the aiding sensors.

Parameters
[in]pHandleA valid sbgECom handle.
[out]pConfPointer to a SbgEComAidingAssignConf containing the new assignment of the aiding sensors.
Returns
SBG_NO_ERROR if the command has been executed successfully.

◆ sbgEComCmdSensorGetAlignmentAndLeverArm()

SbgErrorCode sbgEComCmdSensorGetAlignmentAndLeverArm ( SbgEComHandle pHandle,
SbgEComSensorAlignmentInfo pAlignConf,
float *  pLeverArm 
)

Retrieve the alignment and lever arm configuration of the sensor.

Parameters
[in]pHandleA valid sbgECom handle.
[out]pAlignConfPointer to a SbgEComSensorAlignmentInfo struct to hold alignment configuration of the sensor.
[out]pLeverArmPointer to a table to contain lever arm X, Y, Z components in meters.
Returns
SBG_NO_ERROR if the command has been executed successfully.

◆ sbgEComCmdSensorSetAlignmentAndLeverArm()

SbgErrorCode sbgEComCmdSensorSetAlignmentAndLeverArm ( SbgEComHandle pHandle,
const SbgEComSensorAlignmentInfo pAlignConf,
const float *  pLeverArm 
)

Set the alignment and lever arm configuration of the sensor.

Parameters
[in]pHandleA valid sbgECom handle.
[in]pAlignConfPointer to a SbgEComSensorAlignmentInfo struct holding alignment configuration for the sensor.
[in]pLeverArmPointer to a table containing lever arm X, Y, Z components in meters.
Returns
SBG_NO_ERROR if the command has been executed successfully.