Motion Master 6.0.0-alpha.50
Next-generation motion control software
Loading...
Searching...
No Matches
mm::comm::SlaveDiagnostics Struct Reference

Decoded health diagnostics for one slave, read live from its ESC registers. More...

#include <fieldbus_driver.h>

Collaboration diagram for mm::comm::SlaveDiagnostics:
[legend]

Public Attributes

uint16_t slavePosition = 0
 1-based bus position.
 
std::array< PortDiagnostics, 4 > ports
 Per-port link state and error counters (ports 0–3).
 
uint8_t processingUnitError = 0
 
uint8_t pdiError = 0
 
uint8_t processDataWatchdog = 0
 
uint8_t pdiWatchdog = 0
 PDI watchdog expirations (0x0443).
 

Detailed Description

Decoded health diagnostics for one slave, read live from its ESC registers.

A point-in-time snapshot of the link-quality and watchdog counters that surface a degrading bus before it drops out of OP. Produced by FieldbusDriver::readDiagnostics via FPRD reads (unlike busConfig, which is a cached snapshot — these are live). The per-port counters localise a fault to a specific cable/connector; the watchdog counters distinguish a slave that stopped receiving process data from a master-side problem.

Member Data Documentation

◆ pdiError

uint8_t mm::comm::SlaveDiagnostics::pdiError = 0

PDI error counter (0x030D): problems on the slave-local process-data interface.

◆ pdiWatchdog

uint8_t mm::comm::SlaveDiagnostics::pdiWatchdog = 0

PDI watchdog expirations (0x0443).

◆ ports

std::array<PortDiagnostics, 4> mm::comm::SlaveDiagnostics::ports

Per-port link state and error counters (ports 0–3).

◆ processDataWatchdog

uint8_t mm::comm::SlaveDiagnostics::processDataWatchdog = 0

Process-data (SM) watchdog expirations (0x0442): the slave stopped seeing fresh outputs.

◆ processingUnitError

uint8_t mm::comm::SlaveDiagnostics::processingUnitError = 0

ECAT processing-unit error counter (0x030C): datagrams that reached the processing unit malformed.

◆ slavePosition

uint16_t mm::comm::SlaveDiagnostics::slavePosition = 0

1-based bus position.


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