For some time, I have been testing an EtherCAT master that runs in user space.
My test data shows that this solution is faster, results in less variation in execution time,
and significantly reduces the number of cycles with unusually long execution times.
The code is available here if you are interested:
github.com/MetalMusings/linuxcnc-ethercat
I run both the IgH master and the user-space EtherCAT master, though not simultaneously.
This work stands on the shoulders of giants. Sasha Ittner (sittner,
github.com/stratuMAK/ethercat
)
was responsible for porting the EtherCAT code to user space, and Claude was a great help.
I simply guided Claude in the process of integrating this into Linuxcnc/lcec.