From 1f26d3d5a3848b3dea77bae4f4740bc7bc64c46f Mon Sep 17 00:00:00 2001 From: jgromes Date: Tue, 12 Nov 2019 17:24:49 +0100 Subject: [PATCH] Fixed SoftwareSerial for ESP8266 core 2.6.0 --- src/ISerial.cpp | 4 ++++ src/Module.cpp | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/ISerial.cpp b/src/ISerial.cpp index bc280e68..4bc72a9d 100644 --- a/src/ISerial.cpp +++ b/src/ISerial.cpp @@ -5,7 +5,11 @@ ISerial::ISerial(Module* mod) { } void ISerial::begin(long speed) { +#if defined(ESP8266) + _mod->ModuleSerial->begin(speed, _mod->getRx(), _mod->getTx(), SWSERIAL_8N1); +#else _mod->ModuleSerial->begin(speed); +#endif } bool ISerial::listen() { diff --git a/src/Module.cpp b/src/Module.cpp index 1c994eff..b706c56e 100644 --- a/src/Module.cpp +++ b/src/Module.cpp @@ -9,6 +9,9 @@ Module::Module(int rx, int tx, HardwareSerial* useSer) { #ifdef SOFTWARE_SERIAL_UNSUPPORTED ModuleSerial = useSer; +#elif defined(ESP8266) + ModuleSerial = new SoftwareSerial(); + (void)useSer; #else ModuleSerial = new SoftwareSerial(_rx, _tx); (void)useSer; @@ -36,6 +39,9 @@ Module::Module(int cs, int int0, int int1, int rx, int tx, SPIClass& spi, SPISet #ifdef SOFTWARE_SERIAL_UNSUPPORTED ModuleSerial = useSer; +#elif defined(ESP8266) + ModuleSerial = new SoftwareSerial(); + (void)useSer; #else ModuleSerial = new SoftwareSerial(_rx, _tx); (void)useSer; @@ -63,6 +69,8 @@ void Module::init(uint8_t interface, uint8_t gpio) { case USE_UART: #if defined(ESP32) ModuleSerial->begin(baudrate, SERIAL_8N1, _rx, _tx); +#elif defined(ESP8266) + ModuleSerial->begin(baudrate, _rx, _tx, SWSERIAL_8N1); #else ModuleSerial->begin(baudrate); #endif