1919
2020#if defined(ARDUINO) && !(defined(LINUX) || defined(__MBED__))
2121 #define BLYNK_USE_STREAM_CLASS
22+ #define BLYNK_STREAM_CLASS_OVERRIDE
2223#elif defined(SPARK) || defined(PARTICLE)
2324 #define BLYNK_USE_STREAM_CLASS
25+ #define BLYNK_STREAM_CLASS_OVERRIDE
2426#endif
2527
2628#include < Blynk/BlynkWidgetBase.h>
@@ -48,7 +50,7 @@ class WidgetTerminal
4850 * Writing
4951 */
5052
51- virtual size_t write (uint8_t byte) {
53+ virtual size_t write (uint8_t byte) BLYNK_STREAM_CLASS_OVERRIDE {
5254 mOutBuf [mOutQty ++] = byte;
5355 if (byte == ' \n ' && Blynk.connected ()) {
5456 flush ();
@@ -59,7 +61,7 @@ class WidgetTerminal
5961 return 1 ;
6062 }
6163
62- virtual void flush () {
64+ virtual void flush () BLYNK_STREAM_CLASS_OVERRIDE {
6365 if (mOutQty ) {
6466 Blynk.virtualWriteBinary (mPin , mOutBuf , mOutQty );
6567 mOutQty = 0 ;
@@ -70,9 +72,9 @@ class WidgetTerminal
7072 * Reading
7173 */
7274
73- virtual int read () { return mRxBuff .readable () ? mRxBuff .get () : -1 ; }
74- virtual int available () { return mRxBuff .size (); }
75- virtual int peek () { return mRxBuff .readable () ? mRxBuff .peek () : -1 ; }
75+ virtual int read () BLYNK_STREAM_CLASS_OVERRIDE { return mRxBuff .readable () ? mRxBuff .get () : -1 ; }
76+ virtual int available () BLYNK_STREAM_CLASS_OVERRIDE { return mRxBuff .size (); }
77+ virtual int peek () BLYNK_STREAM_CLASS_OVERRIDE { return mRxBuff .readable () ? mRxBuff .peek () : -1 ; }
7678
7779 void process (const BlynkParam& param) {
7880 mRxBuff .put ((uint8_t *)param.getBuffer (), param.getLength ());
@@ -108,17 +110,12 @@ class WidgetTerminal
108110
109111 using Stream::write;
110112
111- virtual size_t write (const void * buff, size_t len) {
112- return write ((char *)buff, len);
113- }
114-
115113#else
116114
117- virtual size_t write (const void * buff, size_t len) {
118- uint8_t * buf = (uint8_t *)buff;
115+ virtual size_t write (const uint8_t * buff, size_t len) {
119116 size_t left = len;
120117 while (left--) {
121- write (*buf ++);
118+ write (*buff ++);
122119 }
123120 return len;
124121 }
0 commit comments