fix: make uart tx enqueue all-or-nothing
This commit is contained in:
+9
-1
@@ -16,6 +16,13 @@ typedef enum {
|
||||
UART_CHANNEL_MAX
|
||||
} uart_channel_t;
|
||||
|
||||
typedef enum {
|
||||
UART_TRANS_SEND_OK = 0,
|
||||
UART_TRANS_SEND_INVALID_INPUT,
|
||||
UART_TRANS_SEND_RING_FULL,
|
||||
UART_TRANS_SEND_KICK_FAILED
|
||||
} uart_trans_send_result_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t src_id;
|
||||
uint8_t dst_mask;
|
||||
@@ -31,7 +38,8 @@ typedef struct {
|
||||
int uart_trans_init(void);
|
||||
int uart_trans_config(uint8_t uart_index, uint32_t baudrate);
|
||||
int uart_trans_start_all(void);
|
||||
bool uart_trans_send_buffer(uart_channel_t channel, const uint8_t *data, uint16_t len);
|
||||
const char *uart_trans_send_result_to_str(uart_trans_send_result_t result);
|
||||
uart_trans_send_result_t uart_trans_send_buffer(uart_channel_t channel, const uint8_t *data, uint16_t len);
|
||||
void uart_trans_notify_rx_from_isr(uart_channel_t channel, BaseType_t *xHigherPriorityTaskWoken);
|
||||
void uart_trans_tx_cplt_handler(uart_channel_t channel);
|
||||
void UartRxTask(void *argument);
|
||||
|
||||
Reference in New Issue
Block a user