aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC.h
blob: 0dc1523fa2345cbf95d715d6d482966b288e059e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#ifndef DRIVERS_ADC_H_
#define DRIVERS_ADC_H_

#include <stdint.h>
#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_ */