Hi @saishanfi,
1. Current RTD version does not support BOFFDONEINT, FlexCAN_BusOff_IRQHandler only checks for BOFFINT:

2. For BOFFINT, in ASR context (EB Tresos):
Create 1 callback function for Bus off in main.c. User defines this function by themselves.

Create 1 header file to extern this callback function and this file will be included in Can_Cfg.c:

In this file, extern the function Bus Off Callback.

Then, in CanIf configuration, fill header file and callback function name.


3. In manual recovery the module remains in bus off state until the BOFFREC bit is negated by the user
In case the automatic recovery mode is disabled, BOFFREC = 1, the recovery from bus-off starts after both independent events have become true:
- 128 occurrences of 11 consecutive recessive bits on the CAN bus have been monitored
- BOFFREC has been cleared by the user
If negation happens:
- before 128 sequences of 11 recessive bits are detected on the CAN bus, then Bus Off recovery happens in similar way as in automatic recovery mode.
- after 128 sequences of 11 recessive bits occurred, then FlexCAN will resynchronize to the bus by waiting for 11 recessive bits before joining the bus.
Wait for 11 recessive bits, when ECR[TXRRCNT]=x01, communication starts (recovery from bus off).
Best regards,
Julián