From 21b406a27082e9df382bf8a5a5bf9b53165d9bbc Mon Sep 17 00:00:00 2001 From: Stefano Calabretti Date: Sat, 19 Feb 2022 10:40:12 +0100 Subject: [PATCH] Add tick provider --- Inc/mmr_can.h | 4 ++++ Src/mmr_can.c | 8 ++++++++ Src/mmr_can_scs_manager.c | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Inc/mmr_can.h b/Inc/mmr_can.h index c3441d0..b1a0a79 100644 --- a/Inc/mmr_can.h +++ b/Inc/mmr_can.h @@ -30,6 +30,7 @@ #define MMR_CAN_MAX_DATA_LENGTH 8 #endif +typedef uint32_t (*MmrCanTickProvider)(); typedef uint8_t CanRxBuffer[MMR_CAN_MAX_DATA_LENGTH]; @@ -155,6 +156,9 @@ typedef struct { MMR_CAN_FilterConfig(phcan, MMR_CAN_GetDefaultFilterSettings()) +extern MmrCanTickProvider __mmr_can_tickProvider; + +void MMR_CAN_Init(MmrCanTickProvider tickProvider); HalStatus MMR_CAN_BasicSetupAndStart(CanHandle *hcan); HalStatus MMR_CAN_FilterConfig(CanHandle *hcan, MmrCanFilterSettings settings); CanFilterMask MMR_CAN_AlignStandardMask(CanFilterMask baseMask); diff --git a/Src/mmr_can.c b/Src/mmr_can.c index 6d4af6b..0a59c9c 100644 --- a/Src/mmr_can.c +++ b/Src/mmr_can.c @@ -2,6 +2,14 @@ #include "mmr_can_util.h" +MmrCanTickProvider __mmr_can_tickProvider; + + +void MMR_CAN_Init(MmrCanTickProvider tickProvider) { + __mmr_can_tickProvider = tickProvider; +} + + /** * @brief * Initializes the filter using the values diff --git a/Src/mmr_can_scs_manager.c b/Src/mmr_can_scs_manager.c index adc5564..f66df49 100644 --- a/Src/mmr_can_scs_manager.c +++ b/Src/mmr_can_scs_manager.c @@ -82,7 +82,7 @@ MmrCanScsCheckResult checkScs(MmrCanScsEntry *entry) { TimerRange getCurrentTime() { - return 0; //TODO: HAL.... + return __mmr_can_tickProvider(); }