diff --git a/Core/Inc/canlog.h b/Core/Inc/canlog.h index 4267270..491e696 100644 --- a/Core/Inc/canlog.h +++ b/Core/Inc/canlog.h @@ -24,8 +24,6 @@ extern osMessageQueueId_t xCAN1RxQueue; extern osMessageQueueId_t xCAN2RxQueue; -extern osSemaphoreId_t xSemaphoreCAN1; -extern osSemaphoreId_t xSemaphoreCAN2; /* USER CODE BEGIN PTD */ typedef struct { @@ -41,10 +39,6 @@ typedef struct { //uint32_t timestamp; //Enable TIM2: 42 MHz / (41+1) = 1 MHz → 1 µs tick; 32bit autoreload freerunning // this is for getting timestamps on can messages } CanMessage_t; - -typedef struct { - LED_Config *led; -} LEDContext; /* USER CODE END PTD */ /** diff --git a/Core/Src/canlog.c b/Core/Src/canlog.c index 07dc5bb..e5bd7cb 100644 --- a/Core/Src/canlog.c +++ b/Core/Src/canlog.c @@ -130,14 +130,14 @@ void vCANLoggerListen(void *argument) void vLEDHeartbeat(void *argument) { /* CODE BEGIN */ - LEDContext *context = (LEDContext*)argument; + LED_Config *led = (LED_Config*)argument; for (;;) { uint32_t ret = osThreadFlagsWait(0x01, osFlagsWaitAny, 25U); - if (ret & 0x01) HAL_GPIO_WritePin(context->led->port, context->led->pin, GPIO_PIN_SET); - else HAL_GPIO_WritePin(context->led->port, context->led->pin, GPIO_PIN_RESET); + if (ret & 0x01) HAL_GPIO_WritePin(led->port, led->pin, GPIO_PIN_SET); + else HAL_GPIO_WritePin(led->port, led->pin, GPIO_PIN_RESET); } /* CODE END */ } diff --git a/Core/Src/main.c b/Core/Src/main.c index d0172f2..1e0d0b2 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -51,9 +51,6 @@ LED_Config led_can1 = {GPIOB, GPIO_PIN_2}; LED_Config led_can2 = {GPIOB, GPIO_PIN_5}; LED_Config led_error = {GPIOB, GPIO_PIN_3}; -LEDContext ledContextCAN1; -LEDContext ledContextCAN2; - osMessageQueueId_t xCAN1RxQueue; osMessageQueueId_t xCAN2RxQueue; /* USER CODE END PV */ @@ -167,11 +164,8 @@ int main(void) /* USER CODE BEGIN RTOS_THREADS */ xCAN1rx = osThreadNew(vCANLoggerListen, &hcan1, &CAN1rxAttributes); xCAN2rx = osThreadNew(vCANLoggerListen, &hcan2, &CAN2rxAttributes); - xLedTaskCAN1 = osThreadNew(vLEDHeartbeat, &ledContextCAN1, &LEDHeartbeatCAN1Attributes); - xLedTaskCAN2 = osThreadNew(vLEDHeartbeat, &ledContextCAN2, &LEDHeartbeatCAN2Attributes); - - ledContextCAN1.led = &led_can1; - ledContextCAN2.led = &led_can2; + xLedTaskCAN1 = osThreadNew(vLEDHeartbeat, &led_can1, &LEDHeartbeatCAN1Attributes); + xLedTaskCAN2 = osThreadNew(vLEDHeartbeat, &led_can2, &LEDHeartbeatCAN2Attributes); /* USER CODE END RTOS_THREADS */ /* USER CODE BEGIN RTOS_EVENTS */ @@ -190,7 +184,8 @@ int main(void) /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ - /* USER CODE END 3 */ + /* USER CODE END 3 */ + } } /** @@ -476,7 +471,6 @@ static void MX_GPIO_Init(void) /* USER CODE BEGIN 4 */ /* USER CODE END 4 */ - /** * @brief Period elapsed callback in non blocking mode * @note This function is called when TIM6 interrupt took place, inside