Hello I am using The UAVCAN to establish communication between 3 pixhawks. I have created 36 custom data type to be able to carry the data among the pixhawks but when I try to send the messages I get some HW and IO errors on CAN1 statues and a lot of HW and IO errors on CAN2 status when I decrease the number of messages sent on the bus I get zero HW and IO errors on CAN1 status but still a lot of HW and IO errors on CAN2 status.
so my question is that a hardware problem because I am only using 1 I2C cable for the communication between the pixhawks and I don’t know if I must terminate it with 120 ohm or it is already terminated
P.S I am using Pixhawk FMUv3 and it has only one CAN communication socket.
Thanks In advance
Your issues with CAN1 should be resolved if you switched to a twisted pair cable or a lower bit rate. Try that.
The CAN port on Pixhawks contains a 120 Ohm termination resistor. This essentially makes your use case not properly supported, since the total termination resistance should be around 60 Ohm, and it’s around 40 in your case, but I don’t think it’s going to cause any serious performance issues.
The second interface (CAN2) is reporting errors because it is not connected to anything. Consider disabling the second port in the UAVCAN driver build config here:
Thank you for your replay I am trying to find a twisted pair to see what Is going to happen the only thing I tried to do was limit the frequency of my messages being sent on the bus to only 10Hz when I do this no errors occurs but when I increase it to 100 Hz transfer errors in the UAVCAN occurs in addition to CAN1 status error (HW and IO)
P.S the HW and IO errors are always the same