Benjamin Partzsch

Results 111 comments of Benjamin Partzsch

Thees base functions are the lower layer of the SOEM stack. They are not meant to be called from the application. In fact wrapping them won't go along well with...

Hi @EulaliaVives, I'm sure you already know it but as long as the servo drive dosen't reach OP state, the motor will not move. So first of all you need...

Coming from you original code, it could be solved like this. But I was not able to test it. Also check my comments. ```py import pysoem import ctypes import time...

don't no if it is related to this but the last control_cmd must be a 31 instead of 32, I'll fix my code from above

I don't have any idea for now. In the `for control_cmd in [6, 7, 15, 32]:` loop you could add a print of the Statusword: ```py print(hex(int.from_bytes(device.sdo_read(0x6041, 0), byteorder='little', signed=False)))...

Within `.sdo_write(sdo_index, sub_index, setting, Boolean)`, the "setting" is supposed to be a list of bytes. In the basic_example `slave.sdo_write(0x8001, 2, struct.pack('B', 1))` sets "Enable manual operation" for digital output 1...

Hi @ziadchelala, my guesses are that the EL7201 needs more configuration in the `el7201_setup` function to get into OP state. Or maybe you need to feed more plausible data to...

The ec_DCtime value is currently not exposed by the wrapper. Just digging shortly into this, I guess reading this value is required to synchronize the EtherCAT cycle (send_processdata and receive_processdata)...

See my referenced commit above. Taken your example code, with `self._master.dc_time` you should now have read access to `ec_DCtime`. Without calling `self._master.config_dc()` the `dc_time` remains zero. I hope this helps.

Are you sure that when you are calling ziad_test.py, your Python interpreter is really using the inplace build pysoem? Your inplace setup.py call looks fine, and changes in the pysoem.pyx...