SerialAPI#
Modules#
Enumerations#
enum
TRANSPORT_TYPE_UART
TRANSPORT_TYPE_SPI
TRANSPORT_TYPE_ETHERNET
TRANSPORT_TYPE_UART
TRANSPORT_TYPE_SPI
TRANSPORT_TYPE_ETHERNET
}
enum
PARSE_IDLE
PARSE_FRAME_RECEIVED
PARSE_FRAME_SENT
PARSE_FRAME_ERROR
PARSE_RX_TIMEOUT
PARSE_TX_TIMEOUT
PARSE_IDLE
PARSE_FRAME_RECEIVED
PARSE_FRAME_SENT
PARSE_FRAME_ERROR
PARSE_RX_TIMEOUT
PARSE_TX_TIMEOUT
}
Typedefs#
typedef void(*
cmd_handler_t)(const comm_interface_frame_ptr)
typedef void *
typedef bool(*
cmd_foreach_callback_t)(cmd_handler_map_t const *const p_cmd_entry, cmd_context_t context)
typedef void *
typedef void(*
transmit_done_cb_t)(transport_handle_t transport)
typedef struct _transport_t
Variables#
Functions#
bool
invoke_cmd_handler(const comm_interface_frame_ptr frame)
Invoke command handler.
void
cmd_foreach(cmd_foreach_callback_t callback, cmd_context_t context)
Invokes callback for each registered command.
uint8_t
frame_payload_len(const comm_interface_frame_ptr frame)
void
comm_interface_transmit_frame(uint8_t cmd, uint8_t type, const uint8_t *payload, uint8_t len, transmit_done_cb_t cb)
void
void
comm_interface_init(void)
uint32_t
void
comm_interface_set_ack_timeout_ms(uint32_t t)
uint32_t
void
comm_interface_set_byte_timeout_ms(uint32_t t)
Macros#
#define
CMD_HANDLER_SECTION "_cmd_handlers"
#define
ZW_ADD_CMD (cmd)
#define
RECEIVE_BUFFER_SIZE 180
#define
FRAME_LENGTH_MIN 3
#define
FRAME_LENGTH_MAX RECEIVE_BUFFER_SIZE
Enumeration Documentation#
transport_type_t#
transport_type_t
Enumerator | |
---|---|
TRANSPORT_TYPE_UART | |
TRANSPORT_TYPE_SPI | |
TRANSPORT_TYPE_ETHERNET | |
TRANSPORT_TYPE_UART | |
TRANSPORT_TYPE_SPI | |
TRANSPORT_TYPE_ETHERNET |
comm_interface_parse_result_t#
comm_interface_parse_result_t
Enumerator | |
---|---|
PARSE_IDLE | |
PARSE_FRAME_RECEIVED | |
PARSE_FRAME_SENT | |
PARSE_FRAME_ERROR | |
PARSE_RX_TIMEOUT | |
PARSE_TX_TIMEOUT | |
PARSE_IDLE | |
PARSE_FRAME_RECEIVED | |
PARSE_FRAME_SENT | |
PARSE_FRAME_ERROR | |
PARSE_RX_TIMEOUT | |
PARSE_TX_TIMEOUT |
Typedef Documentation#
cmd_handler_t#
typedef void(* cmd_handler_t) (const comm_interface_frame_ptr) )(const comm_interface_frame_ptr)
cmd_foreach_callback_t#
typedef bool(* cmd_foreach_callback_t) (cmd_handler_map_t const *const p_cmd_entry, cmd_context_t context) )(cmd_handler_map_t const *const p_cmd_entry, cmd_context_t context)
transmit_done_cb_t#
typedef void(* transmit_done_cb_t) (transport_handle_t transport) )(transport_handle_t transport)
Function Documentation#
invoke_cmd_handler#
bool invoke_cmd_handler (const comm_interface_frame_ptr frame)
Invoke command handler.
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
const comm_interface_frame_ptr | [in] | frame | Frame |
Returns
true if handler for given
frame
was invoked, false if no handler was found
cmd_foreach#
void cmd_foreach (cmd_foreach_callback_t callback, cmd_context_t context)
Invokes callback for each registered command.
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
cmd_foreach_callback_t | N/A | callback | Callback function to invoke. |
cmd_context_t | N/A | context | Context to pass on to the callback function. |
Will stop if the callback returns true.
frame_payload_len#
static uint8_t frame_payload_len (const comm_interface_frame_ptr frame)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
const comm_interface_frame_ptr | N/A | frame |
comm_interface_transmit_frame#
void comm_interface_transmit_frame (uint8_t cmd, uint8_t type, const uint8_t * payload, uint8_t len, transmit_done_cb_t cb)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
uint8_t | N/A | cmd | |
uint8_t | N/A | type | |
const uint8_t * | N/A | payload | |
uint8_t | N/A | len | |
transmit_done_cb_t | N/A | cb |
comm_interface_wait_transmit_done#
void comm_interface_wait_transmit_done (void )
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
comm_interface_init#
void comm_interface_init (void )
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
comm_interface_get_ack_timeout_ms#
uint32_t comm_interface_get_ack_timeout_ms (void )
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
comm_interface_set_ack_timeout_ms#
void comm_interface_set_ack_timeout_ms (uint32_t t)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
uint32_t | N/A | t |
comm_interface_get_byte_timeout_ms#
uint32_t comm_interface_get_byte_timeout_ms (void )
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A |
comm_interface_set_byte_timeout_ms#
void comm_interface_set_byte_timeout_ms (uint32_t t)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
uint32_t | N/A | t |
comm_interface_parse_data#
comm_interface_parse_result_t comm_interface_parse_data (bool ack)
Parameters
Type | Direction | Argument Name | Description |
---|---|---|---|
bool | N/A | ack |