Modbus cpp 0.1
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
MB::ModbusRequest Class Reference

#include <modbusRequest.hpp>

Public Member Functions

 ModbusRequest (const std::vector< uint8_t > &inputData, bool CRC=false) noexcept(false)
 Constructs Request from raw data.
 
 ModbusRequest (uint8_t slaveId=0, utils::MBFunctionCode functionCode=static_cast< utils::MBFunctionCode >(0), uint16_t address=0, uint16_t registersNumber=0, std::vector< ModbusCell > values={}) noexcept
 
 ModbusRequest (const ModbusRequest &)=default
 
std::string toString () const noexcept
 Returns string representation of object.
 
std::vector< uint8_t > toRaw () const noexcept
 
utils::MBFunctionType functionType () const noexcept
 Returns function type based on Modbus function code.
 
utils::MBFunctionRegisters functionRegisters () const noexcept
 Returns register type based on Modbus function code.
 
uint8_t slaveID () const
 
utils::MBFunctionCode functionCode () const
 
uint16_t registerAddress () const
 
uint16_t numberOfRegisters () const
 
const std::vector< ModbusCell > & registerValues () const
 
void setSlaveId (uint8_t slaveId)
 
void setFunctionCode (utils::MBFunctionCode functionCode)
 
void setAddress (uint16_t address)
 
void setRegistersNumber (uint16_t registersNumber)
 
void setValues (const std::vector< ModbusCell > &values)
 

Static Public Member Functions

static ModbusRequest fromRaw (const std::vector< uint8_t > &inputData) noexcept(false)
 
static ModbusRequest fromRawCRC (const std::vector< uint8_t > &inputData)
 

Detailed Description

This class represent Modbus response, it allows user to manipulate and display it in various ways.

Constructor & Destructor Documentation

◆ ModbusRequest() [1/2]

ModbusRequest::ModbusRequest ( const std::vector< uint8_t > & inputData,
bool CRC = false )
explicit

Constructs Request from raw data.

Note
1) if CRC = true input data needs to contain 2 CRC bytes on back (used in RS)
2) This is private constructor, you need to use fromRaw or fromRawCRC
Parameters
inputData- Is vector of bytes that will be be interpreted, whereas based on CRC parameter method performs CRC calculation and throws exception if it is invalid
Exceptions
ModbusException

◆ ModbusRequest() [2/2]

ModbusRequest::ModbusRequest ( uint8_t slaveId = 0,
utils::MBFunctionCode functionCode = static_cast<utils::MBFunctionCode>(0),
uint16_t address = 0,
uint16_t registersNumber = 0,
std::vector< ModbusCell > values = {} )
explicitnoexcept

Simple constructor, that allows to create "dummy" ModbusResponse object. May be useful in some cases.

Member Function Documentation

◆ toRaw()

std::vector< uint8_t > ModbusRequest::toRaw ( ) const
noexcept

Returns raw bytes representation of object, ready for modbus communication


The documentation for this class was generated from the following files: