From a21748dc4c67518fe1f97c86114a6bf9dac2b1ec Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Wed, 13 Nov 2019 12:29:27 +0100 Subject: [PATCH 1/2] Moved Stream.flush() to Print.flush() --- api/Print.h | 2 ++ api/Stream.h | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/api/Print.h b/api/Print.h index 6a06bad6..0cd11667 100644 --- a/api/Print.h +++ b/api/Print.h @@ -82,5 +82,7 @@ class Print size_t println(double, int = 2); size_t println(const Printable&); size_t println(void); + + virtual void flush() { /* Empty implementation for backward compatibility */ } }; diff --git a/api/Stream.h b/api/Stream.h index 0576ba87..4ef5bc27 100644 --- a/api/Stream.h +++ b/api/Stream.h @@ -58,7 +58,6 @@ class Stream : public Print virtual int available() = 0; virtual int read() = 0; virtual int peek() = 0; - virtual void flush() = 0; Stream() {_timeout=1000;} From 0b839d4b2e38d0535e119b0c8e043ebf1e904d27 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Wed, 13 Nov 2019 12:31:10 +0100 Subject: [PATCH 2/2] Added Print.availableForWrite() --- api/Print.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/Print.h b/api/Print.h index 0cd11667..0bf79bd5 100644 --- a/api/Print.h +++ b/api/Print.h @@ -54,6 +54,10 @@ class Print return write((const uint8_t *)buffer, size); } + // default to zero, meaning "a single write may block" + // should be overriden by subclasses with buffering + virtual int availableForWrite() { return 0; } + size_t print(const __FlashStringHelper *); size_t print(const String &); size_t print(const char[]);