From 1bb10362dd9e0571db618e7c453bbf7e7b49b6f7 Mon Sep 17 00:00:00 2001 From: jmcloud Date: Wed, 5 Apr 2023 12:47:54 -0700 Subject: [PATCH] force FIFO IRQ for FDCan RX on H7 --- targets/TARGET_STM/can_api.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/targets/TARGET_STM/can_api.c b/targets/TARGET_STM/can_api.c index b18b9cb7470..293dedaa0f3 100644 --- a/targets/TARGET_STM/can_api.c +++ b/targets/TARGET_STM/can_api.c @@ -546,7 +546,7 @@ static void can_irq(CANName name, int id) irq_handler(can_irq_contexts[id], IRQ_TX); } } -#if (defined FDCAN_IT_RX_BUFFER_NEW_MESSAGE) +#if (defined FDCAN_IT_RX_BUFFER_NEW_MESSAGE) && !defined(TARGET_STM32H7) if (__HAL_FDCAN_GET_IT_SOURCE(&CanHandle, FDCAN_IT_RX_BUFFER_NEW_MESSAGE)) { if (__HAL_FDCAN_GET_FLAG(&CanHandle, FDCAN_IT_RX_BUFFER_NEW_MESSAGE)) { __HAL_FDCAN_CLEAR_FLAG(&CanHandle, FDCAN_IT_RX_BUFFER_NEW_MESSAGE); @@ -628,7 +628,7 @@ void can_irq_set(can_t *obj, CanIrqType type, uint32_t enable) interrupts = FDCAN_IT_TX_COMPLETE; break; case IRQ_RX: -#if (defined FDCAN_IT_RX_BUFFER_NEW_MESSAGE) +#if (defined FDCAN_IT_RX_BUFFER_NEW_MESSAGE) && !defined(TARGET_STM32H7) interrupts = FDCAN_IT_RX_BUFFER_NEW_MESSAGE; #else interrupts = FDCAN_IT_RX_FIFO0_NEW_MESSAGE;