Classes | Typedefs | Functions
mip_interface.h File Reference
#include <stdint.h>
#include <stddef.h>
#include "mip_parser.h"
#include "mip_cmdqueue.h"
#include "mip_dispatch.h"
Include dependency graph for mip_interface.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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

Typedefs

typedef struct mip_interface mip_interface
 State of the interface for communicating with a MIP device. More...
 
typedef bool(* mip_recv_callback) (struct mip_interface *device, uint8_t *buffer, size_t max_length, mip_timeout wait_time, size_t *length_out, mip_timestamp *timestamp_out)
 
typedef bool(* mip_send_callback) (struct mip_interface *device, const uint8_t *data, size_t length)
 
typedef bool(* mip_update_callback) (struct mip_interface *device, mip_timeout timeout)
 

Functions

mip_cmd_queuemip_interface_cmd_queue (mip_interface *device)
 Returns the commmand queue for the device. More...
 
bool mip_interface_default_update (mip_interface *device, mip_timeout wait_time)
 Polls the port for new data or command replies. More...
 
void mip_interface_init (mip_interface *device, uint8_t *parse_buffer, size_t parse_buffer_size, mip_timeout parse_timeout, mip_timeout base_reply_timeout, mip_send_callback send, mip_recv_callback recv, mip_update_callback update, void *user_pointer)
 Initialize the mip_interface components. More...
 
unsigned int mip_interface_max_packets_per_update (const mip_interface *device)
 Returns the maximum number of packets to parser per update call. More...
 
bool mip_interface_parse_callback (void *device, const mip_packet *packet, mip_timestamp timestamp)
 Wrapper around mip_interface_receive_packet for use with mip_parser. More...
 
mip_parsermip_interface_parser (mip_interface *device)
 Returns the MIP parser for the device. More...
 
void mip_interface_process_unparsed_packets (mip_interface *device)
 Process more packets from the internal buffer. More...
 
size_t mip_interface_receive_bytes (mip_interface *device, const uint8_t *data, size_t length, mip_timestamp timestamp)
 Passes data from the device into the parser. More...
 
void mip_interface_receive_packet (mip_interface *device, const mip_packet *packet, mip_timestamp timestamp)
 Processes a pre-parsed packet for command replies and data. More...
 
bool mip_interface_recv_from_device (mip_interface *device, uint8_t *buffer, size_t max_length, mip_timeout timeout, size_t *length_out, mip_timestamp *now)
 Checks for data at the port and reads it into buffer. More...
 
mip_recv_callback mip_interface_recv_function (const mip_interface *device)
 Gets the receive function pointer. More...
 
void 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)
 Registers a callback for packets of the specified descriptor set. More...
 
void 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)
 Registers a callback for packets of the specified descriptor set. More...
 
void 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)
 Registers a callback for packets of the specified descriptor set. More...
 
enum mip_cmd_result mip_interface_run_command (mip_interface *device, uint8_t descriptor_set, uint8_t field_descriptor, const uint8_t *payload, uint8_t payload_length)
 Runs a command using a pre-serialized payload. More...
 
enum mip_cmd_result mip_interface_run_command_packet (mip_interface *device, const mip_packet *packet, mip_pending_cmd *cmd)
 Similar to mip_interface_start_command_packet but waits for the command to complete. More...
 
enum mip_cmd_result 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)
 Runs a command using a pre-serialized payload. More...
 
mip_send_callback mip_interface_send_function (const mip_interface *device)
 Gets the send function pointer. More...
 
bool mip_interface_send_to_device (mip_interface *device, const uint8_t *data, size_t length)
 Sends data to the port (i.e. More...
 
void mip_interface_set_max_packets_per_update (mip_interface *device, unsigned int max_packets)
 Sets a limit on the number of packets which can be processed in one call to the mip_interface_receive_bytes() function. More...
 
void mip_interface_set_recv_function (mip_interface *device, mip_recv_callback function)
 Sets the receive callback function. More...
 
void mip_interface_set_send_function (mip_interface *device, mip_send_callback function)
 Sets the send callback function. More...
 
void mip_interface_set_update_function (mip_interface *device, mip_update_callback function)
 Sets the update function. More...
 
void mip_interface_set_user_pointer (mip_interface *device, void *pointer)
 Sets an optional user data pointer which can be retrieved later. More...
 
bool mip_interface_start_command_packet (mip_interface *device, const mip_packet *packet, mip_pending_cmd *cmd)
 Queues the command and sends the packet. More...
 
bool mip_interface_update (mip_interface *device, mip_timeout wait_time)
 Call to process data from the device. More...
 
mip_update_callback mip_interface_update_function (const mip_interface *device)
 Gets the update function pointer. More...
 
void * mip_interface_user_pointer (const mip_interface *device)
 Retrieves the pointer set by mip_interface_set_user_pointer(). More...
 
enum mip_cmd_result mip_interface_wait_for_reply (mip_interface *device, mip_pending_cmd *cmd)
 Blocks until the pending command completes or times out. More...
 


microstrain_inertial_driver
Author(s): Brian Bingham, Parker Hannifin Corp
autogenerated on Mon Jun 24 2024 02:51:40