Обновление платы на V2
This commit is contained in:
parent
277fed70c1
commit
e6720ca65e
179
AdcTasks.c
179
AdcTasks.c
|
|
@ -28,7 +28,6 @@ void Adc_0_Init(tAdc0Task *env,
|
|||
env->queueRandom = osMessageQueueNew(10, 4, NULL);
|
||||
|
||||
|
||||
|
||||
ADC_Filter_Init(&env->ADC0_Filter_data.Sensor_Ambient_Temp, MAX_ADC_FILTER_SIZE);
|
||||
ADC_Filter_Init(&env->ADC0_Filter_data.IGN_ANS, MAX_ADC_FILTER_SIZE);
|
||||
ADC_Filter_Init(&env->ADC0_Filter_data.Sensor_AC_Pressure, MAX_ADC_FILTER_SIZE);
|
||||
|
|
@ -69,11 +68,6 @@ void Adc_0_Init(tAdc0Task *env,
|
|||
ADC_Filter_Init(&env->ADC0_Filter_data.BTS5180_2EKA_ChannelPTCPower2, MAX_ADC_FILTER_SIZE);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
InitThreadAtrStatic(&env->thread.attr, "Adc0", env->thread.controlBlock, env->thread.stack,
|
||||
osPriorityNormal);
|
||||
}
|
||||
|
|
@ -152,10 +146,10 @@ void ANALOG_SENSOR(tAdc0Task *env, char *desc, uint16_t adc_value, eNtcTable Ntc
|
|||
|
||||
case TABLE_DUCT:
|
||||
if (R == 3000) {
|
||||
temp = get_temperature_by_adc(temperature_table_duct_KST45_table_3000, 4096, adc_value);
|
||||
temp = get_temperature_by_adc(temperature_table_duct_KST45_table_3000, 1024, adc_value);
|
||||
}
|
||||
if (R == 20000) {
|
||||
temp = get_temperature_by_adc(temperature_table_duct_KST45_table_20000, 4096, adc_value);
|
||||
temp = lookup_table_get_temp(temperature_table_duct_KST45_table_20000, adc_value);
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
@ -172,26 +166,55 @@ void ANALOG_SENSOR(tAdc0Task *env, char *desc, uint16_t adc_value, eNtcTable Ntc
|
|||
}
|
||||
|
||||
|
||||
|
||||
float calculate_ntc_resistance_case_a(uint16_t adc_value,
|
||||
/**
|
||||
* Расчет сопротивления NTC для схемы с делителем напряжения
|
||||
*
|
||||
* Схема: VCC --- R_series --- NTC --- GND
|
||||
* АЦП подключен к точке соединения R_series и NTC
|
||||
*
|
||||
* @param adc_value - значение АЦП (0..adc_max)
|
||||
* @param R_series - сопротивление балластного резистора (Ом)
|
||||
* @param Vcc_mv - напряжение питания делителя (мВ)
|
||||
* @param Vref_mv - опорное напряжение АЦП (мВ)
|
||||
* @param adc_max - максимальное значение АЦП (4095 для 12 бит)
|
||||
* @return - сопротивление NTC (Ом)
|
||||
*/
|
||||
float calculate_ntc_resistance(uint16_t adc_value,
|
||||
float R_series,
|
||||
float V_ref,
|
||||
uint16_t adc_max)
|
||||
{
|
||||
// Защита от деления на ноль и выхода за пределы
|
||||
float Vcc_mv,
|
||||
float Vref_mv,
|
||||
uint16_t adc_max) {
|
||||
// Защита от деления на ноль
|
||||
if (adc_value == 0) {
|
||||
return 0.0f; // Rntc = 0 (короткое замыкание на GND)
|
||||
return 0; // Rntc = бесконечность (обрыв) - NTC не подключен
|
||||
}
|
||||
|
||||
if (adc_value >= adc_max) {
|
||||
return 0.0f; // Rntc стремится к бесконечности (обрыв)
|
||||
return 0.0f; // Rntc = 0 (короткое замыкание)
|
||||
}
|
||||
|
||||
// Напряжение на NTC, измеренное АЦП
|
||||
float V_ntc = (float)adc_value / adc_max * V_ref;
|
||||
// Напряжение на NTC, измеренное АЦП (используем Vref АЦП)
|
||||
float V_ntc = (float) adc_value / adc_max * Vref_mv;
|
||||
|
||||
// Формула: V_ntc / V_ref = Rntc / (Rntc + R_series)
|
||||
// Rntc = R_series * V_ntc / (V_ref - V_ntc)
|
||||
float Rntc = R_series * V_ntc / (V_ref - V_ntc);
|
||||
// Проверка, что V_ntc не превышает Vcc
|
||||
if (V_ntc > Vcc_mv) {
|
||||
V_ntc = Vcc_mv; // Ограничиваем физически возможным значением
|
||||
}
|
||||
|
||||
// Напряжение на балластном резисторе
|
||||
float V_r1 = Vcc_mv - V_ntc;
|
||||
|
||||
// Защита от отрицательного напряжения
|
||||
if (V_r1 <= 0.0f) {
|
||||
return 0.0f; // Короткое замыкание
|
||||
}
|
||||
|
||||
// Закон Ома: Rntc = R_series * (V_ntc / V_r1)
|
||||
float Rntc = R_series * (V_ntc / V_r1);
|
||||
|
||||
// Ограничиваем разумными пределами (1 Ом ... 10 МОм)
|
||||
if (Rntc < 1.0f) Rntc = 1.0f;
|
||||
if (Rntc > 10000000.0f) Rntc = 10000000.0f;
|
||||
|
||||
return Rntc;
|
||||
}
|
||||
|
|
@ -241,7 +264,9 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) {
|
|||
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_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);
|
||||
|
|
@ -251,10 +276,28 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) {
|
|||
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.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);
|
||||
// rtDW.ADC_Data_Model.Sensor_A_T_reserve = ADC_Filter_Update(&env->ADC0_Filter_data.Sensor_A_T_reserve, ADC0_data->Sensor_A_T_reserve);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
rtDW.ADC_Data_Model.Sensor_Front_Duct1 = 3071;
|
||||
rtDW.ADC_Data_Model.Sensor_Front_Duct2 = 3031;
|
||||
rtDW.ADC_Data_Model.Sensor_Front_Duct3 = 2993;
|
||||
rtDW.ADC_Data_Model.Sensor_Front_Duct4 = 2952;
|
||||
rtDW.ADC_Data_Model.Sensor_Front_Duct5 = 2912;
|
||||
rtDW.ADC_Data_Model.Sensor_Front_Duct6 = 2871;
|
||||
|
||||
rtDW.ADC_Data_Model.Sensor_Rear_Duct1 = 2829;
|
||||
rtDW.ADC_Data_Model.Sensor_Rear_Duct2 = 2787;
|
||||
rtDW.ADC_Data_Model.Sensor_Rear_Duct3 = 2744;
|
||||
rtDW.ADC_Data_Model.Sensor_Rear_Duct4 = 2701;
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
rtDW.ADC_Data_Model.Sensor_Ambient_Temp = pData[0];
|
||||
rtDW.ADC_Data_Model.IGN_ANS = pData[1];
|
||||
|
|
@ -294,11 +337,18 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) {
|
|||
GpioPinSet(&env->gpios->power.BTS5180_2EKA_FrontRearIncarMotor.Incar_SEL_Diag, true);
|
||||
GpioPinSet(&env->gpios->power.BTS5180_2EKA_2xChannelPTCPower.PtcRelayDriver_SEL_Diag, true);
|
||||
|
||||
rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV1 = ADC_Filter_Update(&env->ADC0_Filter_data.BTS5120_2EKA_ShutoffValvePowerTXV1, ADC0_data->BTS5120_2EKA_ShutoffValvePowerTXV1);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_ShutOFFValveFront = ADC_Filter_Update(&env->ADC0_Filter_data.BTS5180_2EKA_ShutOFFValveFront, ADC0_data->BTS5180_2EKA_ShutOFFValveFront);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_TwoWayValve = ADC_Filter_Update(&env->ADC0_Filter_data.BTS5180_2EKA_TwoWayValve, ADC0_data->BTS5180_2EKA_TwoWayValve);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_FrontIncarMotor = ADC_Filter_Update(&env->ADC0_Filter_data.BTS5180_2EKA_FrontIncarMotor, ADC0_data->BTS5180_2EKA_FrontIncarMotor);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_ChannelPTCPower1 = ADC_Filter_Update(&env->ADC0_Filter_data.BTS5180_2EKA_ChannelPTCPower1, ADC0_data->BTS5180_2EKA_ChannelPTCPower1);
|
||||
rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV1 = ADC_Filter_Update(
|
||||
&env->ADC0_Filter_data.BTS5120_2EKA_ShutoffValvePowerTXV1,
|
||||
ADC0_data->BTS5120_2EKA_ShutoffValvePowerTXV1);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_ShutOFFValveFront = ADC_Filter_Update(
|
||||
&env->ADC0_Filter_data.BTS5180_2EKA_ShutOFFValveFront,
|
||||
ADC0_data->BTS5180_2EKA_ShutOFFValveFront);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_TwoWayValve = ADC_Filter_Update(
|
||||
&env->ADC0_Filter_data.BTS5180_2EKA_TwoWayValve, ADC0_data->BTS5180_2EKA_TwoWayValve);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_FrontIncarMotor = ADC_Filter_Update(
|
||||
&env->ADC0_Filter_data.BTS5180_2EKA_FrontIncarMotor, ADC0_data->BTS5180_2EKA_FrontIncarMotor);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_ChannelPTCPower1 = ADC_Filter_Update(
|
||||
&env->ADC0_Filter_data.BTS5180_2EKA_ChannelPTCPower1, ADC0_data->BTS5180_2EKA_ChannelPTCPower1);
|
||||
/*
|
||||
rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV1 = pData[22]; //
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_ShutOFFValveFront = pData[24]; //
|
||||
|
|
@ -311,15 +361,23 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) {
|
|||
|
||||
GpioPinSet(&env->gpios->power.BTS5120_2EKA_ShutoffValvePowerTXV.ShutSelTXV_SEL_Diag, false);
|
||||
GpioPinSet(&env->gpios->power.BTS5180_2EKA_ShutOFFValveFrontRear.ShutSel_SEL_Diag, false);
|
||||
GpioPinSet(&env->gpios->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_SEL_Diag,false);
|
||||
GpioPinSet(&env->gpios->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_SEL_Diag,
|
||||
false);
|
||||
GpioPinSet(&env->gpios->power.BTS5180_2EKA_FrontRearIncarMotor.Incar_SEL_Diag, false);
|
||||
GpioPinSet(&env->gpios->power.BTS5180_2EKA_2xChannelPTCPower.PtcRelayDriver_SEL_Diag, false);
|
||||
|
||||
rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV2 = ADC_Filter_Update(&env->ADC0_Filter_data.BTS5120_2EKA_ShutoffValvePowerTXV2, ADC0_data->BTS5120_2EKA_ShutoffValvePowerTXV2);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_ShutOFFValveRear = ADC_Filter_Update(&env->ADC0_Filter_data.BTS5180_2EKA_ShutOFFValveRear, ADC0_data->BTS5180_2EKA_ShutOFFValveRear);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_ReservePowerSupply = ADC_Filter_Update(&env->ADC0_Filter_data.BTS5180_2EKA_ReservePowerSupply, ADC0_data->BTS5180_2EKA_ReservePowerSupply);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_RearIncarMotor = ADC_Filter_Update(&env->ADC0_Filter_data.BTS5180_2EKA_RearIncarMotor, ADC0_data->BTS5180_2EKA_RearIncarMotor);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_ChannelPTCPower2 = ADC_Filter_Update(&env->ADC0_Filter_data.BTS5180_2EKA_ChannelPTCPower2, ADC0_data->BTS5180_2EKA_ChannelPTCPower2);
|
||||
rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV2 = ADC_Filter_Update(
|
||||
&env->ADC0_Filter_data.BTS5120_2EKA_ShutoffValvePowerTXV2,
|
||||
ADC0_data->BTS5120_2EKA_ShutoffValvePowerTXV2);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_ShutOFFValveRear = ADC_Filter_Update(
|
||||
&env->ADC0_Filter_data.BTS5180_2EKA_ShutOFFValveRear, ADC0_data->BTS5180_2EKA_ShutOFFValveRear);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_ReservePowerSupply = ADC_Filter_Update(
|
||||
&env->ADC0_Filter_data.BTS5180_2EKA_ReservePowerSupply,
|
||||
ADC0_data->BTS5180_2EKA_ReservePowerSupply);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_RearIncarMotor = ADC_Filter_Update(
|
||||
&env->ADC0_Filter_data.BTS5180_2EKA_RearIncarMotor, ADC0_data->BTS5180_2EKA_RearIncarMotor);
|
||||
rtDW.ADC_Data_Model.BTS5180_2EKA_ChannelPTCPower2 = ADC_Filter_Update(
|
||||
&env->ADC0_Filter_data.BTS5180_2EKA_ChannelPTCPower2, ADC0_data->BTS5180_2EKA_ChannelPTCPower2);
|
||||
|
||||
/*
|
||||
rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV2 = pData[22]; //
|
||||
|
|
@ -330,9 +388,9 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) {
|
|||
*/
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////----DEBUG----////////////////////////////////////////////////////////////////////
|
||||
/*
|
||||
//////////////////////////////////////----DEBUG----////////////////////////////////////////////////////////////////////
|
||||
|
||||
BTS5180_120(env, "BTS5120_2EKA_ShutoffValvePowerTXV1",
|
||||
rtDW.ADC_Data_Model.BTS5120_2EKA_ShutoffValvePowerTXV1);
|
||||
BTS5180_120(env, "BTS5120_2EKA_ShutoffValvePowerTXV2",
|
||||
|
|
@ -354,31 +412,38 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) {
|
|||
|
||||
ANALOG_SENSOR(env, "Sensor_Ambient_Temp", rtDW.ADC_Data_Model.Sensor_Ambient_Temp, TABLE_AMBIENT, 20000);
|
||||
ANALOG_SENSOR(env, "Sensor_AC_Pressure", rtDW.ADC_Data_Model.Sensor_AC_Pressure, TABLE_NONE, 0);
|
||||
|
||||
ANALOG_SENSOR(env, "Sensor_Incar_Temp_FL", rtDW.ADC_Data_Model.Sensor_Incar_Temp_FL, TABLE_INCAR, 20000);
|
||||
ANALOG_SENSOR(env, "Sensor_Incar_Temp_RL", rtDW.ADC_Data_Model.Sensor_Incar_Temp_RL, TABLE_INCAR, 20000);
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Evap_Temp", rtDW.ADC_Data_Model.Sensor_Rear_Evap_Temp, TABLE_DUCT, 20000);
|
||||
ANALOG_SENSOR(env, "Sensor_Evap_Temp", rtDW.ADC_Data_Model.Sensor_Evap_Temp, TABLE_DUCT, 20000);
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Duct1", rtDW.ADC_Data_Model.Sensor_Rear_Duct1, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Duct2", rtDW.ADC_Data_Model.Sensor_Rear_Duct2, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Front_Duct1", rtDW.ADC_Data_Model.Sensor_Front_Duct1, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Front_Duct2", rtDW.ADC_Data_Model.Sensor_Front_Duct2, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Front_Duct3", rtDW.ADC_Data_Model.Sensor_Front_Duct3, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Front_Duct4", rtDW.ADC_Data_Model.Sensor_Front_Duct4, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Duct3", rtDW.ADC_Data_Model.Sensor_Rear_Duct3, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Duct4", rtDW.ADC_Data_Model.Sensor_Rear_Duct4, TABLE_DUCT, 3000);
|
||||
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);
|
||||
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Evap_Temp", rtDW.ADC_Data_Model.Sensor_Rear_Evap_Temp, TABLE_DUCT, 20000);
|
||||
ANALOG_SENSOR(env, "Sensor_Evap_Temp", rtDW.ADC_Data_Model.Sensor_Evap_Temp, TABLE_DUCT, 20000);
|
||||
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Duct1 (dbg_Sen_Duct_RL_Fb)", rtDW.ADC_Data_Model.Sensor_Rear_Duct1, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Duct2 (dbg_Sen_Duct_RR_Fb)", rtDW.ADC_Data_Model.Sensor_Rear_Duct2, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Duct3 (dbg_Sen_Duct_RL_Side_Fb)", rtDW.ADC_Data_Model.Sensor_Rear_Duct3, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Duct4 (dbg_Sen_Duct_RR_Side_Fb)", rtDW.ADC_Data_Model.Sensor_Rear_Duct4, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Duct5", rtDW.ADC_Data_Model.Sensor_Rear_Duct5, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Rear_Duct6", rtDW.ADC_Data_Model.Sensor_Rear_Duct6, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Reserve_Sensor_Duct_Temp_1", rtDW.ADC_Data_Model.Reserve_Sensor_Duct_Temp_1, TABLE_DUCT,
|
||||
20000);
|
||||
|
||||
|
||||
ANALOG_SENSOR(env, "Sensor_Front_Duct1 (dbg_Sen_Duct_FL_Upper_Fb)", rtDW.ADC_Data_Model.Sensor_Front_Duct1, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Front_Duct2 (dbg_Sen_Duct_FR_Upper_Fb)", rtDW.ADC_Data_Model.Sensor_Front_Duct2, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Front_Duct3 (dbg_Sen_Duct_FL_Lower_Fb)", rtDW.ADC_Data_Model.Sensor_Front_Duct3, TABLE_DUCT, 3000);
|
||||
ANALOG_SENSOR(env, "Sensor_Front_Duct4 (dbg_Sen_Duct_FR_Lower_Fb)", rtDW.ADC_Data_Model.Sensor_Front_Duct4, TABLE_DUCT, 3000);
|
||||
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);
|
||||
|
||||
|
||||
ANALOG_SENSOR(env, "Reserve_Sensor_Duct_Temp_1", rtDW.ADC_Data_Model.Reserve_Sensor_Duct_Temp_1, TABLE_DUCT,20000);
|
||||
*/
|
||||
// ANALOG_SENSOR(env, "Sensor_Front_Duct5", rtDW.ADC_Data_Model.Sensor_Front_Duct5, TABLE_DUCT, 3000);
|
||||
|
||||
ANALOG_SENSOR(env, "Sensor_Front_Duct6", rtDW.ADC_Data_Model.Sensor_Front_Duct6, TABLE_DUCT, 3000);
|
||||
// ANALOG_SENSOR(env, "Sensor_Rear_Duct3", rtDW.ADC_Data_Model.Sensor_Rear_Duct3, TABLE_DUCT, 3000);
|
||||
|
||||
float Rntc = calculate_ntc_resistance_case_a(rtDW.ADC_Data_Model.Sensor_Front_Duct6,3000,5,4095);
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "Rntc = %f", Rntc)
|
||||
// float Rntc = calculate_ntc_resistance(rtDW.ADC_Data_Model.Sensor_Rear_Duct3, 3000, 4.96f, 5, 4095);
|
||||
// LoggerFormatInfo(LOGGER, LOG_SIGN, "Rntc = %f", Rntc)
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -411,9 +476,13 @@ static _Noreturn void Adc0_Thread(tAdc0Task *env) {
|
|||
LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error Adc0_Thread");
|
||||
}
|
||||
|
||||
++env->step;
|
||||
|
||||
if (env->step > MAX_ADC_FILTER_SIZE) {
|
||||
SystemDelayMs(50);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
uint32_t getRandom32(tAdc0Task *env) {
|
||||
|
|
@ -512,17 +581,21 @@ static _Noreturn void Adc1_Thread(tAdc1Task *env) {
|
|||
//////////////////////////////////////----DEBUG----////////////////////////////////////////////////////////////////////
|
||||
*/
|
||||
|
||||
float V_ref = (float) pData[16] / 4095.0f * 5.0f;
|
||||
LoggerFormatInfo(LOGGER, LOG_SIGN, "V_ref = %f", V_ref)
|
||||
// float V_ref = (float) pData[16] / 4095.0f * 5.0f;
|
||||
// LoggerFormatInfo(LOGGER, LOG_SIGN, "V_ref = %f", V_ref)
|
||||
|
||||
osMutexRelease(env->modelTaskAccess);
|
||||
} else {
|
||||
LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error Adc1_Thread");
|
||||
}
|
||||
|
||||
++env->step;
|
||||
|
||||
if (env->step > MAX_ADC_FILTER_SIZE) {
|
||||
SystemDelayMs(50);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Adc_1_StartThread(tAdc1Task *env) {
|
||||
if (!env->thread.id) {
|
||||
|
|
|
|||
|
|
@ -171,6 +171,8 @@ typedef struct {
|
|||
|
||||
tLoggerInterface *logger;
|
||||
|
||||
uint32_t step;
|
||||
|
||||
struct {
|
||||
osThreadId_t id;
|
||||
uint32_t stack[384];
|
||||
|
|
@ -196,6 +198,8 @@ typedef struct {
|
|||
|
||||
tLoggerInterface *logger;
|
||||
|
||||
uint32_t step;
|
||||
|
||||
struct {
|
||||
osThreadId_t id;
|
||||
uint32_t stack[384];
|
||||
|
|
|
|||
Loading…
Reference in New Issue