From 5c93b089e99b178ae4af0c90917feb640142d51d Mon Sep 17 00:00:00 2001
From: Michael Siegel <pomplesiegel@gmail.com>
Date: Tue, 19 Dec 2023 15:26:33 -0500
Subject: [PATCH] Expose libmodbus's flush command

* Expose libmodbus's flush command to ModbusRTUServer API
---
 src/ModbusRTUServer.cpp | 5 +++++
 src/ModbusRTUServer.h   | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/src/ModbusRTUServer.cpp b/src/ModbusRTUServer.cpp
index 95cc0b8..697458d 100644
--- a/src/ModbusRTUServer.cpp
+++ b/src/ModbusRTUServer.cpp
@@ -70,4 +70,9 @@ int ModbusRTUServerClass::poll()
   return 0;
 }
 
+int ModbusRTUServerClass::flush()
+{
+  return modbus_flush(_mb);
+}
+
 ModbusRTUServerClass ModbusRTUServer;
diff --git a/src/ModbusRTUServer.h b/src/ModbusRTUServer.h
index 53b7d40..2159297 100644
--- a/src/ModbusRTUServer.h
+++ b/src/ModbusRTUServer.h
@@ -46,6 +46,11 @@ class ModbusRTUServerClass : public ModbusServer {
    */
   virtual int poll();
 
+  /**
+   * Flush modbus
+   */
+  virtual int flush();
+
 private:
   RS485Class* _rs485 = &RS485;
 };