System not found - And unable to engange with python code

We have the odrive running, but all of the sudden it started to behave weirdly. it was running on a backeup config file which didnt require calibration on startup, but now it wont move unless we calibrate it. Even after a succesfull restore of the config file, it wont change.
When I dump the errors I get the following: Screenshot 2020-11-28 at 12.29.11.

When we run our python code we get the following error:

pi@raspberrypi:~ $ rosrun odrive_ros odrive_basic_node.py
ConfigurationValue 1
	InterfaceNumber 0,0
		EndpointAddress 130
	InterfaceNumber 1,0
		EndpointAddress 1
		EndpointAddress 129
	InterfaceNumber 2,0
		EndpointAddress 3
		EndpointAddress 131

Kernel Driver was not attached
EndpointAddress for writing 3
EndpointAddress for reading 131
Connecting to device on USB device bus 1 device 19
Device reported JSON version ID: 2604684226
JSON: [
{'name': '', 'id': 0, 'type': 'json', 'access': 'r'}, 
{'name': 'vbus_voltage', 'id': 1, 'type': 'float', 'access': 'r'}, 
{'name': 'ibus', 'id': 2, 'type': 'float', 'access': 'r'}, 
{'name': 'ibus_report_filter_k', 'id': 3, 'type': 'float', 'access': 'rw'}, ... 
*ETC.. see entire pastebin for errors*
malformed member : unsupported codec json
Connected to ODrive. ODrive 35619129216333, hw v3.6-56, fw v0.5.1-dev, sdk v0.5.1
Already connected. Disconnecting and reconnecting.
ConfigurationValue 1
	InterfaceNumber 0,0
		EndpointAddress 130
	InterfaceNumber 1,0
		EndpointAddress 1
		EndpointAddress 129
	InterfaceNumber 2,0
		EndpointAddress 3
		EndpointAddress 131

Kernel Driver was not attached
EndpointAddress for writing 3
EndpointAddress for reading 131
receiver thread is exiting: Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/fibre/usbbulk_transport.py", line 127, in get_packet
    ret = self.epr.read(bufferLen, timeout)
  File "/home/pi/.local/lib/python3.7/site-packages/usb/core.py", line 421, in read
    return self.device.read(self, size_or_buffer, timeout)
  File "/home/pi/.local/lib/python3.7/site-packages/usb/core.py", line 1022, in read
    self.__get_timeout(timeout))
  File "/home/pi/.local/lib/python3.7/site-packages/usb/backend/libusb1.py", line 851, in bulk_read
    timeout)
  File "/home/pi/.local/lib/python3.7/site-packages/usb/backend/libusb1.py", line 954, in __read
    _check(retval)
  File "/home/pi/.local/lib/python3.7/site-packages/usb/backend/libusb1.py", line 604, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 19] No such device (it may have been disconnected)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/fibre/protocol.py", line 241, in receiver_thread
    response = self._input.get_packet(deadline)
  File "/usr/local/lib/python3.7/dist-packages/fibre/usbbulk_transport.py", line 134, in get_packet
    raise fibre.protocol.ChannelBrokenException()
fibre.protocol.ChannelBrokenException

Connecting to device on USB device bus 1 device 19
Device reported JSON version ID: 2604684226
JSON: [
{'name': '', 'id': 0, 'type': 'json', 'access': 'r'}, 
{'name': 'vbus_voltage', 'id': 1, 'type': 'float', 'access': 'r'}, 
{'name': 'ibus', 'id': 2, 'type': 'float', 'access': 'r'}, 
{'name': 'ibus_report_filter_k', 'id': 3, 'type': 'float', 'access': 'rw'}, 
{'name': 'serial_number', 'id': 4, 'type': 'uint64', 'access': 'r'}, 
**ETC..**
{'name': 'erase_configuration', 'id': 545, 'type': 'function', 'inputs': [], 'outputs': []}, 
{'name': 'reboot', 'id': 546, 'type': 'function', 'inputs': [], 'outputs': []}, 
{'name': 'enter_dfu_mode', 'id': 547, 'type': 'function', 'inputs': [], 'outputs': []}]
malformed member : unsupported codec json
Connected to ODrive. ODrive 35619129216333, hw v3.6-56, fw v0.5.1-dev, sdk v0.5.1
<class 'int'>
<class 'int'>

The entire error can be seen here: https://pastebin.com/4fH4hLzJ

I hope you can help :slight_smile:

You may need to call save_configuration() after you have calibrated your motor, and make sure that encoder.config.pre_calibrated=True (I assume it’s an absolute SPI encoder)

Hi Towen :slight_smile:
We’ve already done this. Its a part of the backed up config file. Which seemed to work just fine before the error. Btw. we are using a hall sensor, not an absolute encoder.