11 #include <xcore/port.h>
12 #include <xcore/triggerable.h>
13 #include <xcore/hwtimer.h>
14 #include <xcore/interrupt.h>
16 #include "uart_util.h"
39 #define UART_START_BIT_ERROR_VAL 2
42 UART_UNDERRUN_ERROR = 1,
47 } uart_callback_code_t;
67 #define HIL_UART_TX_CALLBACK_ATTR __attribute__((fptrgroup("hil_uart_tx_callback")))
68 #define HIL_UART_RX_CALLBACK_ATTR __attribute__((fptrgroup("hil_uart_rx_callback")))
80 uint32_t bit_time_ticks;
81 uint32_t next_event_time_ticks;
83 uint8_t num_data_bits;
84 uint8_t current_data_bit;
87 uint8_t current_stop_bit;
104 uint32_t bit_time_ticks;
105 uint32_t next_event_time_ticks;
107 uint8_t num_data_bits;
108 uint8_t current_data_bit;
111 uint8_t current_stop_bit;
113 uart_callback_code_t cb_code;
114 HIL_UART_RX_CALLBACK_ATTR void(*uart_rx_complete_callback_arg)(
void* app_data);
115 HIL_UART_RX_CALLBACK_ATTR void(*uart_rx_error_callback_arg)(uart_callback_code_t callback_code,
void* app_data);
118 uart_buffer_t buffer;
156 size_t buffer_size_plus_one,
157 void(*uart_tx_empty_callback_fptr)(
void* app_data),
180 uint8_t num_data_bits,
245 void(*uart_rx_complete_callback_fptr)(
void *app_data),
246 void(*uart_rx_error_callback_fptr)(uart_callback_code_t callback_code,
void *app_data),
277 void(*uart_rx_error_callback_fptr)(uart_callback_code_t callback_code,
void *app_data),
void uart_tx_deinit(uart_tx_t *uart)
#define UART_START_BIT_ERROR_VAL
Definition: uart.h:39
void uart_rx_deinit(uart_rx_t *uart)
uart_state_t
Definition: uart.h:53
uart_parity_t
Definition: uart.h:29
void uart_tx(uart_tx_t *uart, uint8_t data)
uint8_t uart_rx(uart_rx_t *uart)
void uart_rx_init(uart_rx_t *uart, port_t rx_port, uint32_t baud_rate, uint8_t data_bits, uart_parity_t parity, uint8_t stop_bits, hwtimer_t tmr, uint8_t *rx_buff, size_t buffer_size, void(*uart_rx_complete_callback_fptr)(void *app_data), void(*uart_rx_error_callback_fptr)(uart_callback_code_t callback_code, void *app_data), void *app_data)
void uart_tx_blocking_init(uart_tx_t *uart_cfg, port_t tx_port, uint32_t baud_rate, uint8_t num_data_bits, uart_parity_t parity, uint8_t stop_bits, hwtimer_t tmr)
#define HIL_UART_TX_CALLBACK_ATTR
Definition: uart.h:67
void uart_rx_blocking_init(uart_rx_t *uart, port_t rx_port, uint32_t baud_rate, uint8_t data_bits, uart_parity_t parity, uint8_t stop_bits, hwtimer_t tmr, void(*uart_rx_error_callback_fptr)(uart_callback_code_t callback_code, void *app_data), void *app_data)
void uart_tx_init(uart_tx_t *uart, port_t tx_port, uint32_t baud_rate, uint8_t data_bits, uart_parity_t parity, uint8_t stop_bits, hwtimer_t tmr, uint8_t *tx_buff, size_t buffer_size_plus_one, void(*uart_tx_empty_callback_fptr)(void *app_data), void *app_data)