From 8061789dbffcaa4d93985c06afb60b783f131659 Mon Sep 17 00:00:00 2001 From: cfif Date: Mon, 25 May 2026 12:46:59 +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 | 90 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 64 insertions(+), 26 deletions(-) diff --git a/AdcTasks.c b/AdcTasks.c index fe72ea9..274591a 100644 --- a/AdcTasks.c +++ b/AdcTasks.c @@ -8,6 +8,7 @@ #include "HVAC_model.h" #include "ADC_Temp.h" #include "ADC_Temp_Fast.h" +#include "fc7xxx_driver_smc.h" #define LOG_SIGN "ADC" #define LOGGER env->logger @@ -252,30 +253,51 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) { tADC0_data *ADC0_data = (tADC0_data *) ADC_Pointer_Data; - rtDW.ADC_Data_Model.Sensor_Ambient_Temp = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Ambient_Temp,ADC0_data->Sensor_Ambient_Temp); + rtDW.ADC_Data_Model.Sensor_Ambient_Temp = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Ambient_Temp, + ADC0_data->Sensor_Ambient_Temp); rtDW.ADC_Data_Model.IGN_ANS = ADC_Filter_Update(&env->ADC0_Filter_data.IGN_ANS, ADC0_data->IGN_ANS); - rtDW.ADC_Data_Model.Sensor_AC_Pressure = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_AC_Pressure,ADC0_data->Sensor_AC_Pressure); - rtDW.ADC_Data_Model.Sensor_Incar_Temp_FL = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Incar_Temp_FL,ADC0_data->Sensor_Incar_Temp_FL); - rtDW.ADC_Data_Model.Sensor_Incar_Temp_RL = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Incar_Temp_RL,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_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,ADC0_data->Sensor_Rear_Duct2); - rtDW.ADC_Data_Model.Sensor_Front_Duct1 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct1,ADC0_data->Sensor_Front_Duct1); - rtDW.ADC_Data_Model.Sensor_Front_Duct2 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct2,ADC0_data->Sensor_Front_Duct2); - rtDW.ADC_Data_Model.Sensor_Front_Duct3 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct3,ADC0_data->Sensor_Front_Duct3); - rtDW.ADC_Data_Model.Sensor_Front_Duct4 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct4,ADC0_data->Sensor_Front_Duct4); + rtDW.ADC_Data_Model.Sensor_AC_Pressure = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_AC_Pressure, + ADC0_data->Sensor_AC_Pressure); + rtDW.ADC_Data_Model.Sensor_Incar_Temp_FL = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Incar_Temp_FL, + ADC0_data->Sensor_Incar_Temp_FL); + rtDW.ADC_Data_Model.Sensor_Incar_Temp_RL = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Incar_Temp_RL, + 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_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, + ADC0_data->Sensor_Rear_Duct2); + rtDW.ADC_Data_Model.Sensor_Front_Duct1 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct1, + ADC0_data->Sensor_Front_Duct1); + rtDW.ADC_Data_Model.Sensor_Front_Duct2 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct2, + ADC0_data->Sensor_Front_Duct2); + rtDW.ADC_Data_Model.Sensor_Front_Duct3 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct3, + ADC0_data->Sensor_Front_Duct3); + rtDW.ADC_Data_Model.Sensor_Front_Duct4 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct4, + ADC0_data->Sensor_Front_Duct4); - rtDW.ADC_Data_Model.Sensor_Rear_Duct3 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Duct3,ADC0_data->Sensor_Rear_Duct3); + rtDW.ADC_Data_Model.Sensor_Rear_Duct3 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Duct3, + ADC0_data->Sensor_Rear_Duct3); - rtDW.ADC_Data_Model.Sensor_Rear_Duct4 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Duct4,ADC0_data->Sensor_Rear_Duct4); - rtDW.ADC_Data_Model.Sensor_Incar_Temp_FR = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Incar_Temp_FR,ADC0_data->Sensor_Incar_Temp_FR); - rtDW.ADC_Data_Model.Sensor_Incar_Temp_RR = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Incar_Temp_RR,ADC0_data->Sensor_Incar_Temp_RR); - rtDW.ADC_Data_Model.Sensor_Rear_Duct5 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Duct5,ADC0_data->Sensor_Rear_Duct5); - rtDW.ADC_Data_Model.Sensor_Rear_Duct6 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Duct6,ADC0_data->Sensor_Rear_Duct6); - rtDW.ADC_Data_Model.Reserve_Sensor_Duct_Temp_1 = ADC_Filter_Update(&env->ADC0_Filter_data.Reserve_Sensor_Duct_Temp_1, ADC0_data->Reserve_Sensor_Duct_Temp_1); - rtDW.ADC_Data_Model.Sensor_Front_Duct5 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct5,ADC0_data->Sensor_Front_Duct5); - rtDW.ADC_Data_Model.Sensor_Front_Duct6 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct6,ADC0_data->Sensor_Front_Duct6); - rtDW.ADC_Data_Model.Pressure_DIAG = ADC_Filter_Update(&env->ADC0_Filter_data.Pressure_DIAG,ADC0_data->Pressure_DIAG); + rtDW.ADC_Data_Model.Sensor_Rear_Duct4 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Duct4, + ADC0_data->Sensor_Rear_Duct4); + rtDW.ADC_Data_Model.Sensor_Incar_Temp_FR = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Incar_Temp_FR, + ADC0_data->Sensor_Incar_Temp_FR); + rtDW.ADC_Data_Model.Sensor_Incar_Temp_RR = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Incar_Temp_RR, + ADC0_data->Sensor_Incar_Temp_RR); + rtDW.ADC_Data_Model.Sensor_Rear_Duct5 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Duct5, + ADC0_data->Sensor_Rear_Duct5); + rtDW.ADC_Data_Model.Sensor_Rear_Duct6 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Rear_Duct6, + ADC0_data->Sensor_Rear_Duct6); + rtDW.ADC_Data_Model.Reserve_Sensor_Duct_Temp_1 = ADC_Filter_Update( + &env->ADC0_Filter_data.Reserve_Sensor_Duct_Temp_1, ADC0_data->Reserve_Sensor_Duct_Temp_1); + rtDW.ADC_Data_Model.Sensor_Front_Duct5 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct5, + ADC0_data->Sensor_Front_Duct5); + rtDW.ADC_Data_Model.Sensor_Front_Duct6 = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_Front_Duct6, + ADC0_data->Sensor_Front_Duct6); + rtDW.ADC_Data_Model.Pressure_DIAG = ADC_Filter_Update(&env->ADC0_Filter_data.Pressure_DIAG, + ADC0_data->Pressure_DIAG); rtDW.ADC_Data_Model.Reserve_Sensor_Duct_Temp_2 = ADC_Filter_Update( &env->ADC0_Filter_data.Reserve_Sensor_Duct_Temp_2, ADC0_data->Reserve_Sensor_Duct_Temp_2); // rtDW.ADC_Data_Model.Sensor_PT_rHVAC_P = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_PT_rHVAC_P, ADC0_data->Sensor_PT_rHVAC_P); @@ -388,9 +410,16 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) { */ } + + float IGN_ANS = (float) rtDW.ADC_Data_Model.IGN_ANS * 27.75f / 4095.0f; + LoggerFormatInfo(LOGGER, LOG_SIGN, "IGN = %f", IGN_ANS); + + /* //////////////////////////////////////----DEBUG----//////////////////////////////////////////////////////////////////// + + BTS5180_120(env, "BTS5120_2EKA_ShutoffValvePowerTXV1", rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV1); BTS5180_120(env, "BTS5120_2EKA_ShutoffValvePowerTXV2", @@ -542,11 +571,20 @@ static _Noreturn void Adc1_Thread(tAdc1Task *env) { tADC1_data *ADC1_data = (tADC1_data *) ADC_Pointer_Data; - rtDW.ADC_Data_Model.VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB = ADC_Filter_Update(&env->ADC1_Filter_data.VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB,ADC1_data->VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB); - rtDW.ADC_Data_Model.VN7008AJ_DIAG_RearLINActuatorPowerDriverC = ADC_Filter_Update(&env->ADC1_Filter_data.VN7008AJ_DIAG_RearLINActuatorPowerDriverC,ADC1_data->VN7008AJ_DIAG_RearLINActuatorPowerDriverC); - rtDW.ADC_Data_Model.PBATT_CHECK = ADC_Filter_Update(&env->ADC1_Filter_data.PBATT_CHECK,ADC1_data->PBATT_CHECK); - rtDW.ADC_Data_Model.VN7008AJ_FrontLINActuatorPowerDriverAB = ADC_Filter_Update(&env->ADC1_Filter_data.VN7008AJ_FrontLINActuatorPowerDriverAB,ADC1_data->VN7008AJ_FrontLINActuatorPowerDriverAB); - rtDW.ADC_Data_Model.VN7008AJ_RearLINActuatorPowerDriverC = ADC_Filter_Update(&env->ADC1_Filter_data.VN7008AJ_RearLINActuatorPowerDriverC,ADC1_data->VN7008AJ_RearLINActuatorPowerDriverC); + rtDW.ADC_Data_Model.VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB = ADC_Filter_Update( + &env->ADC1_Filter_data.VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB, + ADC1_data->VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB); + rtDW.ADC_Data_Model.VN7008AJ_DIAG_RearLINActuatorPowerDriverC = ADC_Filter_Update( + &env->ADC1_Filter_data.VN7008AJ_DIAG_RearLINActuatorPowerDriverC, + ADC1_data->VN7008AJ_DIAG_RearLINActuatorPowerDriverC); + rtDW.ADC_Data_Model.PBATT_CHECK = ADC_Filter_Update(&env->ADC1_Filter_data.PBATT_CHECK, + ADC1_data->PBATT_CHECK); + rtDW.ADC_Data_Model.VN7008AJ_FrontLINActuatorPowerDriverAB = ADC_Filter_Update( + &env->ADC1_Filter_data.VN7008AJ_FrontLINActuatorPowerDriverAB, + ADC1_data->VN7008AJ_FrontLINActuatorPowerDriverAB); + rtDW.ADC_Data_Model.VN7008AJ_RearLINActuatorPowerDriverC = ADC_Filter_Update( + &env->ADC1_Filter_data.VN7008AJ_RearLINActuatorPowerDriverC, + ADC1_data->VN7008AJ_RearLINActuatorPowerDriverC); /* rtDW.ADC_Data_Model.VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB = pData[0];