From e9b95902dcf0d1311878a75584dcf0f8841b2820 Mon Sep 17 00:00:00 2001 From: cfif Date: Mon, 9 Feb 2026 14:34:23 +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 --- MainModesArbiter.c | 19 +++++++++++++++---- MainModesArbiter_InitStage.c | 4 ++-- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/MainModesArbiter.c b/MainModesArbiter.c index 071946a..82cf807 100644 --- a/MainModesArbiter.c +++ b/MainModesArbiter.c @@ -42,18 +42,28 @@ void Mma_Init( void LoadDataInFromModel(tMma *env) { int16_t temp1 = 0; - int16_t temp2 = 0; + float temp2 = 0; if (osMutexAcquire(env->adcTask0.access, 1000) == osOK) { - temp1 = get_temperature_fast(env->adcTask0.ADC_Data.Sensor_Ambient_Temp, fast_lookup_Incar, 512); + temp1 = get_temperature_fast(env->adcTask0.ADC_Data.Sensor_Ambient_Temp); + temp2 = get_temperature_from_adc(env->adcTask0.ADC_Data.Sensor_Ambient_Temp, ALG_STEINHART); - env->rtDW.controllerDataIncarInput.InIncarFL = env->adcTask0.ADC_Data.Sensor_Ambient_Temp; + if (env->adcTask0.ADC_isUpdate) { + env->adcTask0.ADC_isUpdate = false; + env->rtDW.controllerDataIncarInput.InIncarFL = env->adcTask0.ADC_Data.Sensor_Ambient_Temp; + } osMutexRelease(env->adcTask0.access); - LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "Temp1 = %d", temp1) + + LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "Temp1 = %d; Temp2 = %d;", temp1, (int16_t)(temp2 * 10.0f)) } if (osMutexAcquire(env->adcTask1.access, 1000) == osOK) { + + if (env->adcTask1.ADC_isUpdate) { + env->adcTask1.ADC_isUpdate = false; + } + //temp2 = get_temperature_fast(env->adcTask1.ADC_Data[0], fast_lookup_KST45, 512); //env->rtDW.controllerDataIncarInput.InIncarFR = env->adcTask1.ADC_Data[0]; @@ -90,6 +100,7 @@ static _Noreturn void Mma_Thread(tMma *env) { // Запуск устройства Mma_InitStage(env); + init_fast_lookup_table(ALG_STEINHART); // can_rx_message_type frame_data; // uint32_t step = 0; diff --git a/MainModesArbiter_InitStage.c b/MainModesArbiter_InitStage.c index 71753b8..a149b1c 100644 --- a/MainModesArbiter_InitStage.c +++ b/MainModesArbiter_InitStage.c @@ -101,10 +101,10 @@ static void Mma_InitSubSystems(tMma *env) { Lin_0_Init(&env->linTaskActuator0, linData, &env->linPorts->lin1_Io, &env->slog.logger); Lin0_StartThread(&env->linTaskActuator0); - Adc_0_Init(&env->adcTask0, &env->adcs->adc_0_IO); + Adc_0_Init(&env->adcTask0, &env->adcs->adc_0_IO, env->gpios); Adc_0_StartThread(&env->adcTask0); - Adc_1_Init(&env->adcTask1, &env->adcs->adc_1_IO); + Adc_1_Init(&env->adcTask1, &env->adcs->adc_1_IO, env->gpios); Adc_1_StartThread(&env->adcTask1); StandBy_Init(&env->standBy);