From 2b90d9475e5cea07406dff036b5e12f65d15e9e7 Mon Sep 17 00:00:00 2001 From: Peter M. Groen Date: Wed, 14 Dec 2022 19:10:27 +0100 Subject: [PATCH] implementing the RTU --- src/connectionconfig.h | 20 ++++++++++++-------- src/modbusrtu.h | 20 ++++++++++++++++++++ 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/src/connectionconfig.h b/src/connectionconfig.h index d9bc7df..0badc21 100644 --- a/src/connectionconfig.h +++ b/src/connectionconfig.h @@ -48,6 +48,9 @@ public: void setConnectionType( E_CONNECTIONTYPE type ) { m_conType = type; } E_CONNECTIONTYPE getConnectionType() const { return m_conType; } + void setPortName(const std::string &port_name) { m_portName = port_name; } + std::string getPortName() { return m_portName; } + void setBaudRate( E_BAUDRATE baud_rate ) { m_baudRate = baud_rate; } E_BAUDRATE getBaudRate() const { return m_baudRate; } @@ -70,14 +73,15 @@ public: int getFrameTimeout() const { return m_frameTimeOut; } private: - E_CONNECTIONTYPE m_conType = E_CONNECTIONTYPE::UNKNOWN; - E_BAUDRATE m_baudRate = E_BAUDRATE::R9600; - E_PARITY m_parity = E_PARITY::NONE; - int m_dataBits = 8; - int m_stopBits = 1; - std::string m_ipAddress{}; - unsigned int m_portNumber = 502; - int m_frameTimeOut = -1; + E_CONNECTIONTYPE m_conType = E_CONNECTIONTYPE::UNKNOWN; + std::string m_portName; + E_BAUDRATE m_baudRate = E_BAUDRATE::R9600; + E_PARITY m_parity = E_PARITY::NONE; + int m_dataBits = 8; + int m_stopBits = 1; + std::string m_ipAddress{}; + unsigned int m_portNumber = 502; + int m_frameTimeOut = -1; }; diff --git a/src/modbusrtu.h b/src/modbusrtu.h index c783b27..1cd4609 100644 --- a/src/modbusrtu.h +++ b/src/modbusrtu.h @@ -13,6 +13,26 @@ namespace modbus { class ModbusRtu : public ModbusBase { +public: + virtual bool Connect() override; + virtual bool Close() override; + + /*! + * \brief modbusSend + * \param to_send + * \param length + * \return + */ + virtual int modbusSend(uint8_t *to_send, size_t length) override; + + /*! + * \brief modbusReceive + * \param buffer + * \return + */ + virtual int modbusReceive(uint8_t *buffer) override; + +private: }; -- libgit2 0.21.4