diff --git a/LinSensorTasks.c b/LinSensorTasks.c index aa1c832..6a9d12f 100644 --- a/LinSensorTasks.c +++ b/LinSensorTasks.c @@ -465,6 +465,10 @@ static void set_led_group(tCCU_DRS_Req *req, uint8_t led_group, uint8_t count) { } } +void getSensorLin5(tLin5TaskSensor *env, void *dataLedSensor) { + osStatus_t status = osMessageQueueGet(env->queue_led_count, dataLedSensor, 0, 0); +} + static lin_event_id_t Lin5_Scheduler(tLin5TaskSensor *env) { lin_event_id_t ret = LIN_NO_EVENT; @@ -556,6 +560,12 @@ static lin_event_id_t Lin5_Scheduler(tLin5TaskSensor *env) { } + uint32_t countQueue_led_count = osMessageQueueGetSpace(env->queue_led_count); + + if (countQueue_led_count) { + osStatus_t status = osMessageQueuePut(env->queue_led_count, env->linStateSensor.LED_COUNT, 0, 0U); + } + return LIN_NO_EVENT; } @@ -569,6 +579,8 @@ void Lin_5_Init(tLin5TaskSensor *env, env->logger = logger; env->access = osMutexNew(NULL); + env->queue_led_count = osMessageQueueNew(1, sizeof(env->linStateSensor.LED_COUNT), NULL); + for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) { env->linStateSensor.LED_COUNT[i] = 3; } diff --git a/LinSensorTasks.h b/LinSensorTasks.h index a475d10..8828db4 100644 --- a/LinSensorTasks.h +++ b/LinSensorTasks.h @@ -263,6 +263,7 @@ typedef struct { tLoggerInterface *logger; + osMessageQueueId_t queue_led_count; struct { tDRS_Stat d_DRS_Stat[LIN5_SENSOR_COUNT]; @@ -310,4 +311,6 @@ void Lin_5_Init(tLin5TaskSensor *env, void Lin5_StartThread(tLin5TaskSensor *env); +void getSensorLin5(tLin5TaskSensor *env, void *dataLedSensor); + #endif //HVAC_M7_LINSENSORTASKS_H