diff options
-rw-r--r-- | usrp2/firmware/lib/hal_uart.c | 10 | ||||
-rw-r--r-- | usrp2/firmware/lib/hal_uart.h | 5 |
2 files changed, 15 insertions, 0 deletions
diff --git a/usrp2/firmware/lib/hal_uart.c b/usrp2/firmware/lib/hal_uart.c index f1d46fe84..75b12b432 100644 --- a/usrp2/firmware/lib/hal_uart.c +++ b/usrp2/firmware/lib/hal_uart.c @@ -57,6 +57,16 @@ hal_uart_putc(int ch) u->txchar = ch; } +void +hal_uart_putc_nowait(int ch) +{ + if (ch == '\n') // FIXME for now map \n -> \r\n + hal_uart_putc('\r'); + + if(u->txlevel) // If fifo has space + u->txchar = ch; +} + int hal_uart_getc(void) { diff --git a/usrp2/firmware/lib/hal_uart.h b/usrp2/firmware/lib/hal_uart.h index 41e78894b..2ddfa6259 100644 --- a/usrp2/firmware/lib/hal_uart.h +++ b/usrp2/firmware/lib/hal_uart.h @@ -54,6 +54,11 @@ void hal_uart_get_config(hal_uart_config_t *c); */ void hal_uart_putc(int ch); +/*! + * \brief Enqueue \p ch for output over serial port, silent fail if queue is full + */ +void hal_uart_putc_nowait(int ch); + /* * \brief Blocking read of next char from serial port */ |