hdc1000.h¶
Interface definition for the HDC1000 sensor driver.
-
HDC1000_I2C_ADDRESS
¶ Default I2C bus address of HDC1000 devices.
1
(0x43)
-
HDC1000_CONVERSION_TIME
¶ Typical conversion time needed to acquire new values [in us].
1
(26000)
Note
This time value is chosen twice as large as needed for two 14-bit conversions (worst case) to allow for timer imprecision: (convert temp + convert hum) * 2 -> (6.5ms + 6.5ms) * 2 := 26ms.
-
enum
@122
¶ - HDC1000_OK
= 0
- everything went as expected
- HDC1000_NODEV
= -1
- no HDC1000 device found on the bus
- HDC1000_NOBUS
= -2
- errors while initializing the I2C bus
- HDC1000_BUSERR
= -3
- error during I2C communication
- HDC1000_OK
-
enum
hdc1000_res_t
¶ - HDC1000_11BIT
= (HDC1000_TRES11 | HDC1000_HRES11)
- 11-bit conversion
- HDC1000_14BIT
= (HDC1000_TRES14 | HDC1000_HRES14)
- 14-bit conversion
- HDC1000_11BIT
-
int
hdc1000_init
(hdc1000_t * dev, const hdc1000_params_t * params)¶ Initialize the given HDC1000 device.
Parameters
dev: device descriptor of sensor to initialize params: configuration parameters Return values
- HDC1000_OK on success
- HDC1000_NOBUS if initialization of I2C bus fails
- HDC1000_NODEV if no HDC1000 device found on bus
-
int
hdc1000_trigger_conversion
(const hdc1000_t * dev)¶ Trigger a new conversion.
After the conversion is triggered, one has to wait
hdc1000.h::HDC1000_CONVERSION_TIME
us until the results can be read usinghdc1000.h::hdc1000_get_results()
.Parameters
dev: device descriptor of sensor Return values
- HDC1000_OK on success
- HDC1000_BUSERR on I2C communication failures
-
int
hdc1000_get_results
(const hdc1000_t * dev, int16_t * temp, int16_t * hum)¶ Read conversion results for temperature and humidity.
Parameters
dev: device descriptor of sensor temp: temperature [in 100 * degree centigrade] hum: humidity [in 100 * percent relative] Return values
- HDC1000_OK on success
- HDC1000_BUSERR on I2C communication failures
-
int
hdc1000_read
(const hdc1000_t * dev, int16_t * temp, int16_t * hum)¶ Convenience function for reading temperature and humidity.
This function will trigger a new conversion, wait for the conversion to be finished and the get the results from the device.
Parameters
dev: device descriptor of sensor temp: temperature [in 100 * degree centigrade] hum: humidity [in 100 * percent relative] Return values
- HDC1000_OK on success
- HDC1000_BUSERR on I2C communication failures
-
int
hdc1000_read_cached
(const hdc1000_t * dev, int16_t * temp, int16_t * hum)¶ Extended read function including caching capability.
This function will return cached values if they are within the sampling period (HDC1000_RENEW_INTERVAL), or will trigger a new conversion, wait for the conversion to be finished and the get the results from the device.
Parameters
dev: device descriptor of sensor temp: temperature [in 100 * degree centigrade] hum: humidity [in 100 * percent relative] Return values
- HDC1000_OK on success
- HDC1000_BUSERR on I2C communication failures
-
struct
hdc1000_params_t
¶ Parameters needed for device initialization.
-
i2c.h::i2c_t
i2c
¶ bus the device is connected to
-
uint8_t
addr
¶ address on that bus
-
hdc1000.h::hdc1000_res_t
res
¶ resolution used for sampling temp and hum
-
uint32_t
renew_interval
¶ interval for cache renewal
-
-
struct
hdc1000_t
¶ Device descriptor for HDC1000 sensors.
-
hdc1000_params_t
p
¶ Configuration parameters.
-
hdc1000_params_t