From 0b7bb7ca7e5ce174710bacce1781ea3536d47080 Mon Sep 17 00:00:00 2001 From: CarlWachter Date: Wed, 2 Oct 2024 10:08:36 +0200 Subject: [PATCH] feat(can): Tx complete callback --- src/devices/stm32/can.cpp | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/devices/stm32/can.cpp b/src/devices/stm32/can.cpp index c396625..2f2cac6 100644 --- a/src/devices/stm32/can.cpp +++ b/src/devices/stm32/can.cpp @@ -225,6 +225,15 @@ namespace sta STA_WEAK void CanBus_RxPendingCallbackSecondary(uint32_t fifo) {} + + STA_WEAK + void CanBus_TxMailboxCompleteCallback() + {} + + STA_WEAK + void CanBus_TxMailboxCompleteCallbackSecondary() + {} + } // namespace sta @@ -252,6 +261,39 @@ extern "C" sta::CanBus_RxPendingCallbackSecondary(CAN_RX_FIFO1); } } + + void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan) + { + if (hcan == &STA_STM32_CAN_HANDLE) + { + sta::CanBus_TxMailboxCompleteCallback(); + } + else{ + sta::CanBus_TxMailboxCompleteCallbackSecondary(); + } + } + + void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan) + { + if (hcan == &STA_STM32_CAN_HANDLE) + { + sta::CanBus_TxMailboxCompleteCallback(); + } + else{ + sta::CanBus_TxMailboxCompleteCallbackSecondary(); + } + } + + void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan) + { + if (hcan == &STA_STM32_CAN_HANDLE) + { + sta::CanBus_TxMailboxCompleteCallback(); + } + else{ + sta::CanBus_TxMailboxCompleteCallbackSecondary(); + } + } } #endif // STA_STM32_CAN_GLOBAL