From d42e5fce4621a931b05e44fc816161ed8caddb99 Mon Sep 17 00:00:00 2001 From: Erick Ahmed Date: Sun, 14 Jun 2026 13:55:05 +0200 Subject: [PATCH] Read CAN messages from FIFO buffer --- Core/Src/canlog.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Core/Src/canlog.c b/Core/Src/canlog.c index 8732b08..85a5a6f 100644 --- a/Core/Src/canlog.c +++ b/Core/Src/canlog.c @@ -101,10 +101,19 @@ void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) void vCANLoggerListen(void *argument) { /* CODE BEGIN */ - /* Infinite loop */ - for(;;) + CAN_HandleTypeDef *hcan = (CAN_HandleTypeDef*)argument; + osMessageQueueId_t queue; + CanMessage_t message; + + queue = (hcan->Instance == CAN1) ? xCAN1RxQueue : xCAN2RxQueue; + + for (;;) { - osDelay(1); + if (osMessageQueueGet(queue, &msg, NULL, osWaitForever) == osOK) + { + // TODO: parse message send message to serial/uart + // TODO: add rtos semaphore to blink the LED with the timer already set + } } /* CODE END */ }