// // Created by cfif on 15.12.2025. // #ifndef HVAC_M7_ADCTASKS_H #define HVAC_M7_ADCTASKS_H #include "AdcIO.h" #include "stdbool.h" #include #include "Gpios.h" 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; } tADC0_data; typedef struct { uint16_t VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB; uint16_t VN7008AJ_DIAG_RearLINActuatorPowerDriverC; uint16_t PBATT_CHECK; uint16_t VN7008AJ_FrontLINActuatorPowerDriverAB; uint16_t VN7008AJ_RearLINActuatorPowerDriverC; } tADC1_data; typedef struct { tAdcIO *adcIO; osMutexId_t access; tADC0_data ADC0_Data; tADC1_data ADC1_Data; uint8_t ADC_ChannelCount; tGpios *gpios; uint8_t ADC0_BTS5120_2EKA_Channel; bool ADC_isUpdate; bool isRandomSecuritySeed; osMessageQueueId_t queueRandom; struct { osThreadId_t id; uint32_t stack[256]; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; } tAdcTask; uint32_t getRandom32(tAdcTask *env); void Adc_0_Init(tAdcTask *env, tAdcIO *adcIO, tGpios *gpios); void Adc_0_StartThread(tAdcTask *env); void Adc_1_Init(tAdcTask *env, tAdcIO *adcIO, tGpios *gpios); void Adc_1_StartThread(tAdcTask *env); #endif //HVAC_M7_ADCTASKS_H