Showing results for 
Search instead for 
Did you mean: 

CANbus: Check if CAN message failed to send X number of times

Senior III


I am working on a CANbus communication with a critical system component that, if it is NOT communicating, portions of the systems should be shut down. I am trying to come up with a way to determine if communication is lost, but I feel like the solutions I'm coming up with are way more complicated than they need to be.

One feature that I noticed is AutoRetransmission in the CAN configuration. So it will try to resend the message if it does not get an ACK from the device it's communicating with. Is there a way to keep track of how many transmission attempts have occurred with no response from a specific node? If so, then I can just say "If the message failed to send X times, then communication is lost and react accordingly."

Does anyone know if this exists and, if so, how to implement something like this?

For reference, I am using the STM32H7B3IIT6 MCU.