diff --git a/AdcTasks.c b/AdcTasks.c index 96d7a4b..c37d3ea 100644 --- a/AdcTasks.c +++ b/AdcTasks.c @@ -19,15 +19,61 @@ void Adc_0_Init(tAdcTask *env, static _Noreturn void Adc0_Thread(tAdcTask *env) { - uint32_t ADC_Data; + uint32_t ADC_Pointer_Data; for (;;) { - env->ADC_Count = env->adcIO->get(env->adcIO->env, &ADC_Data, 1000); + env->ADC_ChannelCount = env->adcIO->get(env->adcIO->env, &ADC_Pointer_Data, 1000); if (osMutexAcquire(env->access, 1000) == osOK) { - memcpy(env->ADC_Data, (uint8_t *)ADC_Data, env->ADC_Count << 2); + uint32_t *pData = (uint32_t *)ADC_Pointer_Data; + + env->ADC_Data.Sensor_Ambient_Temp = pData[0]; + env->ADC_Data.IGN_ANS = pData[1]; + env->ADC_Data.Sensor_AC_Pressure = pData[2]; + env->ADC_Data.Sensor_Incar_Temp_FL = pData[3]; + env->ADC_Data.Sensor_Incar_Temp_RL = pData[4]; + env->ADC_Data.Sensor_Rear_Evap_Temp = pData[5]; + env->ADC_Data.Sensor_Evap_Temp = pData[6]; + env->ADC_Data.Sensor_Rear_Duct1 = pData[7]; + env->ADC_Data.Sensor_Rear_Duct2 = pData[8]; + env->ADC_Data.Sensor_Front_Duct1 = pData[9]; + env->ADC_Data.Sensor_Front_Duct2 = pData[10]; + env->ADC_Data.Sensor_Front_Duct3 = pData[11]; + env->ADC_Data.Sensor_Front_Duct4 = pData[12]; + env->ADC_Data.Sensor_Rear_Duct3 = pData[13]; + env->ADC_Data.Sensor_Rear_Duct4 = pData[14]; + env->ADC_Data.Sensor_Incar_Temp_FR = pData[15]; + env->ADC_Data.Sensor_Incar_Temp_RR = pData[16]; + env->ADC_Data.Sensor_Rear_Duct5 = pData[17]; + env->ADC_Data.Sensor_Rear_Duct6 = pData[18]; + env->ADC_Data.Reserve_Sensor_Duct_Temp_1 = pData[19]; + env->ADC_Data.Sensor_Front_Duct5 = pData[20]; + env->ADC_Data.Sensor_Front_Duct6 = pData[21]; + + env->ADC_Data.BTS5120_2EKA_ShutoffValvePowerTXV1 = pData[22]; // + env->ADC_Data.BTS5120_2EKA_ShutoffValvePowerTXV2 = pData[22]; // + + env->ADC_Data.Pressure_DIAG = pData[23]; + + env->ADC_Data.BTS5180_2EKA_ShutOFFValveFront = pData[24]; // + env->ADC_Data.BTS5180_2EKA_ShutOFFValveRear = pData[24]; // + + env->ADC_Data.BTS5180_2EKA_TwoWayValve = pData[25]; // + env->ADC_Data.BTS5180_2EKA_ReservePowerSupply = pData[25]; // + + env->ADC_Data.BTS5180_2EKA_FrontIncarMotor = pData[26]; // + env->ADC_Data.BTS5180_2EKA_RearIncarMotor = pData[26]; // + + env->ADC_Data.BTS5180_2EKA_ChannelPTCPower1 = pData[27]; // + env->ADC_Data.BTS5180_2EKA_ChannelPTCPower2 = pData[27]; // + + env->ADC_Data.Reserve_Sensor_Duct_Temp_2 = pData[28]; + + + + //memcpy(env->ADC_Data, (uint8_t *)ADC_Pointer_Data, env->ADC_ChannelCount << 2); osMutexRelease(env->access); } @@ -56,15 +102,15 @@ void Adc_1_Init(tAdcTask *env, static _Noreturn void Adc1_Thread(tAdcTask *env) { - uint32_t ADC_Data; + uint32_t ADC_Pointer_Data; for (;;) { - env->ADC_Count = env->adcIO->get(env->adcIO->env, &ADC_Data, 1000); + env->ADC_ChannelCount = env->adcIO->get(env->adcIO->env, &ADC_Pointer_Data, 1000); if (osMutexAcquire(env->access, 1000) == osOK) { - memcpy(env->ADC_Data, (uint8_t *)ADC_Data, env->ADC_Count << 2); + //memcpy(env->ADC_Data, (uint8_t *)ADC_Pointer_Data, env->ADC_ChannelCount << 2); osMutexRelease(env->access); } diff --git a/AdcTasks.h b/AdcTasks.h index 2c8a93b..90b9a3e 100644 --- a/AdcTasks.h +++ b/AdcTasks.h @@ -8,13 +8,62 @@ #include "AdcIO.h" #include +typedef struct { + uint16_t Sensor_Ambient_Temp; + uint16_t IGN_ANS; + uint16_t Sensor_AC_Pressure; + uint16_t Sensor_Incar_Temp_FL; + uint16_t Sensor_Incar_Temp_RL; + uint16_t Sensor_Rear_Evap_Temp; + uint16_t Sensor_Evap_Temp; + uint16_t Sensor_Rear_Duct1; + uint16_t Sensor_Rear_Duct2; + uint16_t Sensor_Front_Duct1; + uint16_t Sensor_Front_Duct2; + uint16_t Sensor_Front_Duct3; + uint16_t Sensor_Front_Duct4; + uint16_t Sensor_Rear_Duct3; + uint16_t Sensor_Rear_Duct4; + uint16_t Sensor_Incar_Temp_FR; + uint16_t Sensor_Incar_Temp_RR; + uint16_t Sensor_Rear_Duct5; + uint16_t Sensor_Rear_Duct6; + uint16_t Reserve_Sensor_Duct_Temp_1; + uint16_t Sensor_Front_Duct5; + uint16_t Sensor_Front_Duct6; + + uint16_t BTS5120_2EKA_ShutoffValvePowerTXV1; // + uint16_t BTS5120_2EKA_ShutoffValvePowerTXV2; // + + uint16_t Pressure_DIAG; + + uint16_t BTS5180_2EKA_ShutOFFValveFront; // + uint16_t BTS5180_2EKA_ShutOFFValveRear; // + + uint16_t BTS5180_2EKA_TwoWayValve; // + uint16_t BTS5180_2EKA_ReservePowerSupply; // + + uint16_t BTS5180_2EKA_FrontIncarMotor; // + uint16_t BTS5180_2EKA_RearIncarMotor; // + + uint16_t BTS5180_2EKA_ChannelPTCPower1; // + uint16_t BTS5180_2EKA_ChannelPTCPower2; // + + uint16_t Reserve_Sensor_Duct_Temp_2; + uint16_t VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB; + uint16_t VN7008AJ_DIAG_RearLINActuatorPowerDriverC; + uint16_t PBATT_CHECK; + uint16_t VN7008AJ_FrontLINActuatorPowerDriverAB; + uint16_t VN7008AJ_RearLINActuatorPowerDriverC; +} tADC_data; + typedef struct { tAdcIO *adcIO; osMutexId_t access; - uint32_t ADC_Data[32]; - uint8_t ADC_Count; + tADC_data ADC_Data; + uint8_t ADC_ChannelCount; struct { osThreadId_t id;