Hi,
Using a TMS470M via HALCoGen generated code, I have some basic routines for sending and receiving CAN packets. However, during certain error conditions things aren't going as expected...
If I connect the TMS470M to a 'dead' CAN Bus, then transmit a message, I get a Bus Warning interrupt, but the peripheral continues to retry the transmission continuously without ever entering Bus-Off state. This is confirmed by putting a scope on the line: whereby continual retransmissions are shown without a break in between.
I have enabled Auto Bus On via HALcoGen, but set tAbo to 1 second (1000000000).
Is there any other registers which could override the Bus-off functionality, or is there any registers which can be set to specify a number of retries before giving up and dumping the message?
Although it probably sounds weird transmitting into a dead bus, it's actually a testcase to see how well the device handles (and recovers from) error conditions! In my case the dead network is actually a 2-node network with the second node's transceiver set to passive.
thanks
Mat