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

Live distributed-clock synchronisation status for one slave, read from its ESC. More...

#include <fieldbus_driver.h>

Public Attributes

uint16_t slavePosition = 0
 1-based bus position.
 
bool dcCapable = false
 Slave has distributed-clock hardware (cached hasdc).
 
bool referenceClock = false
 This slave is the DC reference clock (first DC-capable).
 
int32_t propagationDelay = 0
 System-time delay / propagation delay (0x0928), ns.
 
int32_t systemTimeDifference
 

Detailed Description

Live distributed-clock synchronisation status for one slave, read from its ESC.

A point-in-time snapshot of how tightly each slave's distributed-clock unit is tracking the bus reference clock. Produced by FieldbusDriver::readDcSync via FPRD reads of the DC registers (system-time delay 0x0928 and system-time difference 0x092C) — live, not cached.

The reference clock (the first DC-capable slave) defines bus time; every other DC slave continuously corrects its local clock toward it. systemTimeDifference is the live deviation: it converges toward zero once the bus has been exchanging process data long enough for the slaves' drift-compensation loops to settle, and a value that stays large or grows means a slave is not locked to the reference. The figure is only meaningful while the bus is exchanging in SAFE-OP/OP, since the master distributes the reference time in the cyclic frame. Non-DC slaves report dcCapable false and zeroed values.

Member Data Documentation

◆ dcCapable

bool mm::comm::DcSyncDiagnostics::dcCapable = false

Slave has distributed-clock hardware (cached hasdc).

◆ propagationDelay

int32_t mm::comm::DcSyncDiagnostics::propagationDelay = 0

System-time delay / propagation delay (0x0928), ns.

◆ referenceClock

bool mm::comm::DcSyncDiagnostics::referenceClock = false

This slave is the DC reference clock (first DC-capable).

◆ slavePosition

uint16_t mm::comm::DcSyncDiagnostics::slavePosition = 0

1-based bus position.

◆ systemTimeDifference

int32_t mm::comm::DcSyncDiagnostics::systemTimeDifference
Initial value:
=
0

Signed deviation of the local system time from the reference (0x092C), ns. Positive = local clock ahead of the reference, negative = behind; zero on the reference clock itself.


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