Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
ModbusSettings.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_MODEL_COMMS_MODBUSSETTINGS_HPP_
2#define IV_SRC_MODEL_COMMS_MODBUSSETTINGS_HPP_
3
4#include "core/types.hpp"
6
8{
9
11{
12 Settings();
13 Settings(iv::types::modbus::slaveId slaveId, bool zeroBased, iv::types::pollTime timeoutWait,
14 iv::types::pollTime timeoutRetry, uint8_t maxRetries, uint16_t maxCoilsReadPerQuery,
15 uint16_t maxCoilsWritePerQuery, uint16_t maxRegistersReadPerQuery, uint16_t maxRegistersWritePerQuery,
16 bool forceContinuousRegisters);
17 Settings(const Settings &other);
18 Settings(Settings &&other) noexcept;
20
21 Settings &operator=(const Settings &other);
22 Settings &operator=(Settings &&other) noexcept;
23
24 bool load(const iv::file::xml::node &node);
25 bool save(iv::file::xml::node &node) const;
26
31 uint8_t _maxRetries;
38private:
39 struct Keys
40 {
41 static constexpr std::string_view modbusSlaveId {"SlaveId"};
42 static constexpr std::string_view modbusZeroBased {"ZeroBased"};
43 static constexpr std::string_view modbusTimeoutWait {"TimeoutWait"};
44 static constexpr std::string_view modbusTimeoutRetry {"TimeoutRetry"};
45 static constexpr std::string_view modbusMaxRetries {"MaxRetries"};
46 static constexpr std::string_view modbusMaxCoilsReadPerQuery {"MaxCoilsReadPerQuery"};
47 static constexpr std::string_view modbusMaxCoilsWritePerQuery {"MaxCoilsWritePerQuery"};
48 static constexpr std::string_view modbusMaxRegistersReadPerQuery {"MaxRegistersReadPerQuery"};
49 static constexpr std::string_view modbusMaxRegistersWritePerQuery {"MaxRegistersWritePerQuery"};
50 };
51};
52
53}// namespace iv::model::comms::modbus
54
55#endif//IV_SRC_MODEL_COMMS_MODBUSSETTINGS_HPP_
Definition xmlFile.hpp:15
Definition ModbusSettings.cpp:6
uint8_t slaveId
Definition types.hpp:49
std::chrono::milliseconds pollTime
Definition types.hpp:44
Definition ModbusSettings.hpp:40
static constexpr std::string_view modbusMaxCoilsWritePerQuery
Definition ModbusSettings.hpp:47
static constexpr std::string_view modbusTimeoutRetry
Definition ModbusSettings.hpp:44
static constexpr std::string_view modbusSlaveId
Definition ModbusSettings.hpp:41
static constexpr std::string_view modbusZeroBased
Definition ModbusSettings.hpp:42
static constexpr std::string_view modbusMaxRegistersWritePerQuery
Definition ModbusSettings.hpp:49
static constexpr std::string_view modbusMaxRetries
Definition ModbusSettings.hpp:45
static constexpr std::string_view modbusTimeoutWait
Definition ModbusSettings.hpp:43
static constexpr std::string_view modbusMaxCoilsReadPerQuery
Definition ModbusSettings.hpp:46
static constexpr std::string_view modbusMaxRegistersReadPerQuery
Definition ModbusSettings.hpp:48
Definition ModbusSettings.hpp:11
bool _zeroBased
Definition ModbusSettings.hpp:28
uint16_t _maxCoilsWritePerQuery
Definition ModbusSettings.hpp:33
uint16_t _maxRegistersWritePerQuery
Definition ModbusSettings.hpp:35
Settings & operator=(const Settings &other)
Definition ModbusSettings.cpp:41
Settings(const Settings &other)
iv::types::modbus::slaveId _slaveId
Definition ModbusSettings.hpp:27
iv::types::pollTime _timeoutWait
Definition ModbusSettings.hpp:29
bool _forceContinuousRegisters
Definition ModbusSettings.hpp:36
Settings()
Definition ModbusSettings.cpp:8
uint16_t _maxCoilsReadPerQuery
Definition ModbusSettings.hpp:32
uint8_t _maxRetries
Definition ModbusSettings.hpp:31
iv::types::pollTime _timeoutRetry
Definition ModbusSettings.hpp:30
bool save(iv::file::xml::node &node) const
Definition ModbusSettings.cpp:94
uint16_t _maxRegistersReadPerQuery
Definition ModbusSettings.hpp:34
bool load(const iv::file::xml::node &node)
Definition ModbusSettings.cpp:79