19#ifndef SRC_SUPLA_MODBUS_MODBUS_CONFIGURATOR_H_
20#define SRC_SUPLA_MODBUS_MODBUS_CONFIGURATOR_H_
22#include <supla/element.h>
28enum class Role : uint8_t {
29 NotSet = MODBUS_ROLE_NOT_SET,
30 Master = MODBUS_ROLE_MASTER,
31 Slave = MODBUS_ROLE_SLAVE
34enum class ModeSerial : uint8_t {
35 Disabled = MODBUS_SERIAL_MODE_DISABLED,
36 Rtu = MODBUS_SERIAL_MODE_RTU,
37 Ascii = MODBUS_SERIAL_MODE_ASCII
40enum class ModeNetwork : uint8_t {
41 Disabled = MODBUS_NETWORK_MODE_DISABLED,
42 Tcp = MODBUS_NETWORK_MODE_TCP,
43 Udp = MODBUS_NETWORK_MODE_UDP
46enum class SerialStopBits : uint8_t {
47 One = MODBUS_SERIAL_STOP_BITS_ONE,
48 OneAndHalf = MODBUS_SERIAL_STOP_BITS_ONE_AND_HALF,
49 Two = MODBUS_SERIAL_STOP_BITS_TWO
54 ModeSerial mode = ModeSerial::Disabled;
56 SerialStopBits stopBits = SerialStopBits::One;
60 ModeNetwork mode = ModeNetwork::Disabled;
64struct ConfigProperties {
83 uint8_t oneAndHalf: 1;
88 bool operator==(
const ConfigProperties &other)
const;
89 bool operator!=(
const ConfigProperties &other)
const;
95 Role role = Role::NotSet;
96 uint8_t modbusAddress = 1;
97 uint16_t slaveTimeoutMs = 0;
101 bool operator==(
const Config &other)
const;
102 bool operator!=(
const Config &other)
const;
116 bool isNetworkModeEnabled()
const;
117 bool isSerialModeEnabled()
const;
118 bool isModbusDisabled()
const;
119 bool isMaster()
const;
120 bool isSlave()
const;
121 bool isRtuMode()
const;
122 bool isAsciiMode()
const;
125 void storeConfig()
const;
126 void printConfig()
const;
132 bool configChanged =
false;
Definition SuplaDevice.h:93
Base class for all elements of SuplaDevice.
Definition element.h:37
void onDeviceConfigChange(uint64_t fieldBit) override
Method called when device config is changed.
Definition modbus_configurator.cpp:230
void onLoadConfig(SuplaDeviceClass *) override
First method called on element in SuplaDevice.begin().
Definition modbus_configurator.cpp:208
Definition modbus_configurator.h:64
Definition modbus_configurator.h:94
Definition modbus_configurator.h:59
Definition modbus_configurator.h:53