IO::Modbus::PDU Struct Reference
#include <PDU.h>
Collaboration diagram for IO::Modbus::PDU:
Classes | |
union | Data |
Public Member Functions | |
Function | function () const |
void | setFunction (Function function) |
void | setException (Exception exception) |
bool | exceptionFlag () const |
Exception | exception () const |
Swap byte order of any 16-bit fields | |
void | swapRequestByteOrder () |
void | swapResponseByteOrder () |
Get PDU size based on content | |
Calculation uses byte count so doesn't access any 16-bit fields | |
size_t | getRequestSize () const |
size_t | getResponseSize () const |
Public Attributes | |
uint8_t | functionCode |
Data | data |
Detailed Description
Protocol Data Unit.
Content is independent of the communication layer. Structure does NOT represent over-the-wire format as packing issues make handling PDU::Data awkward. Therefore, the other fields are unaligned and adjusted as required when sent over the wire.
byteCount
field
Some functions with a byteCount
field are marked as calculated
. This means it doesn't need to be set when constructing requests or responses, and will be filled in later based on the values of other fields.
In other cases, a setCount
method is provided to help ensure the byteCount field is set correctly.
Member Function Documentation
◆ exception()
|
inline |
◆ exceptionFlag()
|
inline |
◆ function()
|
inline |
◆ getRequestSize()
|
inline |
◆ getResponseSize()
|
inline |
◆ setException()
|
inline |
◆ setFunction()
|
inline |
◆ swapRequestByteOrder()
void IO::Modbus::PDU::swapRequestByteOrder | ( | ) |
◆ swapResponseByteOrder()
void IO::Modbus::PDU::swapResponseByteOrder | ( | ) |
Member Data Documentation
◆ data
Data IO::Modbus::PDU::data |
◆ functionCode
uint8_t IO::Modbus::PDU::functionCode |
The documentation for this struct was generated from the following file: