9#define TLM_UART_BUF 256u
19 s_txFree = osSemaphoreNew(1, 1, NULL);
static volatile uint32_t s_dropped
static uint8_t s_dmaBuf[TLM_UART_BUF]
int tlm_uart_send(const uint8_t *buf, uint16_t len, uint32_t timeout_ms)
Non-blocking beyond timeout_ms: if the previous DMA has not finished, the frame is dropped.
static osSemaphoreId_t s_txFree
uint32_t tlm_uart_dropped(void)
int tlm_uart_init(UART_HandleTypeDef *huart)
void tlm_uart_tx_cplt_isr(UART_HandleTypeDef *huart)
To be called from HAL_UART_TxCpltCallback() (see 03 - Docs/firmware/build.md)
static UART_HandleTypeDef * s_huart
USB transport: UART -> ST-LINK Virtual COM Port (USART1 on the NUCLEO-WB55).