aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.h
blob: 03ccb7feb63e5408206b3c87797910ac7c2bedca (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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/*
 * TemperatureSensor.h
 *
 *  Created on: 15 ���� 2018
 *      Author: shlomo
 */

#ifndef DRIVERS_HEATER_TEMPERATURESENSOR_H_
#define DRIVERS_HEATER_TEMPERATURESENSOR_H_

#include "include.h"
#include "heater.h"

typedef enum {                   //Reg Group in Tango_HW_SW.xlsx
TEMP_SENSE_ANALOG_MIXCHIP_TEMP,  //ANALOG_MIXCHIP_TEMP
TEMP_SENSE_ANALOG_DYEINGH_TEMP1, //ANALOG_DYEINGH_TEMP1_1
TEMP_SENSE_ANALOG_DYEINGH_TEMP2, //ANALOG_DYEINGH_TEMP2
TEMP_SENSE_ANALOG_DYEINGH_TEMP3, //ANALOG_DYEINGH_TEMP3
TEMP_SENSE_ANALOG_DYEINGH_TEMP4, //ANALOG_DYEINGH_TEMP4
TEMP_SENSE_ANALOG_DYEINGH_TEMP5, //ANALOG_DYEINGH_TEMP5
TEMP_SENSE_ANALOG_DRYER_TEMP1,   //ANALOG_DRYER_TEMP1
TEMP_SENSE_ANALOG_DRYER_TEMP2,   //ANALOG_DRYER_TEMP2
TEMP_SENSE_ANALOG_DRYER_TEMP3,   //ANALOG_DRYER_TEMP3
TEMP_SENSE_AN_ENCLOSURETEMP1,    //AN_ENCLOSURETEMP1_1
TEMP_SENSE_AN_ENCLOSURETEMP2,    //AN_ENCLOSURETEMP2_1
TEMP_SENSE_AN_ENCLOSURETEMP3,    //AN_ENCLOSURETEMP3_1
MAX_TEMPERATURE_SENSOR_ID
} TEMPERATURE_SENSOR_ID_ENUM;


typedef struct
{
  int32_t Temperature_C_mult_by_100;
  bool Busy;

}TempSensorResponseStruct;

TempSensorResponseStruct TempSensorResponse[MAX_TEMPERATURE_SENSOR_ID];


typedef union
{
    struct
    {
        unsigned char PGA_BYPASS:1; //
        unsigned char GAIN:3; //
        unsigned char MUX:4; //
    }bits;
    unsigned char Byte;
}ADS1220_CONFIG_REGISTER_0;

typedef union
{
    struct
    {
        unsigned char BCS:1; //
        unsigned char TS:1; //
        unsigned char CM:1; //
        unsigned char MODE:2; //
        unsigned char DR:3; //
    }bits;
    unsigned char Byte;
}ADS1220_CONFIG_REGISTER_1;

typedef union
{
    struct
    {
        unsigned char IDAC:3; //
        unsigned char PSW:1; //
        unsigned char HZ50_60:2; //
        unsigned char VREF:2; //
    }bits;
    unsigned char Byte;
}ADS1220_CONFIG_REGISTER_2;

typedef union
{
    struct
    {
        unsigned char Always_write_0:1; //
        unsigned char DRDYM:1; //
        unsigned char I2MUX:3; //
        unsigned char I1MUX:3; //
    }bits;
    unsigned char Byte;
}ADS1220_CONFIG_REGISTER_3;

typedef struct
{
    ADS1220_CONFIG_REGISTER_0 Reg0; //
    ADS1220_CONFIG_REGISTER_1 Reg1;//
    ADS1220_CONFIG_REGISTER_2 Reg2;
    ADS1220_CONFIG_REGISTER_3 Reg3;

}TempSensConfigStruc;

TempSensConfigStruc  TempSensConfig[MAX_TEMPERATURE_SENSOR_ID];


uint32_t TemperatureSensorsInit(void);
//set the motor configuration
uint32_t TemperatureSensorConfig(TEMPERATURE_SENSOR_ID_ENUM SensorId, TempSensConfigStruc *TemperatureSensorConfig);

uint32_t TemperatureSensorRead(TEMPERATURE_SENSOR_ID_ENUM SensorId);

uint32_t TemperatureSensorReadFromFPGA(TEMPERATURE_SENSOR_ID_ENUM SensorId);





#endif /* DRIVERS_HEATER_TEMPERATURESENSOR_H_ */