MIP SDK  0.0.1
MicroStrain Communications Library for embedded systems
Classes | Typedefs | Functions
Mip Interface [C]

High-level C functions for controlling a MIP device. More...

Collaboration diagram for Mip Interface [C]:

Classes

struct  mip::C::mip_interface
 State of the interface for communicating with a MIP device. More...
 

Typedefs

typedef bool(* mip::C::mip_update_callback) (struct mip_interface *device, bool blocking)
 Callback function typedef for custom update behavior. More...
 
typedef struct mip::C::mip_interface mip::C::mip_interface
 State of the interface for communicating with a MIP device. More...
 

Functions

void mip::C::mip_interface_init (mip_interface *device, uint8_t *parse_buffer, size_t parse_buffer_size, timeout_type parse_timeout, timeout_type base_reply_timeout)
 
remaining_count mip::C::mip_interface_receive_bytes (mip_interface *device, const uint8_t *data, size_t length, timestamp_type timestamp)
 
void mip::C::mip_interface_process_unparsed_packets (mip_interface *device)
 
bool mip::C::mip_interface_update (mip_interface *device, bool blocking)
 
bool mip::C::mip_interface_default_update (mip_interface *device, bool blocking)
 
bool mip::C::mip_interface_send_to_device (mip_interface *device, const uint8_t *data, size_t length)
 
bool mip::C::mip_interface_parse_callback (void *device, const mip_packet *packet, timestamp_type timestamp)
 
void mip::C::mip_interface_receive_packet (mip_interface *device, const mip_packet *packet, timestamp_type timestamp)
 
enum mip_cmd_result mip::C::mip_interface_wait_for_reply (mip_interface *device, const mip_pending_cmd *cmd)
 
enum mip_cmd_result mip::C::mip_interface_run_command (mip_interface *device, uint8_t descriptor_set, uint8_t field_descriptor, const uint8_t *payload, uint8_t payload_length)
 
enum mip_cmd_result mip::C::mip_interface_run_command_with_response (mip_interface *device, uint8_t descriptor_set, uint8_t field_descriptor, const uint8_t *payload, uint8_t payload_length, uint8_t response_descriptor, uint8_t *response_data, uint8_t *response_length_inout)
 
enum mip_cmd_result mip::C::mip_interface_run_command_packet (mip_interface *device, const mip_packet *packet, mip_pending_cmd *cmd)
 
bool mip::C::mip_interface_start_command_packet (mip_interface *device, const mip_packet *packet, mip_pending_cmd *cmd)
 
void mip::C::mip_interface_register_packet_callback (mip_interface *device, mip_dispatch_handler *handler, uint8_t descriptor_set, bool after_fields, mip_dispatch_packet_callback callback, void *user_data)
 
void mip::C::mip_interface_register_field_callback (mip_interface *device, mip_dispatch_handler *handler, uint8_t descriptor_set, uint8_t field_descriptor, mip_dispatch_field_callback callback, void *user_data)
 
void mip::C::mip_interface_register_extractor (mip_interface *device, mip_dispatch_handler *handler, uint8_t descriptor_set, uint8_t field_descriptor, mip_dispatch_extractor callback, void *field_ptr)
 
void mip::C::mip_interface_set_update_function (mip_interface *device, mip_update_callback function)
 
void mip::C::mip_interface_set_user_pointer (mip_interface *device, void *pointer)
 
void mip::C::mip_interface_set_max_packets_per_update (mip_interface *device, unsigned int max_packets)
 
unsigned int mip::C::mip_interface_max_packets_per_update (const mip_interface *device)
 
mip_update_callback mip::C::mip_interface_update_function (mip_interface *device)
 
void * mip::C::mip_interface_user_pointer (const mip_interface *device)
 
mip_parsermip::C::mip_interface_parser (mip_interface *device)
 
mip_cmd_queuemip::C::mip_interface_cmd_queue (mip_interface *device)
 

Detailed Description

High-level C functions for controlling a MIP device.

This module contains functions and classes for communicating with a MIP device in C.

Typedef Documentation

◆ mip_interface

State of the interface for communicating with a MIP device.

◆ mip_update_callback

typedef bool(* mip::C::mip_update_callback) (struct mip_interface *device, bool blocking)

Callback function typedef for custom update behavior.

Parameters
deviceThe mip_interface object being updated.
blockingTrue if called from within a blocking command function.
Returns
False if an error occurs and the port cannot be read (e.g. if the port is closed). Returning false will cause any pending commands to fail with a status error code.
True if successful (even if no data is received).

Function Documentation

◆ mip_interface_cmd_queue()

mip_cmd_queue* mip::C::mip_interface_cmd_queue ( mip_interface device)

◆ mip_interface_default_update()

bool mip::C::mip_interface_default_update ( mip_interface device,
bool  blocking 
)

◆ mip_interface_init()

void mip::C::mip_interface_init ( mip_interface device,
uint8_t *  parse_buffer,
size_t  parse_buffer_size,
timeout_type  parse_timeout,
timeout_type  base_reply_timeout 
)

◆ mip_interface_max_packets_per_update()

unsigned int mip::C::mip_interface_max_packets_per_update ( const mip_interface device)

◆ mip_interface_parse_callback()

bool mip::C::mip_interface_parse_callback ( void *  device,
const mip_packet packet,
timestamp_type  timestamp 
)

◆ mip_interface_parser()

mip_parser* mip::C::mip_interface_parser ( mip_interface device)

◆ mip_interface_process_unparsed_packets()

void mip::C::mip_interface_process_unparsed_packets ( mip_interface device)

◆ mip_interface_receive_bytes()

remaining_count mip::C::mip_interface_receive_bytes ( mip_interface device,
const uint8_t *  data,
size_t  length,
timestamp_type  timestamp 
)

◆ mip_interface_receive_packet()

void mip::C::mip_interface_receive_packet ( mip_interface device,
const mip_packet packet,
timestamp_type  timestamp 
)

◆ mip_interface_register_extractor()

void mip::C::mip_interface_register_extractor ( mip_interface device,
mip_dispatch_handler handler,
uint8_t  descriptor_set,
uint8_t  field_descriptor,
mip_dispatch_extractor  callback,
void *  field_ptr 
)

◆ mip_interface_register_field_callback()

void mip::C::mip_interface_register_field_callback ( mip_interface device,
mip_dispatch_handler handler,
uint8_t  descriptor_set,
uint8_t  field_descriptor,
mip_dispatch_field_callback  callback,
void *  user_data 
)

◆ mip_interface_register_packet_callback()

void mip::C::mip_interface_register_packet_callback ( mip_interface device,
mip_dispatch_handler handler,
uint8_t  descriptor_set,
bool  after_fields,
mip_dispatch_packet_callback  callback,
void *  user_data 
)

◆ mip_interface_run_command()

enum mip_cmd_result mip::C::mip_interface_run_command ( mip_interface device,
uint8_t  descriptor_set,
uint8_t  field_descriptor,
const uint8_t *  payload,
uint8_t  payload_length 
)

◆ mip_interface_run_command_packet()

enum mip_cmd_result mip::C::mip_interface_run_command_packet ( mip_interface device,
const mip_packet packet,
mip_pending_cmd cmd 
)

◆ mip_interface_run_command_with_response()

enum mip_cmd_result mip::C::mip_interface_run_command_with_response ( mip_interface device,
uint8_t  descriptor_set,
uint8_t  field_descriptor,
const uint8_t *  payload,
uint8_t  payload_length,
uint8_t  response_descriptor,
uint8_t *  response_data,
uint8_t *  response_length_inout 
)

◆ mip_interface_send_to_device()

bool mip::C::mip_interface_send_to_device ( mip_interface device,
const uint8_t *  data,
size_t  length 
)

◆ mip_interface_set_max_packets_per_update()

void mip::C::mip_interface_set_max_packets_per_update ( mip_interface device,
unsigned int  max_packets 
)

◆ mip_interface_set_update_function()

void mip::C::mip_interface_set_update_function ( mip_interface device,
mip_update_callback  function 
)

◆ mip_interface_set_user_pointer()

void mip::C::mip_interface_set_user_pointer ( mip_interface device,
void *  pointer 
)

◆ mip_interface_start_command_packet()

bool mip::C::mip_interface_start_command_packet ( mip_interface device,
const mip_packet packet,
mip_pending_cmd cmd 
)

◆ mip_interface_update()

bool mip::C::mip_interface_update ( mip_interface device,
bool  blocking 
)

◆ mip_interface_update_function()

mip_update_callback mip::C::mip_interface_update_function ( mip_interface device)

◆ mip_interface_user_pointer()

void* mip::C::mip_interface_user_pointer ( const mip_interface device)

◆ mip_interface_wait_for_reply()

enum mip_cmd_result mip::C::mip_interface_wait_for_reply ( mip_interface device,
const mip_pending_cmd cmd 
)