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_ */
|