|
Motion Master 6.0.0-alpha.50
Next-generation motion control software
|
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 |
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.
| bool mm::comm::DcSyncDiagnostics::dcCapable = false |
Slave has distributed-clock hardware (cached hasdc).
| int32_t mm::comm::DcSyncDiagnostics::propagationDelay = 0 |
System-time delay / propagation delay (0x0928), ns.
| bool mm::comm::DcSyncDiagnostics::referenceClock = false |
This slave is the DC reference clock (first DC-capable).
| uint16_t mm::comm::DcSyncDiagnostics::slavePosition = 0 |
1-based bus position.
| int32_t mm::comm::DcSyncDiagnostics::systemTimeDifference |
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.