I am curious if FLEXCAN module offers any way to detect if a particular frame experienced arbitration loss. Ideally, this information would be available to the sender, once transmit is idle, and the receiver, once the frame has been received.
On TX side, TxIdle callback provides either a bit or counter to indicate if arbitration loss occurred and number of times on the particular frame that was sent.
On RX side, RxIdle callback provides either a bit or counter to indicate if arbitration loss occurred and number of times on the particular frame received.
It is not clear from the reference manual or SDK if this information is available.
Hi Karl Fraasch
The module will automatically retransmit the meesage if there is a arbitration loss. You have the "kStatus_FLEXCAN_ErrorStatus" status in the SDK, when you have a flexcan_callback you can check the BIT1_ERR and the BIT0_ERR bit, but as you can see in the comments, this bit is not set in case of arbitration field: