MIP_SDK  v3.0.0
MicroStrain Communications Library for embedded systems
Classes | Typedefs | Enumerations | Functions
(0x13,0x01) Frame Config

Defines an aiding frame associated with a specific sensor frame ID. The frame ID used in this command should mirror the frame ID used in the aiding command (if that aiding measurement is measured in this reference frame). More...

Classes

union  mip::C::mip_aiding_frame_config_command_rotation
 
struct  mip::C::mip_aiding_frame_config_command
 
struct  mip::C::mip_aiding_frame_config_response
 

Typedefs

typedef enum mip_aiding_frame_config_command_format mip::C::mip_aiding_frame_config_command_format
 
typedef union mip_aiding_frame_config_command_rotation mip::C::mip_aiding_frame_config_command_rotation
 
typedef struct mip_aiding_frame_config_command mip::C::mip_aiding_frame_config_command
 
typedef struct mip_aiding_frame_config_response mip::C::mip_aiding_frame_config_response
 

Enumerations

enum  mip::C::mip_aiding_frame_config_command_format { mip::C::MIP_AIDING_FRAME_CONFIG_COMMAND_FORMAT_EULER = 1, mip::C::MIP_AIDING_FRAME_CONFIG_COMMAND_FORMAT_QUATERNION = 2 }
 

Functions

void mip::C::insert_mip_aiding_frame_config_command (microstrain_serializer *serializer, const mip_aiding_frame_config_command *self)
 
void mip::C::extract_mip_aiding_frame_config_command (microstrain_serializer *serializer, mip_aiding_frame_config_command *self)
 
void mip::C::insert_mip_aiding_frame_config_response (microstrain_serializer *serializer, const mip_aiding_frame_config_response *self)
 
void mip::C::extract_mip_aiding_frame_config_response (microstrain_serializer *serializer, mip_aiding_frame_config_response *self)
 
mip_cmd_result mip::C::mip_aiding_write_frame_config (mip_interface *device, uint8_t frame_id, mip_aiding_frame_config_command_format format, bool tracking_enabled, const float *translation, const mip_aiding_frame_config_command_rotation *rotation)
 
mip_cmd_result mip::C::mip_aiding_read_frame_config (mip_interface *device, uint8_t frame_id, mip_aiding_frame_config_command_format format, bool *tracking_enabled_out, float *translation_out, mip_aiding_frame_config_command_rotation *rotation_out)
 
mip_cmd_result mip::C::mip_aiding_save_frame_config (mip_interface *device, uint8_t frame_id)
 
mip_cmd_result mip::C::mip_aiding_load_frame_config (mip_interface *device, uint8_t frame_id)
 
mip_cmd_result mip::C::mip_aiding_default_frame_config (mip_interface *device, uint8_t frame_id)
 

Detailed Description

Defines an aiding frame associated with a specific sensor frame ID. The frame ID used in this command should mirror the frame ID used in the aiding command (if that aiding measurement is measured in this reference frame).

This transform satisfies the following relationship:

EQSTART p^{veh} = R p^{sensor_frame} + t EQEND

Where:
EQSTART R EQEND is rotation matrix defined by the rotation component and EQSTART t EQEND is the translation vector

EQSTART p^{sensor_frame} EQEND is a 3-element position vector expressed in the external sensor frame
EQSTART p^{veh} EQEND is a 3-element position vector expressed in the vehicle frame

Rotation can be defined using Euler angles OR quaternions. If Format selector is set to Euler Angles, the fourth element in the rotation vector is ignored and should be set to 0.

When the tracking_enabled flag is 1, the Kalman filter will track errors in the provided frame definition; when 0, no errors are tracked.

Example: GNSS antenna lever arm

Frame ID: 1 Format: 1 (Euler) Translation: [0,1,] (GNSS with a 1 meter Y offset in the vehicle frame) Rotation: [0,0,0,0] (Rotational component is not relevant for GNSS measurements, set to zero)

Typedef Documentation

◆ mip_aiding_frame_config_command

◆ mip_aiding_frame_config_command_format

◆ mip_aiding_frame_config_command_rotation

◆ mip_aiding_frame_config_response

Enumeration Type Documentation

◆ mip_aiding_frame_config_command_format

Enumerator
MIP_AIDING_FRAME_CONFIG_COMMAND_FORMAT_EULER 

Translation vector followed by euler angles (roll, pitch, yaw).

MIP_AIDING_FRAME_CONFIG_COMMAND_FORMAT_QUATERNION 

Translation vector followed by quaternion (w, x, y, z).

Function Documentation

◆ extract_mip_aiding_frame_config_command()

void mip::C::extract_mip_aiding_frame_config_command ( microstrain_serializer serializer,
mip_aiding_frame_config_command self 
)

◆ extract_mip_aiding_frame_config_response()

void mip::C::extract_mip_aiding_frame_config_response ( microstrain_serializer serializer,
mip_aiding_frame_config_response self 
)

◆ insert_mip_aiding_frame_config_command()

void mip::C::insert_mip_aiding_frame_config_command ( microstrain_serializer serializer,
const mip_aiding_frame_config_command self 
)

◆ insert_mip_aiding_frame_config_response()

void mip::C::insert_mip_aiding_frame_config_response ( microstrain_serializer serializer,
const mip_aiding_frame_config_response self 
)

◆ mip_aiding_default_frame_config()

mip_cmd_result mip::C::mip_aiding_default_frame_config ( mip_interface device,
uint8_t  frame_id 
)

◆ mip_aiding_load_frame_config()

mip_cmd_result mip::C::mip_aiding_load_frame_config ( mip_interface device,
uint8_t  frame_id 
)

◆ mip_aiding_read_frame_config()

mip_cmd_result mip::C::mip_aiding_read_frame_config ( mip_interface device,
uint8_t  frame_id,
mip_aiding_frame_config_command_format  format,
bool *  tracking_enabled_out,
float *  translation_out,
mip_aiding_frame_config_command_rotation rotation_out 
)

◆ mip_aiding_save_frame_config()

mip_cmd_result mip::C::mip_aiding_save_frame_config ( mip_interface device,
uint8_t  frame_id 
)

◆ mip_aiding_write_frame_config()

mip_cmd_result mip::C::mip_aiding_write_frame_config ( mip_interface device,
uint8_t  frame_id,
mip_aiding_frame_config_command_format  format,
bool  tracking_enabled,
const float *  translation,
const mip_aiding_frame_config_command_rotation rotation 
)