diff --git a/lib/BufferedTelnetStream/BufferedTelnetStream.h b/lib/BufferedTelnetStream/BufferedTelnetStream.h new file mode 100644 index 0000000..582e4f9 --- /dev/null +++ b/lib/BufferedTelnetStream/BufferedTelnetStream.h @@ -0,0 +1,13 @@ +#pragma once +#include "ESPTelnetStream.h" +#include + +class BufferedTelnetStream : public ESPTelnetStream { +public: + size_t write(const uint8_t* buffer, size_t size) { + WriteBufferingStream bufferedWifiClient{ client, 32 }; + size_t _size = bufferedWifiClient.write((const char*) buffer); + bufferedWifiClient.flush(); + return _size; + } +}; \ No newline at end of file diff --git a/src/MainTask.h b/src/MainTask.h index 0ae4ba8..2359da6 100644 --- a/src/MainTask.h +++ b/src/MainTask.h @@ -5,7 +5,7 @@ extern SensorsTask* tSensors; extern OpenThermTask* tOt; extern EEManager eeSettings; #if USE_TELNET - extern ESPTelnetStream TelnetStream; + extern BufferedTelnetStream TelnetStream; #endif diff --git a/src/WifiManagerTask.h b/src/WifiManagerTask.h index 82d06cf..1564b47 100644 --- a/src/WifiManagerTask.h +++ b/src/WifiManagerTask.h @@ -39,7 +39,7 @@ SeparatorParameter* wmSep; extern EEManager eeSettings; #if USE_TELNET - extern ESPTelnetStream TelnetStream; + extern BufferedTelnetStream TelnetStream; #endif const char S_WIFI[] PROGMEM = "WIFI"; diff --git a/src/main.cpp b/src/main.cpp index 6dcf2c9..95fdfcc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,7 +6,7 @@ #include "Settings.h" #if USE_TELNET - #include "ESPTelnetStream.h" + #include "BufferedTelnetStream.h" #endif #if defined(ESP32) @@ -29,7 +29,7 @@ // Vars EEManager eeSettings(settings, 60000); #if USE_TELNET - ESPTelnetStream TelnetStream; + BufferedTelnetStream TelnetStream; #endif // Tasks