From 1e01e1227300e52ce5372865ab04774ba55fac47 Mon Sep 17 00:00:00 2001 From: cfif Date: Tue, 2 Jun 2026 17:48:38 +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=20=D0=BF=D0=BB=D0=B0=D1=82=D1=8B=20=D0=BD?= =?UTF-8?q?=D0=B0=20V2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AdcTasks.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/AdcTasks.c b/AdcTasks.c index fdaa745..677db34 100644 --- a/AdcTasks.c +++ b/AdcTasks.c @@ -177,18 +177,20 @@ float calculate_ntc_resistance(uint16_t adc_value, return Rntc; } + + void ANALOG_SENSOR(tAdc0Task *env, char *desc, uint16_t adc_value, eNtcTable NtcTable, float R) { float ERROR_THRESHOLD_HIGH_V = 4.9f; float ERROR_THRESHOLD_LOW_V = 0.1f; - uint16_t ERROR_THRESHOLD_HIGH_CODE = (uint16_t) (ERROR_THRESHOLD_HIGH_V * 4095.0f / 5.0f); - uint16_t ERROR_THRESHOLD_LOW_CODE = (uint16_t) (ERROR_THRESHOLD_LOW_V * 4095.0f / 5.0f); + uint16_t ERROR_THRESHOLD_HIGH_CODE = (uint16_t) (ERROR_THRESHOLD_HIGH_V * 4095.0f / 4.96f); + uint16_t ERROR_THRESHOLD_LOW_CODE = (uint16_t) (ERROR_THRESHOLD_LOW_V * 4095.0f / 4.96f); // 1. Проверка на ошибку if (adc_value >= ERROR_THRESHOLD_HIGH_CODE || adc_value <= ERROR_THRESHOLD_LOW_CODE) { LoggerFormatInfo(LOGGER, LOG_SIGN, "%s: Error !!! (adc = %d)", desc, adc_value) } else { // Преобразование в напряжение - float U = (float) adc_value * 5.0f / 4095.0f; + float U = (float) adc_value * 4.96f / 4095.0f; float temp = 0; float Rntc = 0; @@ -275,6 +277,10 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) { ADC0_data->Sensor_Incar_Temp_RL); rtDW.ADC_Data_Model.Sensor_Rear_Evap_Temp = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Evap_Temp, ADC0_data->Sensor_Rear_Evap_Temp); + + rtDW.ADC_Data_Model.Sensor_Evap_Temp = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Evap_Temp, + ADC0_data->Sensor_Evap_Temp); + rtDW.ADC_Data_Model.Sensor_Rear_Duct1 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Duct1, ADC0_data->Sensor_Rear_Duct1); rtDW.ADC_Data_Model.Sensor_Rear_Duct2 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Duct2, @@ -488,7 +494,7 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) { ANALOG_SENSOR(env, "Sensor_Front_Duct5 (dbg_Sen_Duct_FL_Side_Fb)", rtDW.ADC_Data_Model.Sensor_Front_Duct5, TABLE_DUCT, 3000); ANALOG_SENSOR(env, "Sensor_Front_Duct6 (dbg_Sen_Duct_FR_Side_Fb)", rtDW.ADC_Data_Model.Sensor_Front_Duct6, TABLE_DUCT, 3000); */ - +/* LoggerErrorStatic(LOGGER, LOG_SIGN, "======================================================================"); ANALOG_SENSOR(env, "Sensor_Front_Duct1 (dbg_Sen_Duct_FL_Upper_Fb)", rtDW.ADC_Data_Model.Sensor_Front_Duct1, TABLE_DUCT, 3000); @@ -511,7 +517,7 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) { ANALOG_SENSOR(env, "Sensor_Incar_Temp_FR", rtDW.ADC_Data_Model.Sensor_Incar_Temp_FR, TABLE_INCAR, 20000); ANALOG_SENSOR(env, "Sensor_Incar_Temp_RR", rtDW.ADC_Data_Model.Sensor_Incar_Temp_RR, TABLE_INCAR, 20000); LoggerErrorStatic(LOGGER, LOG_SIGN, "======================================================================"); - +*/ // ANALOG_SENSOR(env, "Sensor_Rear_Duct3", rtDW.ADC_Data_Model.Sensor_Rear_Duct3, TABLE_DUCT, 3000); @@ -552,7 +558,7 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) { ++env->step; if (env->step > MAX_ADC_FILTER_SIZE * 2) { - SystemDelayMs(25); + SystemDelayMs(10); } } } @@ -690,7 +696,7 @@ static _Noreturn void Adc1_Thread(tAdc1Task *env) { ++env->step; if (env->step > MAX_ADC_FILTER_SIZE * 2) { - SystemDelayMs(25); + SystemDelayMs(10); } } }