31 static Supla::Modbus::Result HoldingProcessRequest(
35 Supla::Modbus::Access access);
37 static Supla::Modbus::Result InputProcessRequest(uint16_t address,
41 static Supla::Modbus::Result CoilsProcessRequest(
45 Supla::Modbus::Access access);
47 static Supla::Modbus::Result DiscreteProcessRequest(uint16_t address,
51 static bool IsInputSupported();
52 static bool IsDiscreteSupported();
53 static bool IsCoilsSupported();
54 static bool IsHoldingSupported();
56 virtual bool isInputSupported();
57 virtual bool isDiscreteSupported();
58 virtual bool isCoilsSupported();
59 virtual bool isHoldingSupported();
61 virtual bool holdingRespondsToAddress(uint16_t address, uint16_t nRegs);
62 virtual Supla::Modbus::Result holdingProcessRequest(
66 Supla::Modbus::Access access);
68 virtual bool inputRespondsToAddress(uint16_t address, uint16_t nRegs);
69 virtual Supla::Modbus::Result inputProcessRequest(uint16_t address,
73 virtual bool coilsRespondsToAddress(uint16_t address, uint16_t nRegs);
74 virtual Supla::Modbus::Result coilsProcessRequest(
78 Supla::Modbus::Access access);
80 virtual bool discreteRespondsToAddress(uint16_t address, uint16_t nRegs);
81 virtual Supla::Modbus::Result discreteProcessRequest(uint16_t address,
86 void storeBigEndian(uint64_t value,
88 uint8_t registerOffset,
89 uint8_t registerCount);
90 uint16_t modbusAddressOffset = 0;
91 uint16_t usedRegistersCount = 0;