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);