drivers/hdc1000: change renew_interval to a parameter

This commit is contained in:
Hyungsin 2018-08-06 12:33:53 -07:00
parent ccb5653f8a
commit 88895bbed9
3 changed files with 16 additions and 15 deletions

View File

@ -31,10 +31,6 @@
#define ENABLE_DEBUG (0)
#include "debug.h"
#ifndef HDC1000_RENEW_INTERVAL
#define HDC1000_RENEW_INTERVAL (1000000ul)
#endif
static int16_t temp_cached, hum_cached;
static uint32_t last_read_time;
@ -144,7 +140,7 @@ int hdc1000_read_cached(const hdc1000_t *dev, int16_t *temp, int16_t *hum)
uint32_t now = xtimer_now_usec();
/* check if readings are outdated */
if (now - last_read_time > HDC1000_RENEW_INTERVAL) {
if (now - last_read_time > dev->p.renew_interval) {
/* update last_read_time */
if (hdc1000_read(dev, &temp_cached, &hum_cached) != HDC1000_OK) {
return HDC1000_BUSERR;

View File

@ -40,11 +40,15 @@ extern "C" {
#ifndef HDC1000_PARAM_RES
#define HDC1000_PARAM_RES HDC1000_14BIT
#endif
#ifndef HDC1000_PARAM_RENEW_INTERVAL
#define HDC1000_PARAM_RENEW_INTERVAL (1000000ul)
#endif
#ifndef HDC1000_PARAMS
#define HDC1000_PARAMS { .i2c = HDC1000_PARAM_I2C, \
.addr = HDC1000_PARAM_ADDR, \
.res = HDC1000_PARAM_RES }
.res = HDC1000_PARAM_RES, \
.renew_interval = HDC1000_PARAM_RENEW_INTERVAL }
#endif
#ifndef HDC1000_SAUL_INFO
#define HDC1000_SAUL_INFO { .name = "hdc1000" }

View File

@ -91,6 +91,7 @@ typedef struct {
i2c_t i2c; /**< bus the device is connected to */
uint8_t addr; /**< address on that bus */
hdc1000_res_t res; /**< resolution used for sampling temp and hum */
uint32_t renew_interval; /**< interval for cache renewal */
} hdc1000_params_t;
/**