diff --git a/cores/arduino/UARTClass.cpp b/cores/arduino/UARTClass.cpp index 36de1358..ef228675 100644 --- a/cores/arduino/UARTClass.cpp +++ b/cores/arduino/UARTClass.cpp @@ -142,6 +142,11 @@ void UARTClass::flush( void ) ; } +bool UARTClass::isFlushed( void ) +{ + return ((_pUart->UART_SR & UART_SR_TXRDY) == UART_SR_TXRDY) && (_tx_buffer->_iTail == _tx_buffer->_iHead); +} + size_t UARTClass::write( const uint8_t uc_data ) { // Is the hardware currently busy? diff --git a/cores/arduino/UARTClass.h b/cores/arduino/UARTClass.h index 3747d8be..42052001 100644 --- a/cores/arduino/UARTClass.h +++ b/cores/arduino/UARTClass.h @@ -52,6 +52,7 @@ class UARTClass : public HardwareSerial int peek(void); int read(void); void flush(void); + bool isFlushed(void); size_t write(const uint8_t c); using Print::write; // pull in write(str) and write(buf, size) from Print