Hello, I have been trying for a few days now to communicate with 2 Odrive controllers, initially we tried to communicate over UART but one one Uart controller could work at a time. Then we tried CAN bus and everything worked to write information (we verified the info written with an oscilloscope and arduino) but we could not read any information. We tried the examples and all of the different CAN types. After initialization can.state = 1 and can.info returns a list of 0’s. Here is the simplest form of the code we tried for this problem. Baud Rate, wiring, and grounding have all been verified to be correct and working from the arduino. What solutions are there to this problem?
from machine import CAN
import time
can = CAN(0, CAN.NORMAL)
can.init(mode=CAN.NORMAL, baudrate=250000)
can.setfilter(0, CAN.LIST32, 0, (0, 1))
print(f"state: {can.state()} info: {can.info()}")
while True:
if can.any(0):
print(f"{can.recv(0)}")
time.sleep_ms(5)