|
PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
|
PROFINET diagnosis data structures, error decoding, and parsers. More...
#include <cstdint>#include <optional>#include <string>#include <vector>#include "profinet/protocol.h"
Include dependency graph for diagnosis.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | profinet::diagnosis::ChannelProperties |
| Parsed ChannelProperties word (16 bits). More... | |
| struct | profinet::diagnosis::ChannelDiagnosis |
| ChannelDiagnosis entry (USI 0x8000). More... | |
| struct | profinet::diagnosis::ExtChannelDiagnosis |
| ExtChannelDiagnosis entry (USI 0x8002). More... | |
| struct | profinet::diagnosis::QualifiedChannelDiagnosis |
| QualifiedChannelDiagnosis entry (USI 0x8003). More... | |
| struct | profinet::diagnosis::AnyChannelDiagnosis |
| Any diagnosis entry (USI 0x8000, 0x8002, or 0x8003). More... | |
| struct | profinet::diagnosis::DiagnosisData |
| Complete diagnosis data for one slot/subslot. More... | |
Namespaces | |
| namespace | profinet |
| namespace | profinet::diagnosis |
Functions | |
| std::string | profinet::diagnosis::DecodeChannelErrorType (std::uint16_t errorType) |
| Decode a ChannelErrorType to a human-readable string. | |
| std::string | profinet::diagnosis::DecodeExtChannelErrorType (std::uint16_t channelErrorType, std::uint16_t extErrorType) |
| Decode an ExtChannelErrorType given its ChannelErrorType context. | |
| DiagnosisData | profinet::diagnosis::ParseDiagnosisBlock (const Bytes &data, std::uint32_t api=0, std::uint16_t slot=0, std::uint16_t subslot=0) |
| Parse a full DiagnosisData block from raw bytes. | |
| DiagnosisData | profinet::diagnosis::ParseDiagnosisSimple (const Bytes &data, std::uint32_t api=0, std::uint16_t slot=0, std::uint16_t subslot=0) |
| Parse a simple, fixed-format diagnosis block. | |
PROFINET diagnosis data structures, error decoding, and parsers.
Defines the data structures and parsing helpers used to decode PROFINET diagnosis records. The implementation is ported from profinet-py's diagnosis.py and supports standard channel, extended channel, and qualified channel diagnosis formats.
The header provides:
Parsing is designed to tolerate truncated or malformed diagnosis data without throwing, matching the behavior of the original profinet-py implementation.
Definition in file diagnosis.h.