3 Commits

Author SHA1 Message Date
eeeck cd0b412d74 Remove whitespace 2026-06-16 22:35:04 +02:00
eeeck 24e100cae6 Use better name for CAN listener task function 2026-06-16 22:34:55 +02:00
eeeck 7d5b3f9be2 Increase all queue sizes and double the UART queue 2026-06-16 22:29:00 +02:00
3 changed files with 9 additions and 14 deletions
+1 -1
View File
@@ -49,7 +49,7 @@ typedef struct {
void CAN_Logger_Init(CAN_HandleTypeDef *hcan1, CAN_HandleTypeDef *hcan2); void CAN_Logger_Init(CAN_HandleTypeDef *hcan1, CAN_HandleTypeDef *hcan2);
void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan); void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan);
void vCANLoggerListen(void *argument); void vCANListener(void *argument);
void vLEDHeartbeat(void *argument); void vLEDHeartbeat(void *argument);
#endif /* CANLOG_H */ #endif /* CANLOG_H */
+3 -3
View File
@@ -100,13 +100,13 @@ void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
} }
/* END HAL_CAN_RxFifo0MsgPendingCallback */ /* END HAL_CAN_RxFifo0MsgPendingCallback */
/* BEGIN vCANLoggerListen */ /* BEGIN vCANListener */
/** /**
* @brief Log incoming CAN bus traffic in FIFO buffer * @brief Log incoming CAN bus traffic in FIFO buffer
* @param argument: Not used * @param argument: Not used
* @retval None * @retval None
*/ */
void vCANLoggerListen(void *argument) void vCANListener(void *argument)
{ {
CAN_HandleTypeDef *hcan = (CAN_HandleTypeDef*)argument; CAN_HandleTypeDef *hcan = (CAN_HandleTypeDef*)argument;
osMessageQueueId_t queue = (hcan->Instance == CAN1) ? xCAN1RxQueue : xCAN2RxQueue; osMessageQueueId_t queue = (hcan->Instance == CAN1) ? xCAN1RxQueue : xCAN2RxQueue;
@@ -125,7 +125,7 @@ void vCANLoggerListen(void *argument)
} }
} }
} }
/* END vCANLoggerListen */ /* END vCANListener */
/* BEGIN vLEDHeartbeat */ /* BEGIN vLEDHeartbeat */
/** /**
+5 -10
View File
@@ -125,31 +125,26 @@ int main(void)
osKernelInitialize(); osKernelInitialize();
/* USER CODE BEGIN RTOS_TASKS */ /* USER CODE BEGIN RTOS_TASKS */
const osThreadAttr_t CAN1rxAttributes = { const osThreadAttr_t CAN1rxAttributes = {
.name = "CAN1rx", .name = "CAN1rx",
.stack_size = 128 * 4, .stack_size = 128 * 4,
.priority = (osPriority_t) osPriorityRealtime1, .priority = (osPriority_t) osPriorityRealtime1,
}; };
const osThreadAttr_t CAN2rxAttributes = { const osThreadAttr_t CAN2rxAttributes = {
.name = "CAN2rx", .name = "CAN2rx",
.stack_size = 128 * 4, .stack_size = 128 * 4,
.priority = (osPriority_t) osPriorityRealtime, .priority = (osPriority_t) osPriorityRealtime,
}; };
const osThreadAttr_t UartLoggerAttributes = { const osThreadAttr_t UartLoggerAttributes = {
.name = "UART_Logger", .name = "UART_Logger",
.stack_size = 256 * 4, .stack_size = 256 * 4,
.priority = (osPriority_t) osPriorityVeryHigh, .priority = (osPriority_t) osPriorityVeryHigh,
}; };
const osThreadAttr_t LEDHeartbeatCAN1Attributes = { const osThreadAttr_t LEDHeartbeatCAN1Attributes = {
.name = "LED_HB_CAN1", .name = "LED_HB_CAN1",
.stack_size = 128 * 4, .stack_size = 128 * 4,
.priority = (osPriority_t) osPriorityVeryLow1, .priority = (osPriority_t) osPriorityVeryLow1,
}; };
const osThreadAttr_t LEDHeartbeatCAN2Attributes = { const osThreadAttr_t LEDHeartbeatCAN2Attributes = {
.name = "LED_HB_CAN2", .name = "LED_HB_CAN2",
.stack_size = 128 * 4, .stack_size = 128 * 4,
@@ -169,16 +164,16 @@ int main(void)
/* USER CODE END RTOS_TIMERS */ /* USER CODE END RTOS_TIMERS */
/* USER CODE BEGIN RTOS_QUEUES */ /* USER CODE BEGIN RTOS_QUEUES */
xCAN1RxQueue = osMessageQueueNew(32, sizeof(CanMessage_t), NULL); xCAN1RxQueue = osMessageQueueNew(64, sizeof(CanMessage_t), NULL);
xCAN2RxQueue = osMessageQueueNew(32, sizeof(CanMessage_t), NULL); xCAN2RxQueue = osMessageQueueNew(64, sizeof(CanMessage_t), NULL);
xUARTQueue = osMessageQueueNew(32, sizeof(CanMessage_t), NULL); xUARTQueue = osMessageQueueNew(128, sizeof(CanMessage_t), NULL);
if (xCAN1RxQueue == NULL || xCAN2RxQueue == NULL || xUARTQueue == NULL) Error_Handler(); if (xCAN1RxQueue == NULL || xCAN2RxQueue == NULL || xUARTQueue == NULL) Error_Handler();
/* USER CODE END RTOS_QUEUES */ /* USER CODE END RTOS_QUEUES */
/* USER CODE BEGIN RTOS_THREADS */ /* USER CODE BEGIN RTOS_THREADS */
xCAN1rxTask = osThreadNew(vCANLoggerListen, &hcan1, &CAN1rxAttributes); xCAN1rxTask = osThreadNew(vCANListener, &hcan1, &CAN1rxAttributes);
xCAN2rxTask = osThreadNew(vCANLoggerListen, &hcan2, &CAN2rxAttributes); xCAN2rxTask = osThreadNew(vCANListener, &hcan2, &CAN2rxAttributes);
xUartTask = osThreadNew(vUARTLogger, NULL, &UartLoggerAttributes); xUartTask = osThreadNew(vUARTLogger, NULL, &UartLoggerAttributes);
xCAN1LedTask = osThreadNew(vLEDHeartbeat, &led_can1, &LEDHeartbeatCAN1Attributes); xCAN1LedTask = osThreadNew(vLEDHeartbeat, &led_can1, &LEDHeartbeatCAN1Attributes);
xCAN2LedTask = osThreadNew(vLEDHeartbeat, &led_can2, &LEDHeartbeatCAN2Attributes); xCAN2LedTask = osThreadNew(vLEDHeartbeat, &led_can2, &LEDHeartbeatCAN2Attributes);