17static void arm(
void) {
24 huart9.Init.BaudRate = baud;
48 while (
tail != h &&
n < cap) {
82 for (uint16_t i = 0; i < size; ++i) {
size_t board_uart9_read(uint8_t *out, size_t cap)
uint32_t board_uart9_overflows(void)
bool board_uart9_start(osThreadId_t thread, uint32_t flag)
static volatile uint32_t head
uint32_t board_uart9_rx_bytes(void)
bool board_uart9_apply_baud(uint32_t baud)
static osThreadId_t volatile owner
static volatile uint32_t overflows
uint32_t board_uart9_errors(void)
static uint32_t owner_flag
static volatile uint32_t tail
static volatile uint32_t errors
void board_uart9_set_baud(uint32_t baud)
static uint8_t ring[RING_SIZE]
void board_uart9_send(const uint8_t *bytes, uint16_t len)
uint32_t osThreadFlagsSet(osThreadId_t thread_id, uint32_t flags)
Set the specified Thread Flags of a thread.
static osThreadId_t thread
HAL_StatusTypeDef HAL_UARTEx_EnableFifoMode(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UARTEx_SetRxFifoThreshold(UART_HandleTypeDef *huart, uint32_t Threshold)
HAL_StatusTypeDef HAL_UARTEx_SetTxFifoThreshold(UART_HandleTypeDef *huart, uint32_t Threshold)
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
#define UART_RXFIFO_THRESHOLD_1_2
RX FIFO reaches 1/2 of its depth.
#define UART_TXFIFO_THRESHOLD_1_8
TX FIFO reaches 1/8 of its depth.
HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout)
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t size)
HAL_StatusTypeDef HAL_UART_AbortReceive_IT(UART_HandleTypeDef *huart)
struct __UART_HandleTypeDef UART_HandleTypeDef
UART handle Structure definition.
#define HAL_UART_STATE_READY
Peripheral Initialized and ready for use Value is allowed for gState and RxState.
UART_HandleTypeDef huart9
*brief user defined string literal for JSON values *sa std::size_t n
__IO HAL_UART_StateTypeDef RxState
UART state information related to Rx operations.