ODrive python multiply boards issue

Hello. I use latest python lib for ODrive and have issue with interfacing two boards.

odrives = odrive.find_any(find_multiple=2)

print('found {} ODrives'.format(len(odrives)))
for odrv in odrives:
    print(odrv.serial_number)

this code gives error:

File “odrive_mech_teleop.py”, line 10, in
odrives = odrive.find_any(find_multiple=2)
TypeError: find_any() got an unexpected keyword argument ‘find_multiple’

odrv0 = odrive.find_any(serial_number="35653437833805")
odrv1 = odrive.find_any(serial_number="35717830825800")
print(odrv0.serial_number)
print(str(odrv0.vbus_voltage))
print(odrv1.serial_number)
print(str(odrv1.vbus_voltage))

this code doesn’t work too.

So how can I deal with 2 boards using python?

find_multiple got removed from odrive.find_any(). From the docstring of find_any():

If you want finer grained control over object discovery
consider using fibre.Domain directly.

You can do a text search for fibre.Domain in the code to find usage examples.

Can you elaborate?

1 Like