12#include "modbusCell.hpp"
13#include "modbusException.hpp"
29 uint16_t _registersNumber;
31 std::vector<ModbusCell> _values;
51 bool CRC =
false)
noexcept(
false);
58 static ModbusRequest fromRaw(
const std::vector<uint8_t> &inputData)
noexcept(
false) {
69 static ModbusRequest fromRawCRC(
const std::vector<uint8_t> &inputData) {
80 uint16_t address = 0, uint16_t registersNumber = 0,
81 std::vector<ModbusCell> values = {})
noexcept;
86 [[nodiscard]] std::string
toString()
const noexcept;
89 [[nodiscard]] std::vector<uint8_t>
toRaw()
const noexcept;
100 [[nodiscard]] uint8_t slaveID()
const {
return _slaveID; }
102 [[nodiscard]] uint16_t registerAddress()
const {
return _address; }
103 [[nodiscard]] uint16_t numberOfRegisters()
const {
return _registersNumber; }
104 [[nodiscard]]
const std::vector<ModbusCell> ®isterValues()
const {
108 void setSlaveId(uint8_t slaveId) { _slaveID = slaveId; }
110 _functionCode = functionCode;
112 void setAddress(uint16_t address) { _address = address; }
113 void setRegistersNumber(uint16_t registersNumber) {
114 _registersNumber = registersNumber;
115 _values.resize(registersNumber);
117 void setValues(
const std::vector<ModbusCell> &values) { _values = values; }
Definition modbusRequest.hpp:23
utils::MBFunctionType functionType() const noexcept
Returns function type based on Modbus function code.
Definition modbusRequest.hpp:92
std::string toString() const noexcept
Returns string representation of object.
Definition modbusRequest.cpp:106
utils::MBFunctionRegisters functionRegisters() const noexcept
Returns register type based on Modbus function code.
Definition modbusRequest.hpp:96
std::vector< uint8_t > toRaw() const noexcept
Definition modbusRequest.cpp:134
MBFunctionType
Simplified function types.
Definition modbusUtils.hpp:137
MBFunctionRegisters
Simplified register types.
Definition modbusUtils.hpp:159
MBFunctionCode
All modbus standard function codes + Undefined one.
Definition modbusUtils.hpp:117
MBFunctionType functionType(const MBFunctionCode code)
Checks "Function type", according to MBFunctionType.
Definition modbusUtils.hpp:140
MBFunctionRegisters functionRegister(const MBFunctionCode code)
Get register type based on function code.
Definition modbusUtils.hpp:162