No response from CAN after variable amount of time

Has anyone experienced behavior where there Odrive will stop responding to CAN messages after a few minutes. If I power cycle only the Odrive, the CAN works again. During a O-drive power cycle, the Teensy and Jetson still have power on their CAN transceivers and keep running as normal. After power cycling, the Odrive will again run for a few minutes before ceasing to respond (around 10000-20000 heartbeat packets). Opening o-drive tool during such an event shows no errors in dump_errors and all Odrive functions still work normally (holding motor position in this case).

The CAN is set to 250000 I am using the example node_id’s an requesting the CANSimple messages with RTR bits set. All messages are being requested at 10Hz. The CAN-H and CAN-L lines are around 30cm long.

Currently running the latest stable firmware released in September 2020.

I have the same issue with the same symptoms. Any guidance would be greatly appreciated.

Hmm, curious. I can test it here.

Thanks @Wetmelon we have subsequently tried to reduce the frequency that we request messages. After 2 test runs I saw the same failure mode after about 2 hours on one of the tests.

Does the heartbeat stop or just the requested messages, or both? Can you send me a CAN trace of some sort?

We are only requesting data from axis0, during normal operation we see both the requested messages and heartbeat messages from axis0 and axis1. On failure, no messages are received on the CAN bus. I usually monitor using a cansniffer tool on linux, will post a log of the last few messages. All messages look normal with no errors reported. If I power cycle just the O-drive (the CAN tranceivers are kept powered), the messages return as normal. The O-Drive has a ground wire that runs along the CAN lines to keep everything (Jetson and Teensy) on a common reference. I have counted the number of heartbeat messages until failure, but the number is variable, so its not as deterministic as I hoped.