I am new to using Odrive and while setting up my controller using the steps provided in the [Getting Started Guide] (https://docs.odriverobotics.com/#downloading-and-installing-tools) I couldn’t find my device, powered by a 36v battery. My first thought was to updated the firmware with odrivetool dfu but it brought up the error below.
Any tips and advice would be greatly appreciated.
Austens-MBP:~ austenfurutani$ odrivetool dfu
ODrive control utility v0.5.1
Waiting for ODrive...
Traceback (most recent call last):
File "/usr/local/bin/odrivetool", line 143, in <module>
odrive.dfu.launch_dfu(args, logger, app_shutdown_token)
File "/usr/local/lib/python3.8/site-packages/odrive/dfu.py", line 450, in launch_dfu
devices[1] = odrive.find_any("usb", serial_number,
File "/usr/local/lib/python3.8/site-packages/fibre/discovery.py", line 179, in find_any
return result[0]
IndexError: list index out of range
Is the green light on the board coming on? If it seems to be on and working but you can’t get it to be seen and can’t get it to flash, even using the information here, https://docs.odriverobotics.com/odrivetool#device-firmware-update then you may want to try an STLinkV2.
c:\users\carlos\appdata\local\programs\python\python38-32\lib\site-packages\odrive\dfu.py in update_device(device, firmware, logger, cancellation_token)
259
260 if isinstance(device, usb.core.Device):
–> 261 serial_number = device.serial_number
262 dfudev = DfuDevice(device)
263 if (logger._verbose):
c:\users\carlos\appdata\local\programs\python\python38-32\lib\site-packages\usb\core.py in serial_number(self)
828 “”"
829 if self._serial_number is None:
–> 830 self._serial_number = util.get_string(self, self.iSerialNumber)
831 return self._serial_number
832
c:\users\carlos\appdata\local\programs\python\python38-32\lib\site-packages\usb\util.py in get_string(dev, index, langid)
312
313 if 0 == len(langids):
–> 314 raise ValueError(“The device has no langid”)
315 if langid is None:
316 langid = langids[0]