Hi Guys !
I am trying to communicate with my ODrive via UART with a Raspberry pi. I basically copied the Arduino code that is proposed by @madcowswe here. I mostly use the setcurrent function as explained in the ascii protocol and I also wish to get the encoder position.
I am meeting a timeout issue (from the
readString() function) :
- I can send the current command at a quite frequency (1kHz) to ODrive and everything works perfectly fine.
- If I want to get the encoder position (sending the request at 1kHz), while the motor is not turning, I receive the position and then I get a timeout response after one or two seconds, respectively when the motor is turning, it lasts a bit longer before I get a timeout. I tried at lower frequencies, it lasts longer but also ends up in a timeout.
After having a timeout my only option in order to restart a communication via UART is to shut the power down and restart it.
So here is my question, is there a maximal frequency for the UART communication ?
Has anybody an idea to what could cause this ?
Thanks a lot !