diff --git a/AdcTasks.c b/AdcTasks.c index 881e6ad..f944a7e 100644 --- a/AdcTasks.c +++ b/AdcTasks.c @@ -574,7 +574,14 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) { } void getCmdBusADCData(tAdc0Task *env, CmdBusADCData *cmdBusADCData) { - osStatus_t status = osMessageQueueGet(env->queueCmdBusADCData, cmdBusADCData, 0, 0); + + osStatus_t status = osOK; + + uint32_t countQueue_space = osMessageQueueGetSpace(env->queueCmdBusADCData); + if (countQueue_space == 0) { + status = osMessageQueueGet(env->queueCmdBusADCData, &rtDW.LIN4_AirQS_Stat_Model, 0, 0); + } + } @@ -732,7 +739,14 @@ static _Noreturn void Adc1_Thread(tAdc1Task *env) { } void getCmdBusADC2Data(tAdc1Task *env, CmdBusADC2Data *cmdBusADC2Data) { - osStatus_t status = osMessageQueueGet(env->queueCmdBusADC2Data, cmdBusADC2Data, 0, 0); + osStatus_t status = osOK; + + uint32_t countQueue_space = osMessageQueueGetSpace(env->queueCmdBusADC2Data); + if (countQueue_space == 0) { + status = osMessageQueueGet(env->queueCmdBusADC2Data, &rtDW.LIN4_AirQS_Stat_Model, 0, 0); + } + + }