#ifndef _DEVICES_UART_H #define _DEVICES_UART_H #include "gen/uart.h" #include static inline uint32_t uart_get_tx_free(volatile uart_t* reg) { return get_uart_rx_tx_reg_tx_free(reg); } static inline uint32_t uart_get_tx_empty(volatile uart_t* reg) { return get_uart_rx_tx_reg_tx_empty(reg); } static inline uint32_t uart_get_rx_avail(volatile uart_t* reg) { return get_uart_rx_tx_reg_rx_avail(reg); } static inline void uart_write(volatile uart_t* reg, uint8_t data) { while(get_uart_rx_tx_reg_tx_free(reg) == 0) ; set_uart_rx_tx_reg_data(reg, data); } static inline uint8_t uart_read(volatile uart_t* reg) { uint32_t res = get_uart_rx_tx_reg_data(reg); while((res & 0x10000) == 0) res = get_uart_rx_tx_reg_data(reg); return res; } #endif /* _DEVICES_UART_H */