Info about an option in Linuxcnc-ethercat, lcec.
It is a new option but actually a rediscovered function.
It's an important function when using distributed clock synchronization,
as most do with servo and stepper motor drives.
The
syncToRefClock option
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="5" syncToRefClock="true">
This will synchronize LinuxCNC's servo thread to EtherCAT's distributed clock,
the entire timing chain from LinuxCNC to the drives is then in sync.
When using distributed clock synchronization (a drive uses assignActivate="300")
you probably always want to use this option.
If you experience gravel noises, friction noises, etc., or acceleration and
torque spikes that recur every few minutes, this is the option to use.
There are some hal parameters associated with this option, check the documentation
github.com/linuxcnc-ethercat/linuxcnc-et...istributed-clocks.md
The option is just now introduced in the linuxcnc-ethercat code.
Over time this option will be generally available as distributions pick up the latest software version
of linuxcnc-ethercat. But you don't have to wait for it, the "rediscovery" means it is already in lcec,
you enable synchronization by setting a negative value to refClockSyncCycles.
A big thanks to Scott Laird for accepting the pull request and assisting with this.