Dear forum
I have been trying to use more ethercat terminals. A lot of them do not have drivers implemented for them. The ones i have that dont have drivers are EL2014, El3004, EL3202, EL3314. I have created the driver using the mighty Grotius
forum.linuxcnc.org/27-driver-boards/3559...-how-to-installguide
. The drivers work fine on their own, verified by using twincat in windows. The problems occur when the terminals are connected serially in the EK1100.
Lets say I have the terminals connected like this: Ek1100, EL2004(1byte of data), EL2014(4byte of data), EL1002(1byte of data), I will only receive 5 bytes. Additionally the EL1002 will have its hal values controlled by what the first terminal shows.
By testing with different terminals i have found the pattern to be: All devices after a device that sends more than 1 byte will not have its data sent/read, but rather show values based on the very first terminal. If i had a stack like this:EL2014(4byte of data), EL2004(1byte of data), EL1002(1byte of data) i would get 4 bytes, and like this: EL2004(1byte of data), EL1002(1byte of data), EL2014(4byte of data) i will get 6 bytes and every thing working fine.
All devices go into OP state and there are no error messages. I have looked a little in the linuxcnc-ethercat source code and inserted some print calls to see that the pdo_entry_count is correct, every slaves is iterated through, but the master process data length is not correct.
I suspect the drivers i have written to create some kind of issue, but i have stared myself blind trying to find the root of the problem.
Any help is appreciated! I have attached the drivers i have written