From 2665cd3ad1496e6812e656723763eb41c4287aad Mon Sep 17 00:00:00 2001 From: "Dirk O. Kaar" Date: Sat, 25 Feb 2023 13:17:58 +0100 Subject: [PATCH 1/9] Upcoming EspSoftwareSerial 7.0.1 --- libraries/SoftwareSerial | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/SoftwareSerial b/libraries/SoftwareSerial index 12f848042e..288b92c2aa 160000 --- a/libraries/SoftwareSerial +++ b/libraries/SoftwareSerial @@ -1 +1 @@ -Subproject commit 12f848042ee87637abcafa429618a8a6910db288 +Subproject commit 288b92c2aa0ee4dff708a73bc2b8cc69bd94ccf8 From 325b6fcf4f49cc5b29eb55d8da2f0c50af2f34d4 Mon Sep 17 00:00:00 2001 From: "Dirk O. Kaar" Date: Sat, 25 Feb 2023 15:49:16 +0100 Subject: [PATCH 2/9] EspSoftwareSerial example: higher bitrates due to forcing half-duplex --- libraries/SoftwareSerial | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/SoftwareSerial b/libraries/SoftwareSerial index 288b92c2aa..8ef714fdeb 160000 --- a/libraries/SoftwareSerial +++ b/libraries/SoftwareSerial @@ -1 +1 @@ -Subproject commit 288b92c2aa0ee4dff708a73bc2b8cc69bd94ccf8 +Subproject commit 8ef714fdeb70c3e4f935e299f0d69969d1ec52af From 959f3b5983788b07521f1d858fd671e99c41c462 Mon Sep 17 00:00:00 2001 From: "Dirk O. Kaar" Date: Sat, 4 Mar 2023 12:19:04 +0100 Subject: [PATCH 3/9] Adapt to SoftwareSerial's latest use of namespace. --- .../examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino | 4 ++-- libraries/SoftwareSerial | 2 +- libraries/esp8266/examples/SerialStress/SerialStress.ino | 2 +- libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino b/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino index 05bdb94aa9..fec02e4a4c 100644 --- a/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino +++ b/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino @@ -59,7 +59,7 @@ #if SWAP_PINS #include -SoftwareSerial* logger = nullptr; +SoftwareSerial::UART* logger = nullptr; #else #define logger (&Serial1) #endif @@ -85,7 +85,7 @@ void setup() { Serial.swap(); // Hardware serial is now on RX:GPIO13 TX:GPIO15 // use SoftwareSerial on regular RX(3)/TX(1) for logging - logger = new SoftwareSerial(3, 1); + logger = new SoftwareSerial::UART(3, 1); logger->begin(BAUD_LOGGER); logger->enableIntTx(false); logger->println("\n\nUsing SoftwareSerial for logging"); diff --git a/libraries/SoftwareSerial b/libraries/SoftwareSerial index 8ef714fdeb..ffcec7dc9c 160000 --- a/libraries/SoftwareSerial +++ b/libraries/SoftwareSerial @@ -1 +1 @@ -Subproject commit 8ef714fdeb70c3e4f935e299f0d69969d1ec52af +Subproject commit ffcec7dc9caf9c91de02ded3d683fe30f28185bb diff --git a/libraries/esp8266/examples/SerialStress/SerialStress.ino b/libraries/esp8266/examples/SerialStress/SerialStress.ino index 4a8b6e4f45..521b6eda1b 100644 --- a/libraries/esp8266/examples/SerialStress/SerialStress.ino +++ b/libraries/esp8266/examples/SerialStress/SerialStress.ino @@ -57,7 +57,7 @@ void setup() { // using HardwareSerial0 pins, // so we can still log to the regular usbserial chips - SoftwareSerial* ss = new SoftwareSerial(3, 1); + SoftwareSerial::UART* ss = new SoftwareSerial::UART(3, 1); ss->begin(SSBAUD); ss->enableIntTx(false); logger = ss; diff --git a/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino b/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino index baa499721e..f3ceb458eb 100644 --- a/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino +++ b/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino @@ -36,7 +36,7 @@ #define RX 13 // d1mini D7 #define TX 15 // d1mini D8 -SoftwareSerial ppplink(RX, TX); +SoftwareSerial::UART ppplink(RX, TX); HardwareSerial& logger = Serial; PPPServer ppp(&ppplink); From 4d9ac2f6bec2060aba2453663093bfb3c77a15c8 Mon Sep 17 00:00:00 2001 From: "Dirk O. Kaar" Date: Sat, 4 Mar 2023 22:10:37 +0100 Subject: [PATCH 4/9] In EspSoftwareSerial, some renaming after review feedback. --- .../examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino | 10 +++++----- libraries/SoftwareSerial | 2 +- .../esp8266/examples/SerialStress/SerialStress.ino | 4 ++-- libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino b/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino index fec02e4a4c..22d44458ab 100644 --- a/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino +++ b/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino @@ -31,7 +31,7 @@ SWAP_PINS: 0: use Serial1 for logging (legacy example) 1: configure Hardware Serial port on RX:GPIO13 TX:GPIO15 - and use SoftwareSerial for logging on + and use EspSoftwareSerial for logging on standard Serial pins RX:GPIO3 and TX:GPIO1 */ @@ -59,7 +59,7 @@ #if SWAP_PINS #include -SoftwareSerial::UART* logger = nullptr; +EspSoftwareSerial::UART* logger = nullptr; #else #define logger (&Serial1) #endif @@ -84,11 +84,11 @@ void setup() { #if SWAP_PINS Serial.swap(); // Hardware serial is now on RX:GPIO13 TX:GPIO15 - // use SoftwareSerial on regular RX(3)/TX(1) for logging - logger = new SoftwareSerial::UART(3, 1); + // use EspSoftwareSerial on regular RX(3)/TX(1) for logging + logger = new EspSoftwareSerial::UART(3, 1); logger->begin(BAUD_LOGGER); logger->enableIntTx(false); - logger->println("\n\nUsing SoftwareSerial for logging"); + logger->println("\n\nUsing EspSoftwareSerial for logging"); #else logger->begin(BAUD_LOGGER); logger->println("\n\nUsing Serial1 for logging"); diff --git a/libraries/SoftwareSerial b/libraries/SoftwareSerial index ffcec7dc9c..156a2dd3d9 160000 --- a/libraries/SoftwareSerial +++ b/libraries/SoftwareSerial @@ -1 +1 @@ -Subproject commit ffcec7dc9caf9c91de02ded3d683fe30f28185bb +Subproject commit 156a2dd3d971b25e1ed480deb93000a1761f8381 diff --git a/libraries/esp8266/examples/SerialStress/SerialStress.ino b/libraries/esp8266/examples/SerialStress/SerialStress.ino index 521b6eda1b..f61304c9a2 100644 --- a/libraries/esp8266/examples/SerialStress/SerialStress.ino +++ b/libraries/esp8266/examples/SerialStress/SerialStress.ino @@ -2,7 +2,7 @@ /* Serial read/write/verify/benchmark Using internal loopback - Using SoftwareSerial library for logging + Using EspSoftwareSerial library for logging Sketch meant for debugging only Released to public domain @@ -57,7 +57,7 @@ void setup() { // using HardwareSerial0 pins, // so we can still log to the regular usbserial chips - SoftwareSerial::UART* ss = new SoftwareSerial::UART(3, 1); + EspSoftwareSerial::UART* ss = new EspSoftwareSerial::UART(3, 1); ss->begin(SSBAUD); ss->enableIntTx(false); logger = ss; diff --git a/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino b/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino index f3ceb458eb..62c2171b36 100644 --- a/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino +++ b/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino @@ -36,7 +36,7 @@ #define RX 13 // d1mini D7 #define TX 15 // d1mini D8 -SoftwareSerial::UART ppplink(RX, TX); +EspSoftwareSerial::UART ppplink(RX, TX); HardwareSerial& logger = Serial; PPPServer ppp(&ppplink); From 25661ba1e787bc3444ef09fb4f2ae50d50be613f Mon Sep 17 00:00:00 2001 From: "Dirk O. Kaar" Date: Sun, 5 Mar 2023 01:55:07 +0100 Subject: [PATCH 5/9] EspSoftwareSerial's use of a template class in order to permit users their own GPIO capabilities definitions. --- libraries/SoftwareSerial | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/SoftwareSerial b/libraries/SoftwareSerial index 156a2dd3d9..7d3d672b38 160000 --- a/libraries/SoftwareSerial +++ b/libraries/SoftwareSerial @@ -1 +1 @@ -Subproject commit 156a2dd3d971b25e1ed480deb93000a1761f8381 +Subproject commit 7d3d672b38f2df53bc00adae3e03c5b33431bbb6 From e83a919d17016d871ed2d5cf826a2ea0e8754996 Mon Sep 17 00:00:00 2001 From: "Dirk O. Kaar" Date: Sun, 5 Mar 2023 10:30:02 +0100 Subject: [PATCH 6/9] CI caught some warning. --- libraries/SoftwareSerial | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/SoftwareSerial b/libraries/SoftwareSerial index 7d3d672b38..116fbd7bab 160000 --- a/libraries/SoftwareSerial +++ b/libraries/SoftwareSerial @@ -1 +1 @@ -Subproject commit 7d3d672b38f2df53bc00adae3e03c5b33431bbb6 +Subproject commit 116fbd7bab4b74a3f3a0972c3434db09d249037c From 4ef9a45036f9146f8db1bbe5d96e9ab43a92962e Mon Sep 17 00:00:00 2001 From: "Dirk O. Kaar" Date: Sun, 5 Mar 2023 11:37:31 +0100 Subject: [PATCH 7/9] Stick to non-namespace EspSoftwareSerial class name for the moment. --- .../examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino | 4 ++-- libraries/SoftwareSerial | 2 +- libraries/esp8266/examples/SerialStress/SerialStress.ino | 2 +- libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino b/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino index 22d44458ab..b31c552e35 100644 --- a/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino +++ b/libraries/ESP8266WiFi/examples/WiFiTelnetToSerial/WiFiTelnetToSerial.ino @@ -59,7 +59,7 @@ #if SWAP_PINS #include -EspSoftwareSerial::UART* logger = nullptr; +SoftwareSerial* logger = nullptr; #else #define logger (&Serial1) #endif @@ -85,7 +85,7 @@ void setup() { Serial.swap(); // Hardware serial is now on RX:GPIO13 TX:GPIO15 // use EspSoftwareSerial on regular RX(3)/TX(1) for logging - logger = new EspSoftwareSerial::UART(3, 1); + logger = new SoftwareSerial(3, 1); logger->begin(BAUD_LOGGER); logger->enableIntTx(false); logger->println("\n\nUsing EspSoftwareSerial for logging"); diff --git a/libraries/SoftwareSerial b/libraries/SoftwareSerial index 116fbd7bab..fa23f027f7 160000 --- a/libraries/SoftwareSerial +++ b/libraries/SoftwareSerial @@ -1 +1 @@ -Subproject commit 116fbd7bab4b74a3f3a0972c3434db09d249037c +Subproject commit fa23f027f7e6f29f63a273c0c14a7327b66c3bcf diff --git a/libraries/esp8266/examples/SerialStress/SerialStress.ino b/libraries/esp8266/examples/SerialStress/SerialStress.ino index f61304c9a2..5d6aaf2366 100644 --- a/libraries/esp8266/examples/SerialStress/SerialStress.ino +++ b/libraries/esp8266/examples/SerialStress/SerialStress.ino @@ -57,7 +57,7 @@ void setup() { // using HardwareSerial0 pins, // so we can still log to the regular usbserial chips - EspSoftwareSerial::UART* ss = new EspSoftwareSerial::UART(3, 1); + SoftwareSerial* ss = new SoftwareSerial(3, 1); ss->begin(SSBAUD); ss->enableIntTx(false); logger = ss; diff --git a/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino b/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino index 62c2171b36..baa499721e 100644 --- a/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino +++ b/libraries/lwIP_PPP/examples/PPPServer/PPPServer.ino @@ -36,7 +36,7 @@ #define RX 13 // d1mini D7 #define TX 15 // d1mini D8 -EspSoftwareSerial::UART ppplink(RX, TX); +SoftwareSerial ppplink(RX, TX); HardwareSerial& logger = Serial; PPPServer ppp(&ppplink); From ee257dde768b433ddbc85aff5f94ac99f3ae0490 Mon Sep 17 00:00:00 2001 From: "Dirk O. Kaar" Date: Wed, 8 Mar 2023 13:39:00 +0100 Subject: [PATCH 8/9] Delegate operator() is now nullptr-safe, good for use in ISRs. --- libraries/SoftwareSerial | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/SoftwareSerial b/libraries/SoftwareSerial index fa23f027f7..b9a0f6e0a2 160000 --- a/libraries/SoftwareSerial +++ b/libraries/SoftwareSerial @@ -1 +1 @@ -Subproject commit fa23f027f7e6f29f63a273c0c14a7327b66c3bcf +Subproject commit b9a0f6e0a2e95a1f7632edd9ce46d229ca1698ef From 5320d68464d49d2c7a69a7c419355a8347ed3c54 Mon Sep 17 00:00:00 2001 From: "Dirk O. Kaar" Date: Fri, 10 Mar 2023 01:16:38 +0100 Subject: [PATCH 9/9] Pushed EspSoftwareSerial 8.0.1: Platformio picks up versions that aren't published in Github --- libraries/SoftwareSerial | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/SoftwareSerial b/libraries/SoftwareSerial index b9a0f6e0a2..a00554a6ad 160000 --- a/libraries/SoftwareSerial +++ b/libraries/SoftwareSerial @@ -1 +1 @@ -Subproject commit b9a0f6e0a2e95a1f7632edd9ce46d229ca1698ef +Subproject commit a00554a6ad1d28c633dd893e6d6ec4ca2811437f