|
file | tmp-007-sensor.c |
| Driver for the Sensortag TI TMP-007 IR Thermophile sensor.
|
|
file | tmp-007-sensor.h |
| Header file for the Sensortag TMP-007 IR Thermophile sensor.
|
|
|
#define | VAL_CONFIG_ON 0x1000 |
| Sensor on state.
|
|
#define | VAL_CONFIG_OFF 0x0000 |
| Sensor off state.
|
|
#define | VAL_PROD_ID 0x0078 |
| Product ID.
|
|
|
static bool | sensor_init (void) |
| Initialize the TMP-007 sensor driver. More...
|
|
static void | notify_ready_cb (void *not_used) |
| Callback when sensor is ready to read data from.
|
|
static bool | enable_sensor (bool enable) |
| Turn the sensor on or off.
|
|
static bool | read_data (uint16_t *local_tmp, uint16_t *obj_tmp) |
| Read the sensor value registers. More...
|
|
static void | convert (uint16_t *local_tmp, uint16_t *obj_tmp) |
| Convert raw data to values in degrees Celsius. More...
|
|
static int | value (int type) |
| Returns a reading from the sensor. More...
|
|
static int | configure (int type, int enable) |
| Configuration function for the TMP-007 sensor. More...
|
|
static int | status (int type) |
| Returns the status of the sensor. More...
|
|
Due to the time required for the sensor to startup, this driver is
meant to be used in an asynchronous fashion. The caller must first
activate the sensor by calling SENSORS_ACTIVATE(). This will trigger
the sensor's startup sequence, but the call will not wait for it to
complete so that the CPU can perform other tasks or drop to a low
power mode.
Once the sensor is stable, the driver will generate a
sensors_changed event.
The caller should then use value(TMP_007_SENSOR_TYPE_ALL) to
read sensor values and latch them. Once completed successfully,
individual readings can be retrieved with calls to
value(TMP_007_SENSOR_TYPE_OBJECT) or
value(TMP_007_SENSOR_TYPE_AMBIENT).
Once required readings have been taken, the caller has two options:
- Turn the sensor off by calling SENSORS_DEACTIVATE, but in order
to take subsequent readings SENSORS_ACTIVATE must be called again.
- Leave the sensor on. In this scenario, the caller can simply keep
calling value(TMP_007_SENSOR_TYPE_ALL) to read and latch new
values. However keeping the sensor on will consume more energy.
◆ configure()
static int configure |
( |
int |
type, |
|
|
int |
enable |
|
) |
| |
|
static |
Configuration function for the TMP-007 sensor.
- Parameters
-
type | Activate, enable or disable the sensor. See below. |
enable | Enable or disable sensor. When type == SENSORS_HW_INIT we turn on the hardware.
When type == SENSORS_ACTIVE and enable==1 we enable the sensor.
When type == SENSORS_ACTIVE and enable==0 we disable the sensor.
|
Definition at line 336 of file tmp-007-sensor.c.
◆ convert()
static void convert |
( |
uint16_t * |
local_tmp, |
|
|
uint16_t * |
obj_tmp |
|
) |
| |
|
static |
Convert raw data to values in degrees Celsius.
- Parameters
-
local_tmp | Output variable holding the raw ambient temperature from sensor. |
obj_tmp | Output variable holding the raw object temperature from sensor. |
Definition at line 270 of file tmp-007-sensor.c.
◆ read_data()
static bool read_data |
( |
uint16_t * |
local_tmp, |
|
|
uint16_t * |
obj_tmp |
|
) |
| |
|
static |
Read the sensor value registers.
- Parameters
-
local_tmp | Output variable holding the Temperature in 16-bit format. |
obj_tmp | Output variable holding the Object temperature in 16-bit format. |
- Returns
- true if valid data could be retrieved; else, false.
Definition at line 207 of file tmp-007-sensor.c.
◆ sensor_init()
static bool sensor_init |
( |
void |
| ) |
|
|
static |
Initialize the TMP-007 sensor driver.
- Returns
- true if I2C operation successful; else, return false.
Definition at line 144 of file tmp-007-sensor.c.
◆ status()
static int status |
( |
int |
type | ) |
|
|
static |
Returns the status of the sensor.
- Parameters
-
- Returns
- Status of the sensor.
Definition at line 378 of file tmp-007-sensor.c.
◆ value()
static int value |
( |
int |
type | ) |
|
|
static |
Returns a reading from the sensor.
- Parameters
-
type | TMP_007_SENSOR_TYPE_OBJECT or TMP_007_SENSOR_TYPE_AMBIENT. |
- Returns
- Object or Ambient temperature in milli degrees Celsius.
Definition at line 288 of file tmp-007-sensor.c.