MIP_SDK  latest-2-g34f3e39
MicroStrain Communications Library for embedded systems
Classes | Typedefs | Enumerations | Functions
(0x0C,0x2E) Event Trigger

Configures various types of event triggers. More...

Classes

struct  mip::C::mip_3dm_event_trigger_command_gpio_params
 
struct  mip::C::mip_3dm_event_trigger_command_threshold_params
 
struct  mip::C::mip_3dm_event_trigger_command_combination_params
 
union  mip::C::mip_3dm_event_trigger_command_parameters
 
struct  mip::C::mip_3dm_event_trigger_command
 
struct  mip::C::mip_3dm_event_trigger_response
 

Typedefs

typedef enum mip_3dm_event_trigger_command_gpio_params_mode mip::C::mip_3dm_event_trigger_command_gpio_params_mode
 
typedef struct mip_3dm_event_trigger_command_gpio_params mip::C::mip_3dm_event_trigger_command_gpio_params
 
typedef enum mip_3dm_event_trigger_command_threshold_params_type mip::C::mip_3dm_event_trigger_command_threshold_params_type
 
typedef struct mip_3dm_event_trigger_command_threshold_params mip::C::mip_3dm_event_trigger_command_threshold_params
 
typedef struct mip_3dm_event_trigger_command_combination_params mip::C::mip_3dm_event_trigger_command_combination_params
 
typedef enum mip_3dm_event_trigger_command_type mip::C::mip_3dm_event_trigger_command_type
 
typedef union mip_3dm_event_trigger_command_parameters mip::C::mip_3dm_event_trigger_command_parameters
 
typedef struct mip_3dm_event_trigger_command mip::C::mip_3dm_event_trigger_command
 
typedef struct mip_3dm_event_trigger_response mip::C::mip_3dm_event_trigger_response
 

Enumerations

enum  mip::C::mip_3dm_event_trigger_command_gpio_params_mode { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_GPIO_PARAMS_MODE_DISABLED = 0, mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_GPIO_PARAMS_MODE_WHILE_HIGH = 1, mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_GPIO_PARAMS_MODE_WHILE_LOW = 2, mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_GPIO_PARAMS_MODE_EDGE = 4 }
 
enum  mip::C::mip_3dm_event_trigger_command_threshold_params_type { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_THRESHOLD_PARAMS_TYPE_WINDOW = 1, mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_THRESHOLD_PARAMS_TYPE_INTERVAL = 2 }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_NEVER = 0x0000 }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_ALWAYS = 0xFFFF }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_NONE = 0x0001 }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_OR = 0xFFFE }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_NAND = 0x7FFF }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_XOR_ONE = 0x0116 }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_ONLY_A = 0x0002 }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_ONLY_B = 0x0004 }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_ONLY_C = 0x0010 }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_ONLY_D = 0x0100 }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_AND_AB = 0x8888 }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_AB_OR_C = 0xF8F8 }
 
enum  { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_AND = 0x8000 }
 
enum  mip::C::mip_3dm_event_trigger_command_type { mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_NONE = 0, mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_GPIO = 1, mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_THRESHOLD = 2, mip::C::MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_COMBINATION = 3 }
 

Functions

void mip::C::insert_mip_3dm_event_trigger_command_gpio_params (microstrain_serializer *serializer, const mip_3dm_event_trigger_command_gpio_params *self)
 
void mip::C::extract_mip_3dm_event_trigger_command_gpio_params (microstrain_serializer *serializer, mip_3dm_event_trigger_command_gpio_params *self)
 
void mip::C::insert_mip_3dm_event_trigger_command_threshold_params (microstrain_serializer *serializer, const mip_3dm_event_trigger_command_threshold_params *self)
 
void mip::C::extract_mip_3dm_event_trigger_command_threshold_params (microstrain_serializer *serializer, mip_3dm_event_trigger_command_threshold_params *self)
 
void mip::C::insert_mip_3dm_event_trigger_command_combination_params (microstrain_serializer *serializer, const mip_3dm_event_trigger_command_combination_params *self)
 
void mip::C::extract_mip_3dm_event_trigger_command_combination_params (microstrain_serializer *serializer, mip_3dm_event_trigger_command_combination_params *self)
 
void mip::C::insert_mip_3dm_event_trigger_command (microstrain_serializer *serializer, const mip_3dm_event_trigger_command *self)
 
void mip::C::extract_mip_3dm_event_trigger_command (microstrain_serializer *serializer, mip_3dm_event_trigger_command *self)
 
void mip::C::insert_mip_3dm_event_trigger_response (microstrain_serializer *serializer, const mip_3dm_event_trigger_response *self)
 
void mip::C::extract_mip_3dm_event_trigger_response (microstrain_serializer *serializer, mip_3dm_event_trigger_response *self)
 
mip_cmd_result mip::C::mip_3dm_write_event_trigger (mip_interface *device, uint8_t instance, mip_3dm_event_trigger_command_type type, const mip_3dm_event_trigger_command_parameters *parameters)
 
mip_cmd_result mip::C::mip_3dm_read_event_trigger (mip_interface *device, uint8_t instance, mip_3dm_event_trigger_command_type *type_out, mip_3dm_event_trigger_command_parameters *parameters_out)
 
mip_cmd_result mip::C::mip_3dm_save_event_trigger (mip_interface *device, uint8_t instance)
 
mip_cmd_result mip::C::mip_3dm_load_event_trigger (mip_interface *device, uint8_t instance)
 
mip_cmd_result mip::C::mip_3dm_default_event_trigger (mip_interface *device, uint8_t instance)
 

Detailed Description

Configures various types of event triggers.

Typedef Documentation

◆ mip_3dm_event_trigger_command

◆ mip_3dm_event_trigger_command_combination_params

◆ mip_3dm_event_trigger_command_gpio_params

◆ mip_3dm_event_trigger_command_gpio_params_mode

◆ mip_3dm_event_trigger_command_parameters

◆ mip_3dm_event_trigger_command_threshold_params

◆ mip_3dm_event_trigger_command_threshold_params_type

◆ mip_3dm_event_trigger_command_type

◆ mip_3dm_event_trigger_response

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_XOR_ONE 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_ONLY_A 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_ONLY_B 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_ONLY_C 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_ONLY_D 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_AND_AB 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_AB_OR_C 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_AND 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_NEVER 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_ALWAYS 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_NONE 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_OR 

◆ anonymous enum

anonymous enum
Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_COMBINATION_PARAMS_LOGIC_NAND 

◆ mip_3dm_event_trigger_command_gpio_params_mode

Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_GPIO_PARAMS_MODE_DISABLED 

The pin will have no effect and the trigger will never activate.

MIP_3DM_EVENT_TRIGGER_COMMAND_GPIO_PARAMS_MODE_WHILE_HIGH 

The trigger will be active while the pin is high.

MIP_3DM_EVENT_TRIGGER_COMMAND_GPIO_PARAMS_MODE_WHILE_LOW 

The trigger will be active while the pin is low.

MIP_3DM_EVENT_TRIGGER_COMMAND_GPIO_PARAMS_MODE_EDGE 

Use if the pin is configured for timestamping via the 3DM Gpio Configuration command (0x0C41).

◆ mip_3dm_event_trigger_command_threshold_params_type

Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_THRESHOLD_PARAMS_TYPE_WINDOW 

Window comparison. Trigger is active if low_thres <= value <= high_thres. If the thresholds are reversed, the trigger is active when value < high_thres or value > low_thres.

MIP_3DM_EVENT_TRIGGER_COMMAND_THRESHOLD_PARAMS_TYPE_INTERVAL 

Trigger at evenly-spaced intervals. Normally used with time fields to trigger periodically. Trigger is active when (value % interval) <= int_thres. If the thresholds are reversed (high_thres < low_thres) then the trigger is active when (value % low_thres) > high_thres.

◆ mip_3dm_event_trigger_command_type

Enumerator
MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_NONE 

No trigger selected. The state will always be inactive.

MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_GPIO 

Trigger based on the state of a GPIO pin. See GpioParams.

MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_THRESHOLD 

Compare a data quantity against a high and low threshold. See ThresholdParams.

MIP_3DM_EVENT_TRIGGER_COMMAND_TYPE_COMBINATION 

Logical combination of two or more triggers. See CombinationParams.

Function Documentation

◆ extract_mip_3dm_event_trigger_command()

void mip::C::extract_mip_3dm_event_trigger_command ( microstrain_serializer serializer,
mip_3dm_event_trigger_command self 
)

◆ extract_mip_3dm_event_trigger_command_combination_params()

void mip::C::extract_mip_3dm_event_trigger_command_combination_params ( microstrain_serializer serializer,
mip_3dm_event_trigger_command_combination_params self 
)

◆ extract_mip_3dm_event_trigger_command_gpio_params()

void mip::C::extract_mip_3dm_event_trigger_command_gpio_params ( microstrain_serializer serializer,
mip_3dm_event_trigger_command_gpio_params self 
)

◆ extract_mip_3dm_event_trigger_command_threshold_params()

void mip::C::extract_mip_3dm_event_trigger_command_threshold_params ( microstrain_serializer serializer,
mip_3dm_event_trigger_command_threshold_params self 
)

◆ extract_mip_3dm_event_trigger_response()

void mip::C::extract_mip_3dm_event_trigger_response ( microstrain_serializer serializer,
mip_3dm_event_trigger_response self 
)

◆ insert_mip_3dm_event_trigger_command()

void mip::C::insert_mip_3dm_event_trigger_command ( microstrain_serializer serializer,
const mip_3dm_event_trigger_command self 
)

◆ insert_mip_3dm_event_trigger_command_combination_params()

void mip::C::insert_mip_3dm_event_trigger_command_combination_params ( microstrain_serializer serializer,
const mip_3dm_event_trigger_command_combination_params self 
)

◆ insert_mip_3dm_event_trigger_command_gpio_params()

void mip::C::insert_mip_3dm_event_trigger_command_gpio_params ( microstrain_serializer serializer,
const mip_3dm_event_trigger_command_gpio_params self 
)

◆ insert_mip_3dm_event_trigger_command_threshold_params()

void mip::C::insert_mip_3dm_event_trigger_command_threshold_params ( microstrain_serializer serializer,
const mip_3dm_event_trigger_command_threshold_params self 
)

◆ insert_mip_3dm_event_trigger_response()

void mip::C::insert_mip_3dm_event_trigger_response ( microstrain_serializer serializer,
const mip_3dm_event_trigger_response self 
)

◆ mip_3dm_default_event_trigger()

mip_cmd_result mip::C::mip_3dm_default_event_trigger ( mip_interface device,
uint8_t  instance 
)

◆ mip_3dm_load_event_trigger()

mip_cmd_result mip::C::mip_3dm_load_event_trigger ( mip_interface device,
uint8_t  instance 
)

◆ mip_3dm_read_event_trigger()

mip_cmd_result mip::C::mip_3dm_read_event_trigger ( mip_interface device,
uint8_t  instance,
mip_3dm_event_trigger_command_type type_out,
mip_3dm_event_trigger_command_parameters parameters_out 
)

◆ mip_3dm_save_event_trigger()

mip_cmd_result mip::C::mip_3dm_save_event_trigger ( mip_interface device,
uint8_t  instance 
)

◆ mip_3dm_write_event_trigger()

mip_cmd_result mip::C::mip_3dm_write_event_trigger ( mip_interface device,
uint8_t  instance,
mip_3dm_event_trigger_command_type  type,
const mip_3dm_event_trigger_command_parameters parameters 
)