I was able to build and flash the firmware. The odrive rotated the motors on the startup sequence.
I can see the USB device in: as /dev/tty.usbmodem1411
When I built the firmware I selected #define USB_PROTOCOL_NATIVE_STREAM_BASED as per instruction.
When I try to run demo.py I get the following:
python3.6 demo.py
looking for ODrive…
Found ODrive via PyUSB
ConfigurationValue 1
InterfaceNumber 0,0
EndpointAddress 130
InterfaceNumber 1,1
EndpointAddress 1
EndpointAddress 129
EndpointAddress for writing 1
EndpointAddress for reading 129
Connecting to device on USB device bus 20 device 22
Traceback (most recent call last):
…
… (Thinks code is links and wont let me post.)
usb.core.USBError: [Errno 60] Operation timed out
But since this works for you, I think its less likely that it is a driver issue. I think its more likely a difference with how pyusb and libusb are installed.
I have tried every combination of things related to this. Uninstalling and reinstalling. Trying with brew instead. Trying with macports. Trying a combination for different parts. Incredibly frustrating
If I uninstall pyusb, I obviously get an error that there’s no package named usb. If I leave pyusb installed and uninstall libusb then I get an error from pyusb that there’s no backend. The weird part is that if I uninstall libusb with brew, but install it with macports, pyusb still can’t find it so I get the no backend error.