mirror of https://gerrit.osmocom.org/simtrace2
console: drop data to be send when buffer is already full
don't wait for space to be available in the buffer since since would prevent from processing non-console (e.g. debug) more important data Change-Id: Ia625b09eb30bb7b43edd3989f697d8ef33200f28
This commit is contained in:
parent
7406337a7f
commit
30f90a78fc
|
@ -133,17 +133,15 @@ extern void UART_PutChar( uint8_t c )
|
|||
UART_Configure(CONSOLE_BAUDRATE, BOARD_MCK);
|
||||
}
|
||||
|
||||
/* Wait until there is space in the buffer */
|
||||
while (rbuf_is_full(&uart_tx_buffer)) {
|
||||
if (pUart->UART_SR & UART_SR_TXEMPTY) {
|
||||
pUart->UART_IER = UART_IER_TXRDY;
|
||||
CONSOLE_ISR();
|
||||
}
|
||||
/* Only store input if buffer is not full, else drop it */
|
||||
bool trigger_isr = false;
|
||||
if (rbuf_is_empty(&uart_tx_buffer)) {
|
||||
trigger_isr = true;
|
||||
}
|
||||
|
||||
/* Put character into buffer */
|
||||
rbuf_write(&uart_tx_buffer, c);
|
||||
if (pUart->UART_SR & UART_SR_TXEMPTY) {
|
||||
if (!rbuf_is_full(&uart_tx_buffer)) {
|
||||
rbuf_write(&uart_tx_buffer, c);
|
||||
}
|
||||
if (trigger_isr) {
|
||||
pUart->UART_IER = UART_IER_TXRDY;
|
||||
CONSOLE_ISR();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue