#ifndef DRIVERS_ADC_H_ #define DRIVERS_ADC_H_ #include #include "drivers/I2C_Communication/ADC_MUX/ADC_MUX.h" //***************************************************************************** // // The following are indexes for values returned from the ADC's. These index's // map directly to g_pui32ADCSeq[], and inside this array there is a directly // ADC copied data //***************************************************************************** typedef enum { ADC_AIR_PRESSURE_1 ,//0 ADC_AIR_PRESSURE_2 ,//1 ADC_DISPENSE_PRESSURE_1 ,//2 ADC_DISPENSE_PRESSURE_2 ,//3 ADC_DISPENSE_PRESSURE_3 ,//4 ADC_DISPENSE_PRESSURE_4 ,//5 ADC_DISPENSE_PRESSURE_5 ,//6 ADC_DISPENSE_PRESSURE_6 ,//7 ADC_DISPENSE_PRESSURE_7 ,//8 ADC_DISPENSE_PRESSURE_8 ,//9 ADC_VOCSENS ,//10 ADC_SPARE1 ,//11 ADC_SPARE2 ,//12 ADC_LEFT_DANCER_1 ,//13 ADC_LEFT_DANCER_2 ,//14 ADC_RIGHT_DANCER ,//15 ADC_DRYER_CURRENT_1 ,//16 ADC_DRYER_CURRENT_2 ,//17 ADC_DRYER_CURRENT_3 ,//18 ADC_FPGA_3V3 ,//19 ADC_MAX_ADC_DEVICES ,//20 }ADC_TYPE; //#define MAX_ADC_DEVICES 20 #define MAX_DISPENSERS //#define MAX_ADC_DEVICES NUM_ADC_CHANNELS #define MAX_DIGITAL_POTENTIOMETER_READ 0x660D extern int DispenserIdToPressureSensorId[MAX_DISPENSERS]; typedef void (*ProcessCallback)(uint32_t* adcData); void ADCAcquireInit(void); void VOCAlarmsInit(void); uint32_t ADC_TriggerCollection(void); uint32_t ADC_GetReading(ADC_TYPE DataItemId); void ADCAcquireStart(ProcessCallback _callback, uint32_t _period); void ADCAcquireStop(void); void ADC0SS0Handler(void); //double Calculate_Pitot_Pressure(bool flow ) ; //uint8_t Calculate_Gas_Power_Consumption(); uint32_t Read_Dryer_Heaters_Current(HEATERS_CURRENT Heater_ID); void CheckAcInputVoltage(); #ifdef VAC_TEST extern double VAC_Test; #endif double ReadVAC(); extern PowerControlFlag Power_Control_Flag; float CalculateDispenserPressure (int DispenserId); void Calculateinit (void); #endif /* DRIVERS_ADC_H_ */