|
PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
|
Control block used for Release/PrmBegin/PrmEnd/ApplicationReady/RTClass3 requests. More...
#include <protocol.h>
Collaboration diagram for profinet::PNIODReleaseBlock:Public Member Functions | |
| Bytes | ToBytes () const |
| Serialize this block back to raw bytes. | |
Static Public Member Functions | |
| static PNIODReleaseBlock | Parse (const Bytes &data) |
| Parse a control block from raw bytes. | |
Public Attributes | |
| std::array< std::uint8_t, blockHeaderLenght > | blockHeader {} |
| Nested 6-byte block header. | |
| std::uint16_t | padding1 = 0 |
| Reserved/padding. | |
| std::array< std::uint8_t, uuidLenght > | arUuid {} |
| AR UUID this control operation applies to. | |
| std::uint16_t | sessionKey = 0 |
| Session key matching the AR. | |
| std::uint16_t | padding2 = 0 |
| Reserved/padding. | |
| ControlCommand | controlCommand = ControlCommand::Unknown |
| Control command bitmask (PrmEnd/AppReady/Release/Done/...). | |
| std::uint16_t | controlBlockProperties = 0 |
| Control block property flags. | |
Static Public Attributes | |
| static constexpr std::size_t | kSize = 32 |
| Size in bytes of this block. | |
Control block used for Release/PrmBegin/PrmEnd/ApplicationReady/RTClass3 requests.
Definition at line 1007 of file protocol.h.
|
inlinestatic |
Parse a control block from raw bytes.
| data | Bytes starting at the BlockHeader field. |
Definition at line 1036 of file protocol.h.
References arUuid, blockHeader, profinet::blockHeaderLenght, controlBlockProperties, controlCommand, profinet::wire::Reader::Fixed(), kSize, padding1, padding2, sessionKey, profinet::wire::Reader::U16(), and profinet::uuidLenght.
Here is the call graph for this function:
|
inline |
Serialize this block back to raw bytes.
Definition at line 1056 of file protocol.h.
References arUuid, blockHeader, controlBlockProperties, controlCommand, padding1, padding2, profinet::wire::PutFixed(), profinet::wire::PutU16(), and sessionKey.
Referenced by profinet::rpc::RPCCon::ApplicationReady(), profinet::rpc::RPCCon::Disconnect(), and profinet::rpc::RPCCon::SendControl().
Here is the call graph for this function:
Here is the caller graph for this function:| std::array<std::uint8_t, uuidLenght> profinet::PNIODReleaseBlock::arUuid {} |
AR UUID this control operation applies to.
Definition at line 1016 of file protocol.h.
Referenced by profinet::rpc::RPCCon::ApplicationReady(), profinet::rpc::RPCCon::Disconnect(), Parse(), profinet::rpc::RPCCon::SendControl(), and ToBytes().
| std::array<std::uint8_t, blockHeaderLenght> profinet::PNIODReleaseBlock::blockHeader {} |
Nested 6-byte block header.
Definition at line 1010 of file protocol.h.
Referenced by profinet::rpc::RPCCon::ApplicationReady(), profinet::rpc::RPCCon::Disconnect(), Parse(), profinet::rpc::RPCCon::SendControl(), and ToBytes().
| std::uint16_t profinet::PNIODReleaseBlock::controlBlockProperties = 0 |
Control block property flags.
Definition at line 1028 of file protocol.h.
Referenced by profinet::rpc::RPCCon::ApplicationReady(), profinet::rpc::RPCCon::Disconnect(), Parse(), profinet::rpc::RPCCon::SendControl(), and ToBytes().
| ControlCommand profinet::PNIODReleaseBlock::controlCommand = ControlCommand::Unknown |
Control command bitmask (PrmEnd/AppReady/Release/Done/...).
Definition at line 1025 of file protocol.h.
Referenced by profinet::rpc::RPCCon::ApplicationReady(), profinet::rpc::RPCCon::Disconnect(), Parse(), profinet::rpc::RPCCon::SendControl(), and ToBytes().
|
staticconstexpr |
| std::uint16_t profinet::PNIODReleaseBlock::padding1 = 0 |
Reserved/padding.
Definition at line 1013 of file protocol.h.
Referenced by profinet::rpc::RPCCon::ApplicationReady(), profinet::rpc::RPCCon::Disconnect(), Parse(), profinet::rpc::RPCCon::SendControl(), and ToBytes().
| std::uint16_t profinet::PNIODReleaseBlock::padding2 = 0 |
Reserved/padding.
Definition at line 1022 of file protocol.h.
Referenced by profinet::rpc::RPCCon::ApplicationReady(), profinet::rpc::RPCCon::Disconnect(), Parse(), profinet::rpc::RPCCon::SendControl(), and ToBytes().
| std::uint16_t profinet::PNIODReleaseBlock::sessionKey = 0 |
Session key matching the AR.
Definition at line 1019 of file protocol.h.
Referenced by profinet::rpc::RPCCon::ApplicationReady(), profinet::rpc::RPCCon::Disconnect(), Parse(), profinet::rpc::RPCCon::SendControl(), and ToBytes().