PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
profinet::PNIODWriteRes Struct Reference

IODWriteResHeader: response header confirming (or rejecting) a data record write. More...

#include <protocol.h>

+ Collaboration diagram for profinet::PNIODWriteRes:

Static Public Member Functions

static PNIODWriteRes Parse (const Bytes &data)
 Parse an IODWriteResHeader from raw bytes.
 

Public Attributes

std::array< std::uint8_t, blockHeaderLenghtblockHeader {}
 Nested 6-byte block header.
 
std::uint16_t seqNum = 0
 Sequence number echoed from the request.
 
std::array< std::uint8_t, uuidLenghtarUuid {}
 AR UUID this record belongs to.
 
std::uint32_t api = 0
 API number.
 
std::uint16_t slot = 0
 Slot number.
 
std::uint16_t subslot = 0
 Subslot number.
 
std::uint16_t padding = 0
 Reserved/padding.
 
std::uint16_t index = 0
 Record data index written.
 
std::uint32_t recordDataLength = 0
 Length in bytes accepted by the device.
 
std::uint16_t additionalValue1 = 0
 Additional status value 1 (device-specific).
 
std::uint16_t additionalValue2 = 0
 Additional status value 2 (device-specific).
 
std::uint32_t status = 0
 PNIO status code (0 = success).
 
std::array< std::uint8_t, 16 > rwPadding {}
 Reserved/padding.
 

Static Public Attributes

static constexpr std::uint16_t BLOCK_TYPE = 0x8008
 Block type identifier for IODWriteResHeader.
 
static constexpr std::size_t kSize = 64
 Size in bytes of this block.
 

Detailed Description

IODWriteResHeader: response header confirming (or rejecting) a data record write.

Definition at line 2102 of file protocol.h.

Member Function Documentation

◆ Parse()

static PNIODWriteRes profinet::PNIODWriteRes::Parse ( const Bytes data)
inlinestatic

Parse an IODWriteResHeader from raw bytes.

Parameters
dataBytes starting at the BlockHeader field.
Returns
The parsed block.

Definition at line 2154 of file protocol.h.

References additionalValue1, additionalValue2, api, arUuid, blockHeader, profinet::blockHeaderLenght, profinet::wire::Reader::Fixed(), index, kSize, padding, recordDataLength, rwPadding, seqNum, slot, status, subslot, profinet::wire::Reader::U16(), profinet::wire::Reader::U32(), and profinet::uuidLenght.

+ Here is the call graph for this function:

Member Data Documentation

◆ additionalValue1

std::uint16_t profinet::PNIODWriteRes::additionalValue1 = 0

Additional status value 1 (device-specific).

Definition at line 2137 of file protocol.h.

Referenced by Parse().

◆ additionalValue2

std::uint16_t profinet::PNIODWriteRes::additionalValue2 = 0

Additional status value 2 (device-specific).

Definition at line 2140 of file protocol.h.

Referenced by Parse().

◆ api

std::uint32_t profinet::PNIODWriteRes::api = 0

API number.

Definition at line 2119 of file protocol.h.

Referenced by Parse().

◆ arUuid

std::array<std::uint8_t, uuidLenght> profinet::PNIODWriteRes::arUuid {}

AR UUID this record belongs to.

Definition at line 2116 of file protocol.h.

Referenced by Parse().

◆ BLOCK_TYPE

constexpr std::uint16_t profinet::PNIODWriteRes::BLOCK_TYPE = 0x8008
staticconstexpr

Block type identifier for IODWriteResHeader.

Definition at line 2106 of file protocol.h.

◆ blockHeader

std::array<std::uint8_t, blockHeaderLenght> profinet::PNIODWriteRes::blockHeader {}

Nested 6-byte block header.

Definition at line 2110 of file protocol.h.

Referenced by Parse().

◆ index

std::uint16_t profinet::PNIODWriteRes::index = 0

Record data index written.

Definition at line 2131 of file protocol.h.

Referenced by Parse().

◆ kSize

constexpr std::size_t profinet::PNIODWriteRes::kSize = 64
staticconstexpr

Size in bytes of this block.

Definition at line 2149 of file protocol.h.

Referenced by Parse().

◆ padding

std::uint16_t profinet::PNIODWriteRes::padding = 0

Reserved/padding.

Definition at line 2128 of file protocol.h.

Referenced by Parse().

◆ recordDataLength

std::uint32_t profinet::PNIODWriteRes::recordDataLength = 0

Length in bytes accepted by the device.

Definition at line 2134 of file protocol.h.

Referenced by Parse().

◆ rwPadding

std::array<std::uint8_t, 16> profinet::PNIODWriteRes::rwPadding {}

Reserved/padding.

Definition at line 2146 of file protocol.h.

Referenced by Parse().

◆ seqNum

std::uint16_t profinet::PNIODWriteRes::seqNum = 0

Sequence number echoed from the request.

Definition at line 2113 of file protocol.h.

Referenced by Parse().

◆ slot

std::uint16_t profinet::PNIODWriteRes::slot = 0

Slot number.

Definition at line 2122 of file protocol.h.

Referenced by Parse().

◆ status

std::uint32_t profinet::PNIODWriteRes::status = 0

PNIO status code (0 = success).

Definition at line 2143 of file protocol.h.

Referenced by Parse().

◆ subslot

std::uint16_t profinet::PNIODWriteRes::subslot = 0

Subslot number.

Definition at line 2125 of file protocol.h.

Referenced by Parse().


The documentation for this struct was generated from the following file: