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
47 UART_UNDERRUN_ERROR = 1,
72 #define HIL_UART_TX_CALLBACK_ATTR __attribute__((fptrgroup("hil_uart_tx_callback")))
79 #define HIL_UART_RX_CALLBACK_ATTR __attribute__((fptrgroup("hil_uart_rx_callback")))
91 uint32_t bit_time_ticks;
92 uint32_t next_event_time_ticks;
94 uint8_t num_data_bits;
95 uint8_t current_data_bit;
98 uint8_t current_stop_bit;
103 uart_buffer_t buffer;
142 size_t buffer_size_plus_one,
143 void(*uart_tx_empty_callback_fptr)(
void* app_data),
211 uint32_t bit_time_ticks;
212 uint32_t next_event_time_ticks;
214 uint8_t num_data_bits;
215 uint8_t current_data_bit;
218 uint8_t current_stop_bit;
225 uart_buffer_t buffer;
266 size_t buffer_size_plus_one,
267 void(*uart_rx_complete_callback_fptr)(
void *app_data),
void uart_rx_deinit(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_plus_one, 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)
uint8_t uart_rx(uart_rx_t *uart)
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_deinit(uart_tx_t *uart)
uart_callback_code_t
Definition: uart.h:45
#define UART_START_BIT_ERROR_VAL
Definition: uart.h:39
uart_state_t
Definition: uart.h:58
uart_parity_t
Definition: uart.h:29
void uart_tx(uart_tx_t *uart, uint8_t data)
void uart_tx_blocking_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)
#define HIL_UART_RX_CALLBACK_ATTR
Definition: uart.h:79
#define HIL_UART_TX_CALLBACK_ATTR
Definition: uart.h:72
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)