summaryrefslogtreecommitdiff
path: root/usrp2
diff options
context:
space:
mode:
Diffstat (limited to 'usrp2')
-rw-r--r--usrp2/firmware/lib/hal_uart.c10
-rw-r--r--usrp2/firmware/lib/hal_uart.h5
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
*/