From 1a6076c253bee6ba882b0e3e78e92a5b61af5484 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 14 Mar 2023 09:28:00 +0100 Subject: [PATCH] Add flush before disabling tx (#17247) --- lib/default/TasmotaSerial-3.6.0/src/TasmotaSerial.cpp | 1 + lib/lib_basic/TasmotaModbus-3.6.0/src/TasmotaModbus.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/default/TasmotaSerial-3.6.0/src/TasmotaSerial.cpp b/lib/default/TasmotaSerial-3.6.0/src/TasmotaSerial.cpp index a233422be..e54692ab5 100644 --- a/lib/default/TasmotaSerial-3.6.0/src/TasmotaSerial.cpp +++ b/lib/default/TasmotaSerial-3.6.0/src/TasmotaSerial.cpp @@ -460,6 +460,7 @@ size_t TasmotaSerial::write(uint8_t b) { size = 1; } if (m_tx_enable_pin > -1) { + flush(); // Must wait for all data sent digitalWrite(m_tx_enable_pin, LOW); } return size; diff --git a/lib/lib_basic/TasmotaModbus-3.6.0/src/TasmotaModbus.cpp b/lib/lib_basic/TasmotaModbus-3.6.0/src/TasmotaModbus.cpp index 4319c5d8a..0ab48f824 100644 --- a/lib/lib_basic/TasmotaModbus-3.6.0/src/TasmotaModbus.cpp +++ b/lib/lib_basic/TasmotaModbus-3.6.0/src/TasmotaModbus.cpp @@ -171,6 +171,7 @@ uint8_t TasmotaModbus::Send(uint8_t device_address, uint8_t function_code, uint1 write(frame, framepointer); #ifdef TASMOTA_MODBUS_TX_ENABLE if (mb_tx_enable_pin > -1) { + flush(); // Must wait for all data sent digitalWrite(mb_tx_enable_pin, LOW); } #endif // TASMOTA_MODBUS_TX_ENABLE