tmp006.h¶
Interface definition for the TMP006 sensor driver.
-
TMP006_CONFIG_CR_AS1¶ Conversion Time 0.25s, AVG Samples: 1.
1
(0x00)
-
TMP006_CONFIG_CR_AS2¶ Conversion Time 0.5s, AVG Samples: 2.
1
(0x01)
-
TMP006_CONFIG_CR_AS4¶ Conversion Time 1s, AVG Samples: 4.
1
(0x02)
-
TMP006_CONFIG_CR_AS8¶ Conversion Time 2s, AVG Samples: 8.
1
(0x03)
-
TMP006_CONFIG_CR_AS16¶ Conversion Time 4s, AVG Samples: 16.
1
(0x04)
-
TMP006_CONFIG_CR_DEF¶ Default for Testing.
1
TMP006_CONFIG_CR_AS4
-
TMP006_CCONST_S0¶ Calibration Factor.
1
(6.4E-14)
-
TMP006_CCONST_A1¶ Constant .
1
(1.75E-3)
-
TMP006_CCONST_A2¶ Constant .
1
(-1.678E-5)
-
TMP006_CCONST_TREF¶ Constant .
1
(298.15)
-
TMP006_CCONST_B0¶ Constant .
1
(-2.94E-5)
-
TMP006_CCONST_B1¶ Constant .
1
(-5.7E-7)
-
TMP006_CCONST_B2¶ Constant .
1
(4.63E-9)
-
TMP006_CCONST_C2¶ Constant .
1
(13.4)
-
TMP006_CCONST_LSB_SIZE¶ Sensor Voltage Register LSB Size.
1
(156.25E-9)
-
TMP006_I2C_ADDRESS¶ TMP006 Default Address.
1
(0x41)
-
TMP006_CONVERSION_TIME¶ Default Conversion Time in us.
1
(1E6)
-
TMP006_USE_LOW_POWER¶ Default low power mode.
1
(0)
If set to 0, the device will be always-on If set to 1, the device will be put in low power mode between measurements. This adds a
TMP006_CONVERSION_TIMEus delay to each measurement call for bringing the device out of standby.
-
TMP006_USE_RAW_VALUES¶ Default raw value mode.
1
(0)
If set to 0, measurements will be converted to Celsius. If set to 1, raw adc readings will be returned.
-
enum
@166¶ - TMP006_OK
- Success, no error.
- TMP006_ERROR_BUS
- I2C bus error.
- TMP006_ERROR_DEV
- internal device error
- TMP006_ERROR_CONF
- invalid device configuration
- TMP006_ERROR
- general error
-
int
tmp006_init(tmp006_t * dev, const tmp006_params_t * params)¶ Initialize the TMP006 sensor driver.
Parameters
dev: device descriptor of sensor to initialize params: configuration parameters Return values
- 0 on success
- -TMP006_ERROR_BUS on I2C bus error
- -TMP006_ERROR_DEV if sensor test failed
- -TMP006_ERROR_CONF if sensor configuration failed
-
int
tmp006_reset(const tmp006_t * dev)¶ Reset the TMP006 sensor, afterwards it should be reinitialized.
Parameters
dev: device descriptor of sensor Return values
- 0 on success
- -1 on error
-
int
tmp006_set_active(const tmp006_t * dev)¶ Set active mode, this enables periodic measurements.
Parameters
dev: device descriptor of sensor Return values
- 0 on success
- -1 on error
-
int
tmp006_set_standby(const tmp006_t * dev)¶ Set standby mode.
Parameters
dev: device descriptor of sensor Return values
- 0 on success
- -1 on error
-
int
tmp006_read(const tmp006_t * dev, int16_t * rawv, int16_t * rawt, uint8_t * drdy)¶ Read sensor’s data.
Parameters
dev: device descriptor of sensor rawv: object voltage value rawt: raw die temperature drdy: data ready, 0 if a conversion is in progress Return values
- 0 on success
- -1 on error
-
void
tmp006_convert(int16_t rawv, int16_t rawt, float * tamb, float * tobj)¶ Convert raw sensor values to temperature.
Parameters
rawv: object voltage value rawt: raw die temperature value tamb: converted ambient temperature tobj: converted object temperature
-
int
tmp006_read_temperature(const tmp006_t * dev, int16_t * ta, int16_t * to)¶ Convenience function to get ambient and object temperatures in [°C].
Note
Temperature scaled by x100 for accuracy and avoid floats
Parameters
dev: device descriptor of sensor ta: converted ambient temperature to: converted object temperature
-
struct
tmp006_params_t¶ Parameters needed for device initialization.
-
i2c.h::i2c_ti2c¶ I2C device, the sensor is connected to.
-
uint8_t
addr¶ the sensor’s slave address on the I2C bus
-
uint8_t
rate¶ number of averaged samples
-
-
struct
tmp006_t¶ Device descriptor for TMP006 sensors.
-
tmp006_params_t
p¶ Configuration parameters.
-
tmp006_params_t