Hi! I just updated both my firmware and odrivetool both to 0.5.3 (from 0.4.11), Odrive is v3.6 56V. After fixing several other issues I am stuck with this one: my UART ASCII command to read a parameter
r axis0.encoder.is_ready returns
not implemented instead of boolean true/false (in my Python code).
I’ve looked at all the migration tips in release files but do not see any changes in encoder/is_ready parameter and it can be read nicely using command line
odrivetool (returns False).
The connection via Python script itself seems to be fine as the command
r bus_voltage returns a value. So I am out of ideas where to look next?
the code I’m using to send command and read the result (
cmd is the command ending with a newline):
import serial ... ser = serial.Serial() ser.port = port ser.baudrate = 115200 ser.timeout = 0.1 # read timeout ser.write_timeout = 0.1 ... cmd_bytes = cmd.encode('ascii') ser.write(cmd_bytes) response = ser.readline() response = ser.decode('ascii').rstrip()
I wonder if this might be related:
- found a thread in github where some other parameter gets “not implemented” response but this seems to be related to a self-compiled version
I am using Ubuntu 20.04, Python 3.8, Intel NUC PC computer. UART ASCII connection using FTDI cable, using GPIO 1 and 2.
UPDATE: this is not specific to the
axis0.encoder.is_ready parameter but looks like a general issue as
r config.gpio2_mode will also return
not implemented while
r axis1.error returns