User | Revision | Line number | New contents of line |
mcm |
1:e8e0ef45b115
|
1
|
/**
|
mcm |
1:e8e0ef45b115
|
2
|
* @brief TMP006.h
|
mcm |
1:e8e0ef45b115
|
3
|
* @details Infrared Thermopile Sensor in Chip-Scale Package.
|
mcm |
1:e8e0ef45b115
|
4
|
* Header file.
|
mcm |
1:e8e0ef45b115
|
5
|
*
|
mcm |
1:e8e0ef45b115
|
6
|
*
|
mcm |
1:e8e0ef45b115
|
7
|
* @return N/A
|
mcm |
1:e8e0ef45b115
|
8
|
*
|
mcm |
1:e8e0ef45b115
|
9
|
* @author Manuel Caballero
|
mcm |
1:e8e0ef45b115
|
10
|
* @date 10/December/2018
|
mcm |
1:e8e0ef45b115
|
11
|
* @version 10/December/2018 The ORIGIN
|
mcm |
1:e8e0ef45b115
|
12
|
* @pre N/A
|
mcm |
1:e8e0ef45b115
|
13
|
* @warning N/A
|
mcm |
1:e8e0ef45b115
|
14
|
* @pre This code belongs to Nimbus Centre ( http://www.nimbus.cit.ie ). All rights reserved.
|
mcm |
1:e8e0ef45b115
|
15
|
*/
|
mcm |
1:e8e0ef45b115
|
16
|
#ifndef TMP006_H
|
mcm |
1:e8e0ef45b115
|
17
|
#define TMP006_H
|
mcm |
1:e8e0ef45b115
|
18
|
|
mcm |
1:e8e0ef45b115
|
19
|
#include "mbed.h"
|
mcm |
1:e8e0ef45b115
|
20
|
#include <math.h>
|
mcm |
1:e8e0ef45b115
|
21
|
|
mcm |
1:e8e0ef45b115
|
22
|
|
mcm |
1:e8e0ef45b115
|
23
|
/**
|
mcm |
1:e8e0ef45b115
|
24
|
Example:
|
mcm |
1:e8e0ef45b115
|
25
|
@code
|
mcm |
1:e8e0ef45b115
|
26
|
|
mcm |
1:e8e0ef45b115
|
27
|
@endcode
|
mcm |
1:e8e0ef45b115
|
28
|
*/
|
mcm |
1:e8e0ef45b115
|
29
|
|
mcm |
1:e8e0ef45b115
|
30
|
|
mcm |
1:e8e0ef45b115
|
31
|
/*!
|
mcm |
1:e8e0ef45b115
|
32
|
Library for the TMP006 Infrared Thermopile Sensor in Chip-Scale Package.
|
mcm |
1:e8e0ef45b115
|
33
|
*/
|
mcm |
1:e8e0ef45b115
|
34
|
class TMP006
|
mcm |
1:e8e0ef45b115
|
35
|
{
|
mcm |
1:e8e0ef45b115
|
36
|
public:
|
mcm |
1:e8e0ef45b115
|
37
|
/**
|
mcm |
1:e8e0ef45b115
|
38
|
* @brief DEFAULT ADDRESSES
|
mcm |
1:e8e0ef45b115
|
39
|
*/
|
mcm |
1:e8e0ef45b115
|
40
|
typedef enum
|
mcm |
1:e8e0ef45b115
|
41
|
{
|
mcm |
1:e8e0ef45b115
|
42
|
TMP006_ADDRESS_ADR1_0_ADR0_0 = ( 0b1000000 << 1U ), /*!< TMP006 I2C Address: ADR1 = 0 | ADR0 = 0 */
|
mcm |
1:e8e0ef45b115
|
43
|
TMP006_ADDRESS_ADR1_0_ADR0_1 = ( 0b1000001 << 1U ), /*!< TMP006 I2C Address: ADR1 = 0 | ADR0 = 1 */
|
mcm |
1:e8e0ef45b115
|
44
|
TMP006_ADDRESS_ADR1_0_ADR0_SDA = ( 0b1000010 << 1U ), /*!< TMP006 I2C Address: ADR1 = 0 | ADR0 = SDA */
|
mcm |
1:e8e0ef45b115
|
45
|
TMP006_ADDRESS_ADR1_0_ADR0_SCL = ( 0b1000011 << 1U ), /*!< TMP006 I2C Address: ADR1 = 0 | ADR0 = SCL */
|
mcm |
1:e8e0ef45b115
|
46
|
TMP006_ADDRESS_ADR1_1_ADR0_0 = ( 0b1000100 << 1U ), /*!< TMP006 I2C Address: ADR1 = 1 | ADR0 = 0 */
|
mcm |
1:e8e0ef45b115
|
47
|
TMP006_ADDRESS_ADR1_1_ADR0_1 = ( 0b1000101 << 1U ), /*!< TMP006 I2C Address: ADR1 = 1 | ADR0 = 1 */
|
mcm |
1:e8e0ef45b115
|
48
|
TMP006_ADDRESS_ADR1_1_ADR0_SDA = ( 0b1000110 << 1U ), /*!< TMP006 I2C Address: ADR1 = 1 | ADR0 = SDA */
|
mcm |
1:e8e0ef45b115
|
49
|
TMP006_ADDRESS_ADR1_1_ADR0_SCL = ( 0b1000111 << 1U ) /*!< TMP006 I2C Address: ADR1 = 1 | ADR0 = SCL */
|
mcm |
1:e8e0ef45b115
|
50
|
} TMP006_addresses_t;
|
mcm |
1:e8e0ef45b115
|
51
|
|
mcm |
1:e8e0ef45b115
|
52
|
|
mcm |
1:e8e0ef45b115
|
53
|
|
mcm |
1:e8e0ef45b115
|
54
|
/**
|
mcm |
1:e8e0ef45b115
|
55
|
* @brief REGISTER MAP
|
mcm |
1:e8e0ef45b115
|
56
|
*/
|
mcm |
1:e8e0ef45b115
|
57
|
typedef enum
|
mcm |
1:e8e0ef45b115
|
58
|
{
|
mcm |
1:e8e0ef45b115
|
59
|
TMP006_SENSOR_VOLTAGE = 0x00, /*!< Sensor voltage ( Read Only ) */
|
mcm |
1:e8e0ef45b115
|
60
|
TMP006_LOCAL_TEMPERATURE = 0x01, /*!< Local temperature ( Read Only ) */
|
mcm |
1:e8e0ef45b115
|
61
|
TMP006_CONFIGURATION = 0x02, /*!< Configuration ( Read/Write ) */
|
mcm |
1:e8e0ef45b115
|
62
|
TMP006_MANUFACTURER_ID = 0xFE, /*!< Manufacturer ID ( Read Only ) */
|
mcm |
1:e8e0ef45b115
|
63
|
TMP006_DEVICE_ID = 0xFF /*!< Device ID ( Read Only ) */
|
mcm |
1:e8e0ef45b115
|
64
|
} TMP006_register_map_t;
|
mcm |
1:e8e0ef45b115
|
65
|
|
mcm |
1:e8e0ef45b115
|
66
|
|
mcm |
1:e8e0ef45b115
|
67
|
|
mcm |
1:e8e0ef45b115
|
68
|
/**
|
mcm |
1:e8e0ef45b115
|
69
|
* @brief CONFIGURATION REGISTER
|
mcm |
1:e8e0ef45b115
|
70
|
*/
|
mcm |
1:e8e0ef45b115
|
71
|
/* SOFTWARE RESET BIT <15>
|
mcm |
1:e8e0ef45b115
|
72
|
*/
|
mcm |
1:e8e0ef45b115
|
73
|
typedef enum
|
mcm |
1:e8e0ef45b115
|
74
|
{
|
mcm |
1:e8e0ef45b115
|
75
|
RST_BIT_MASK = ( 1U << 15U ), /*!< Software reset bit mask */
|
mcm |
1:e8e0ef45b115
|
76
|
RST_NORMAL_OPERATION = ( 0U << 15U ), /*!< Software reset bit: Normal operation ( RESET ) */
|
mcm |
1:e8e0ef45b115
|
77
|
RST_SOFTWARE_RESET = ( 1U << 15U ) /*!< Software reset bit: Software reset */
|
mcm |
1:e8e0ef45b115
|
78
|
} TMP006_rst_t;
|
mcm |
1:e8e0ef45b115
|
79
|
|
mcm |
1:e8e0ef45b115
|
80
|
|
mcm |
1:e8e0ef45b115
|
81
|
/* MODE OF OPERATION <14:12>
|
mcm |
1:e8e0ef45b115
|
82
|
*/
|
mcm |
1:e8e0ef45b115
|
83
|
typedef enum
|
mcm |
1:e8e0ef45b115
|
84
|
{
|
mcm |
1:e8e0ef45b115
|
85
|
MOD_MASK = ( 0b111 << 12U ), /*!< Mode of operation mask */
|
mcm |
1:e8e0ef45b115
|
86
|
MOD_POWER_DOWN = ( 0b000 << 12U ), /*!< Mode of operation: Power-down */
|
mcm |
1:e8e0ef45b115
|
87
|
MOD_SENSOR_AND_DIE_CONT_CONVERSION = ( 0b111 << 12U ) /*!< Mode of operation: Sensor and die continuous conversion (MOD) ( RESET ) */
|
mcm |
1:e8e0ef45b115
|
88
|
} TMP006_mod_t;
|
mcm |
1:e8e0ef45b115
|
89
|
|
mcm |
1:e8e0ef45b115
|
90
|
|
mcm |
1:e8e0ef45b115
|
91
|
/* ADC CONVERSION RATE <11:9>
|
mcm |
1:e8e0ef45b115
|
92
|
*/
|
mcm |
1:e8e0ef45b115
|
93
|
typedef enum
|
mcm |
1:e8e0ef45b115
|
94
|
{
|
mcm |
1:e8e0ef45b115
|
95
|
CR_MASK = ( 0b111 << 9U ), /*!< ADC Conversion rate mask */
|
mcm |
1:e8e0ef45b115
|
96
|
CR_1_AVERAGED_SAMPLES = ( 0b000 << 9U ), /*!< ADC Conversion rate: 1 number of averaged sample */
|
mcm |
1:e8e0ef45b115
|
97
|
CR_2_AVERAGED_SAMPLES = ( 0b001 << 9U ), /*!< ADC Conversion rate: 2 number of averaged sample */
|
mcm |
1:e8e0ef45b115
|
98
|
CR_4_AVERAGED_SAMPLES = ( 0b010 << 9U ), /*!< ADC Conversion rate: 4 number of averaged sample ( RESET ) */
|
mcm |
1:e8e0ef45b115
|
99
|
CR_8_AVERAGED_SAMPLES = ( 0b011 << 9U ), /*!< ADC Conversion rate: 8 number of averaged sample */
|
mcm |
1:e8e0ef45b115
|
100
|
CR_16_AVERAGED_SAMPLES = ( 0b100 << 9U ) /*!< ADC Conversion rate: 16 number of averaged sample */
|
mcm |
1:e8e0ef45b115
|
101
|
} TMP006_cr_t;
|
mcm |
1:e8e0ef45b115
|
102
|
|
mcm |
1:e8e0ef45b115
|
103
|
|
mcm |
1:e8e0ef45b115
|
104
|
/* #DRDY ENABLE BIT <8>
|
mcm |
1:e8e0ef45b115
|
105
|
*/
|
mcm |
1:e8e0ef45b115
|
106
|
typedef enum
|
mcm |
1:e8e0ef45b115
|
107
|
{
|
mcm |
1:e8e0ef45b115
|
108
|
EN_MASK = ( 1U << 8U ), /*!< #DRDY enable bit mask */
|
mcm |
1:e8e0ef45b115
|
109
|
EN_nDRDY_PIN_DISABLED = ( 0U << 8U ), /*!< #DRDY enable bit: Pin disabled ( RESET ) */
|
mcm |
1:e8e0ef45b115
|
110
|
EN_nDRDY_PIN_ENABLED = ( 1U << 8U ) /*!< #DRDY enable bit: Pin enabled */
|
mcm |
1:e8e0ef45b115
|
111
|
} TMP006_en_t;
|
mcm |
1:e8e0ef45b115
|
112
|
|
mcm |
1:e8e0ef45b115
|
113
|
|
mcm |
1:e8e0ef45b115
|
114
|
/* DATA READY BIT <7>
|
mcm |
1:e8e0ef45b115
|
115
|
*/
|
mcm |
1:e8e0ef45b115
|
116
|
typedef enum
|
mcm |
1:e8e0ef45b115
|
117
|
{
|
mcm |
1:e8e0ef45b115
|
118
|
nDRDY_MASK = ( 1U << 7U ), /*!< Data ready bit mask */
|
mcm |
1:e8e0ef45b115
|
119
|
nDRDY_CONVERSION_IN_PROGRESS = ( 0U << 7U ), /*!< Data ready bit: Conversion in progress ( RESET ) */
|
mcm |
1:e8e0ef45b115
|
120
|
nDRDY_CONVERSION_COMPLETED = ( 1U << 7U ) /*!< Data ready bit: Conversion completed */
|
mcm |
1:e8e0ef45b115
|
121
|
} TMP006_ndrdy_t;
|
mcm |
1:e8e0ef45b115
|
122
|
|
mcm |
1:e8e0ef45b115
|
123
|
|
mcm |
1:e8e0ef45b115
|
124
|
|
mcm |
1:e8e0ef45b115
|
125
|
|
mcm |
1:e8e0ef45b115
|
126
|
/**
|
mcm |
1:e8e0ef45b115
|
127
|
* @brief MANUFACTURER ID REGISTER
|
mcm |
1:e8e0ef45b115
|
128
|
*/
|
mcm |
1:e8e0ef45b115
|
129
|
typedef enum
|
mcm |
1:e8e0ef45b115
|
130
|
{
|
mcm |
1:e8e0ef45b115
|
131
|
MANUFACTURER_ID_MASK = 0xFFFF, /*!< Manufacturer ID mask */
|
mcm |
1:e8e0ef45b115
|
132
|
MANUFACTURER_ID_VALUE = 0x5449 /*!< Manufacturer ID value ( RESET ) */
|
mcm |
1:e8e0ef45b115
|
133
|
} TMP006_manufacturer_id_register_t;
|
mcm |
1:e8e0ef45b115
|
134
|
|
mcm |
1:e8e0ef45b115
|
135
|
|
mcm |
1:e8e0ef45b115
|
136
|
|
mcm |
1:e8e0ef45b115
|
137
|
/**
|
mcm |
1:e8e0ef45b115
|
138
|
* @brief DEVICE ID REGISTER
|
mcm |
1:e8e0ef45b115
|
139
|
*/
|
mcm |
1:e8e0ef45b115
|
140
|
typedef enum
|
mcm |
1:e8e0ef45b115
|
141
|
{
|
mcm |
1:e8e0ef45b115
|
142
|
DEVICE_ID_MASK = 0xFFFF, /*!< Device ID mask */
|
mcm |
1:e8e0ef45b115
|
143
|
DEVICE_ID_VALUE = 0x0067 /*!< Device ID value ( RESET ) */
|
mcm |
1:e8e0ef45b115
|
144
|
} TMP006_device_id_register_t;
|
mcm |
1:e8e0ef45b115
|
145
|
|
mcm |
1:e8e0ef45b115
|
146
|
|
mcm |
1:e8e0ef45b115
|
147
|
|
mcm |
1:e8e0ef45b115
|
148
|
|
mcm |
1:e8e0ef45b115
|
149
|
/**
|
mcm |
1:e8e0ef45b115
|
150
|
* @brief CONSTANS TO BE USED IN THE FORMULAS
|
mcm |
1:e8e0ef45b115
|
151
|
* NOTE: User Guide ( sbou107.pdf ) 5.1 Equations for Calculating Target Object Temperatures, p10.
|
mcm |
1:e8e0ef45b115
|
152
|
*/
|
mcm |
1:e8e0ef45b115
|
153
|
#define A1 0.00175 /*!< A1 */
|
mcm |
1:e8e0ef45b115
|
154
|
#define A2 -0.00001678 /*!< A2 */
|
mcm |
1:e8e0ef45b115
|
155
|
#define T_REF 298.15 /*!< T_REF, Kelvin */
|
mcm |
1:e8e0ef45b115
|
156
|
#define B0 -0.0000294 /*!< B0 */
|
mcm |
1:e8e0ef45b115
|
157
|
#define B1 -0.00000057 /*!< B1 */
|
mcm |
1:e8e0ef45b115
|
158
|
#define B2 -0.00000000463 /*!< B2 */
|
mcm |
1:e8e0ef45b115
|
159
|
#define C2 13.4 /*!< C2 */
|
mcm |
1:e8e0ef45b115
|
160
|
#define S0 ( 0.00000000000005 + 0.00000000000007 ) / 2.0 /*!< Primary calibration sensitivity factor ( mean of typical values ) */
|
mcm |
1:e8e0ef45b115
|
161
|
#define TEMP_1LSB 0.03125 /*!< Temperature: 1 LSB = 1 / 32°C = 0.03125 */
|
mcm |
1:e8e0ef45b115
|
162
|
|
mcm |
1:e8e0ef45b115
|
163
|
|
mcm |
1:e8e0ef45b115
|
164
|
|
mcm |
1:e8e0ef45b115
|
165
|
#ifndef TMP006_VECTOR_STRUCT_H
|
mcm |
1:e8e0ef45b115
|
166
|
#define TMP006_VECTOR_STRUCT_H
|
mcm |
1:e8e0ef45b115
|
167
|
typedef struct
|
mcm |
1:e8e0ef45b115
|
168
|
{
|
mcm |
1:e8e0ef45b115
|
169
|
float ObjectTemperatureC; /*!< Temperature of the target object in Celsius degrees */
|
mcm |
1:e8e0ef45b115
|
170
|
float ObjectTemperatureK; /*!< Temperature of the target object in Kelvins degrees */
|
mcm |
1:e8e0ef45b115
|
171
|
|
mcm |
1:e8e0ef45b115
|
172
|
float TemperatureK; /*!< T_DIE in Kelvins degrees */
|
mcm |
1:e8e0ef45b115
|
173
|
float TemperatureC; /*!< T_DIE in Celsius degrees */
|
mcm |
1:e8e0ef45b115
|
174
|
float s0; /*!< Primary calibration sensitivity factor ( typical values: 5×10^–14 and 7×10^–14 ) */
|
mcm |
1:e8e0ef45b115
|
175
|
|
mcm |
1:e8e0ef45b115
|
176
|
uint16_t SensorVoltageResultRegister; /*!< V_sensor */
|
mcm |
1:e8e0ef45b115
|
177
|
uint16_t TemperatureRegister; /*!< T_DIE */
|
mcm |
1:e8e0ef45b115
|
178
|
uint16_t ConfigurationRegister; /*!< Configuration register */
|
mcm |
1:e8e0ef45b115
|
179
|
|
mcm |
1:e8e0ef45b115
|
180
|
uint16_t ManufacturerID; /*!< Manufacturer ID */
|
mcm |
1:e8e0ef45b115
|
181
|
uint16_t DeviceID; /*!< Device ID */
|
mcm |
1:e8e0ef45b115
|
182
|
} TMP006_data_t;
|
mcm |
1:e8e0ef45b115
|
183
|
#endif
|
mcm |
1:e8e0ef45b115
|
184
|
|
mcm |
1:e8e0ef45b115
|
185
|
|
mcm |
1:e8e0ef45b115
|
186
|
/**
|
mcm |
1:e8e0ef45b115
|
187
|
* @brief INTERNAL CONSTANTS
|
mcm |
1:e8e0ef45b115
|
188
|
*/
|
mcm |
1:e8e0ef45b115
|
189
|
typedef enum {
|
mcm |
1:e8e0ef45b115
|
190
|
TMP006_SUCCESS = 0U,
|
mcm |
1:e8e0ef45b115
|
191
|
TMP006_FAILURE = 1U,
|
mcm |
1:e8e0ef45b115
|
192
|
I2C_SUCCESS = 0U /*!< I2C communication was fine */
|
mcm |
1:e8e0ef45b115
|
193
|
} TMP006_status_t;
|
mcm |
1:e8e0ef45b115
|
194
|
|
mcm |
1:e8e0ef45b115
|
195
|
|
mcm |
1:e8e0ef45b115
|
196
|
|
mcm |
1:e8e0ef45b115
|
197
|
|
mcm |
1:e8e0ef45b115
|
198
|
/** Create an TMP006 object connected to the specified I2C pins.
|
mcm |
1:e8e0ef45b115
|
199
|
*
|
mcm |
1:e8e0ef45b115
|
200
|
* @param sda I2C data pin
|
mcm |
1:e8e0ef45b115
|
201
|
* @param scl I2C clock pin
|
mcm |
1:e8e0ef45b115
|
202
|
* @param addr I2C slave address
|
mcm |
1:e8e0ef45b115
|
203
|
* @param freq I2C frequency
|
mcm |
1:e8e0ef45b115
|
204
|
*/
|
mcm |
1:e8e0ef45b115
|
205
|
TMP006 ( PinName sda, PinName scl, uint32_t addr, uint32_t freq );
|
mcm |
1:e8e0ef45b115
|
206
|
|
mcm |
1:e8e0ef45b115
|
207
|
/** Delete TMP006 object.
|
mcm |
1:e8e0ef45b115
|
208
|
*/
|
mcm |
1:e8e0ef45b115
|
209
|
~TMP006();
|
mcm |
1:e8e0ef45b115
|
210
|
|
mcm |
1:e8e0ef45b115
|
211
|
/** It gets the manufacturer ID.
|
mcm |
1:e8e0ef45b115
|
212
|
*/
|
mcm |
1:e8e0ef45b115
|
213
|
TMP006_status_t TMP006_GetManufacturerID ( TMP006_data_t* myManufacturerID );
|
mcm |
1:e8e0ef45b115
|
214
|
|
mcm |
1:e8e0ef45b115
|
215
|
/** It gets the device ID.
|
mcm |
1:e8e0ef45b115
|
216
|
*/
|
mcm |
1:e8e0ef45b115
|
217
|
TMP006_status_t TMP006_GetDeviceID ( TMP006_data_t* myDeviceID );
|
mcm |
1:e8e0ef45b115
|
218
|
|
mcm |
1:e8e0ef45b115
|
219
|
/** It reads the configuration register.
|
mcm |
1:e8e0ef45b115
|
220
|
*/
|
mcm |
1:e8e0ef45b115
|
221
|
TMP006_status_t TMP006_ReadConfigurationRegister ( TMP006_data_t* myConfReg );
|
mcm |
1:e8e0ef45b115
|
222
|
|
mcm |
1:e8e0ef45b115
|
223
|
/** It performs a software reset.
|
mcm |
1:e8e0ef45b115
|
224
|
*/
|
mcm |
1:e8e0ef45b115
|
225
|
TMP006_status_t TMP006_SoftwareReset ( void );
|
mcm |
1:e8e0ef45b115
|
226
|
|
mcm |
1:e8e0ef45b115
|
227
|
/** It sets mode of operation.
|
mcm |
1:e8e0ef45b115
|
228
|
*/
|
mcm |
1:e8e0ef45b115
|
229
|
TMP006_status_t TMP006_SetModeOperation ( TMP006_mod_t myModeOpreation );
|
mcm |
1:e8e0ef45b115
|
230
|
|
mcm |
1:e8e0ef45b115
|
231
|
/** It sets conversion rate.
|
mcm |
1:e8e0ef45b115
|
232
|
*/
|
mcm |
1:e8e0ef45b115
|
233
|
TMP006_status_t TMP006_SetConversionRate ( TMP006_cr_t myConversionRate );
|
mcm |
1:e8e0ef45b115
|
234
|
|
mcm |
1:e8e0ef45b115
|
235
|
/** It sets #DRDY control.
|
mcm |
1:e8e0ef45b115
|
236
|
*/
|
mcm |
1:e8e0ef45b115
|
237
|
TMP006_status_t TMP006_SetnDRDY_EnableBit ( TMP006_en_t myEnableBit );
|
mcm |
1:e8e0ef45b115
|
238
|
|
mcm |
1:e8e0ef45b115
|
239
|
/** It reads raw temperature ( T_DIE ) register.
|
mcm |
1:e8e0ef45b115
|
240
|
*/
|
mcm |
1:e8e0ef45b115
|
241
|
TMP006_status_t TMP006_GetRawTemperature ( TMP006_data_t* myRawTemperature );
|
mcm |
1:e8e0ef45b115
|
242
|
|
mcm |
1:e8e0ef45b115
|
243
|
/** It reads raw sensor voltage result ( V_SENSOR ) register.
|
mcm |
1:e8e0ef45b115
|
244
|
*/
|
mcm |
1:e8e0ef45b115
|
245
|
TMP006_status_t TMP006_GetRawSensorVoltage ( TMP006_data_t* myRawVoltage );
|
mcm |
1:e8e0ef45b115
|
246
|
|
mcm |
1:e8e0ef45b115
|
247
|
/** It calculates the real temperature ( T_DIE ) value.
|
mcm |
1:e8e0ef45b115
|
248
|
*/
|
mcm |
1:e8e0ef45b115
|
249
|
TMP006_status_t TMP006_CalculateTemperature ( TMP006_data_t* myTemperature );
|
mcm |
1:e8e0ef45b115
|
250
|
|
mcm |
1:e8e0ef45b115
|
251
|
/** It calculates the object temperature ( T_OBJ ) value.
|
mcm |
1:e8e0ef45b115
|
252
|
*/
|
mcm |
1:e8e0ef45b115
|
253
|
TMP006_status_t TMP006_CalculateObjectTemperature( TMP006_data_t* myObjTemperature );
|
mcm |
1:e8e0ef45b115
|
254
|
|
mcm |
1:e8e0ef45b115
|
255
|
|
mcm |
1:e8e0ef45b115
|
256
|
private:
|
mcm |
1:e8e0ef45b115
|
257
|
I2C _i2c;
|
mcm |
1:e8e0ef45b115
|
258
|
uint32_t _TMP006_Addr;
|
mcm |
1:e8e0ef45b115
|
259
|
};
|
mcm |
1:e8e0ef45b115
|
260
|
|
mcm |
1:e8e0ef45b115
|
261
|
#endif
|