diff --git a/libraries/FastSerial/FastSerial.cpp b/libraries/FastSerial/FastSerial.cpp index 3368ca1c51..84015d142f 100644 --- a/libraries/FastSerial/FastSerial.cpp +++ b/libraries/FastSerial/FastSerial.cpp @@ -149,6 +149,13 @@ int FastSerial::space(void) return (((_rxBuffer->tail - _rxBuffer->head) & _rxBuffer->mask) - 1); } +int FastSerial::txspace(void) +{ + if (!_open) + return (-1); + return ((_txBuffer->mask+1) - ((_txBuffer->head - _txBuffer->tail) & _txBuffer->mask)); +} + int FastSerial::read(void) { uint8_t c; diff --git a/libraries/FastSerial/FastSerial.h b/libraries/FastSerial/FastSerial.h index 9f008bb962..11dd04ff24 100644 --- a/libraries/FastSerial/FastSerial.h +++ b/libraries/FastSerial/FastSerial.h @@ -111,6 +111,7 @@ public: virtual void end(void); virtual int available(void); virtual int space(void); + virtual int txspace(void); virtual int read(void); virtual int peek(void); virtual void flush(void);