From 26f5f8f5234b820a779cd3e573d33917d098b61e Mon Sep 17 00:00:00 2001 From: cfif Date: Mon, 6 Apr 2026 17:22:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AdcTasks.c | 21 +++++++-------------- AdcTasks.h | 2 -- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/AdcTasks.c b/AdcTasks.c index 1efa582..a56adaf 100644 --- a/AdcTasks.c +++ b/AdcTasks.c @@ -16,9 +16,7 @@ void Adc_0_Init(tAdcTask *env, env->gpios = gpios; - env->isRandomSecuritySeed = false; - - env->queueRandom = osMessageQueueNew(1, 4, NULL); + env->queueRandom = osMessageQueueNew(10, 4, NULL); InitThreadAtrStatic(&env->thread.attr, "Adc0", env->thread.controlBlock, env->thread.stack, osPriorityNormal); @@ -97,7 +95,11 @@ static _Noreturn void Adc0_Thread(tAdcTask *env) { env->ADC_isUpdate = true; } - if (env->isRandomSecuritySeed) { + + uint32_t count = osMessageQueueGetSpace(env->queueRandom); + + if (count) { + uint32_t seed = 0; for (uint8_t i = 0; i < 28; ++i) { @@ -109,8 +111,6 @@ static _Noreturn void Adc0_Thread(tAdcTask *env) { } osStatus_t status = osMessageQueuePut(env->queueRandom, &seed, 0, 0U); - - env->isRandomSecuritySeed = false; } @@ -126,16 +126,9 @@ static _Noreturn void Adc0_Thread(tAdcTask *env) { uint32_t getRandom32(tAdcTask *env) { - if (osMutexAcquire(env->access, 1000) == osOK) { - env->isRandomSecuritySeed = true; - osMutexRelease(env->access); - } else { - return 0; - } - uint32_t random = 0; - osStatus_t status = osMessageQueueGet(env->queueRandom, &random, 0, 1000); + osStatus_t status = osMessageQueueGet(env->queueRandom, &random, 0, 1500); if (status == osOK) { return random; diff --git a/AdcTasks.h b/AdcTasks.h index 5d108a8..d5d32e9 100644 --- a/AdcTasks.h +++ b/AdcTasks.h @@ -78,8 +78,6 @@ typedef struct { uint8_t ADC0_BTS5120_2EKA_Channel; bool ADC_isUpdate; - bool isRandomSecuritySeed; - osMessageQueueId_t queueRandom; struct {