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

ChannelDiagnosis entry (USI 0x8000). More...

#include <diagnosis.h>

+ Inheritance diagram for profinet::diagnosis::ChannelDiagnosis:
+ Collaboration diagram for profinet::diagnosis::ChannelDiagnosis:

Public Member Functions

bool IsSubmoduleLevel () const
 Whether this diagnosis applies to the whole submodule.
 
bool operator== (const ChannelDiagnosis &) const =default
 Compares two ChannelDiagnosis for equality.
 

Public Attributes

std::uint32_t api = 0
 API number.
 
std::uint16_t slot = 0
 Slot number.
 
std::uint16_t subslot = 0
 Subslot number.
 
std::uint16_t channelNumber = 0
 Channel number, with the accumulative bit packed into bit 15.
 
ChannelProperties properties
 Decoded channel properties.
 
std::uint16_t errorType = 0
 Channel error type code.
 
std::string errorTypeName
 Human-readable name for ErrorType.
 

Detailed Description

ChannelDiagnosis entry (USI 0x8000).

Wire layout after the 6-byte ChannelHeader: ChannelErrorType (2 bytes).

Definition at line 172 of file diagnosis.h.

Member Function Documentation

◆ IsSubmoduleLevel()

bool profinet::diagnosis::ChannelDiagnosis::IsSubmoduleLevel ( ) const
inline

Whether this diagnosis applies to the whole submodule.

Returns
True if ChannelNumber == 0x8000.

Definition at line 197 of file diagnosis.h.

References profinet::Bit15OfChannelNumber, and channelNumber.

◆ operator==()

bool profinet::diagnosis::ChannelDiagnosis::operator== ( const ChannelDiagnosis ) const
default

Compares two ChannelDiagnosis for equality.

Two ChannelDiagnosis are equal when all scalar configuration fields are equal.

Member Data Documentation

◆ api

std::uint32_t profinet::diagnosis::ChannelDiagnosis::api = 0

◆ channelNumber

std::uint16_t profinet::diagnosis::ChannelDiagnosis::channelNumber = 0

Channel number, with the accumulative bit packed into bit 15.

Definition at line 184 of file diagnosis.h.

Referenced by IsSubmoduleLevel(), profinet::diagnosis::ParseDiagnosisBlock(), and profinet::diagnosis::ParseDiagnosisSimple().

◆ errorType

std::uint16_t profinet::diagnosis::ChannelDiagnosis::errorType = 0

Channel error type code.

Definition at line 190 of file diagnosis.h.

Referenced by profinet::diagnosis::ParseDiagnosisBlock(), and profinet::diagnosis::ParseDiagnosisSimple().

◆ errorTypeName

std::string profinet::diagnosis::ChannelDiagnosis::errorTypeName

Human-readable name for ErrorType.

Definition at line 193 of file diagnosis.h.

Referenced by profinet::diagnosis::ParseDiagnosisBlock(), and profinet::diagnosis::ParseDiagnosisSimple().

◆ properties

ChannelProperties profinet::diagnosis::ChannelDiagnosis::properties

Decoded channel properties.

Definition at line 187 of file diagnosis.h.

Referenced by profinet::diagnosis::ParseDiagnosisBlock(), and profinet::diagnosis::ParseDiagnosisSimple().

◆ slot

std::uint16_t profinet::diagnosis::ChannelDiagnosis::slot = 0

Slot number.

Definition at line 178 of file diagnosis.h.

Referenced by profinet::diagnosis::ParseDiagnosisBlock(), and profinet::diagnosis::ParseDiagnosisSimple().

◆ subslot

std::uint16_t profinet::diagnosis::ChannelDiagnosis::subslot = 0

Subslot number.

Definition at line 181 of file diagnosis.h.

Referenced by profinet::diagnosis::ParseDiagnosisBlock(), and profinet::diagnosis::ParseDiagnosisSimple().


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