Added code to set TBTIE, to enable the tx complete/abort interrupts, for

all supported FDCAN platforms
pull/14778/head
Mohammed Mubeen 2021-06-15 20:11:07 +05:30
parent 14e5d307bb
commit 1fc141905e
1 changed files with 10 additions and 1 deletions

View File

@ -612,7 +612,16 @@ void can_irq_set(can_t *obj, CanIrqType type, uint32_t enable)
}
if (enable) {
HAL_FDCAN_ActivateNotification(&obj->CanHandle, interrupts, 0);
/* The TXBTIE register controls the TX complete interrupt in FDCAN
* and is only used in case of TX interrupts, Hence in case of enabling the
* TX interrupts the bufferIndexes of TXBTIE are to be set */
#ifdef TARGET_STM32H7
// TXBTIE for STM32H7 is 2 bytes long
HAL_FDCAN_ActivateNotification(&obj->CanHandle, interrupts, 0xFFFF);
#else
//TXBTIE for rest supported FDCAN Platforms(STM32G0x1, STM32G4 and STM32L5) is 3 bits.
HAL_FDCAN_ActivateNotification(&obj->CanHandle, interrupts, 0x07);
#endif
} else {
HAL_FDCAN_DeactivateNotification(&obj->CanHandle, interrupts);
}