Skip to content

Commit

Permalink
Merge pull request #9386 from Hyungsin/forupstream_hdc1000
Browse files Browse the repository at this point in the history
drivers/hdc1000: change renew_interval to a parameter
  • Loading branch information
MichelRottleuthner committed Aug 7, 2018
2 parents 91069e3 + 88895bb commit 6bc069e
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 15 deletions.
6 changes: 1 addition & 5 deletions drivers/hdc1000/hdc1000.c
Expand Up @@ -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;

Expand Down Expand Up @@ -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;
Expand Down
18 changes: 11 additions & 7 deletions drivers/hdc1000/include/hdc1000_params.h
Expand Up @@ -32,22 +32,26 @@ extern "C" {
* @{
*/
#ifndef HDC1000_PARAM_I2C
#define HDC1000_PARAM_I2C I2C_DEV(0)
#define HDC1000_PARAM_I2C I2C_DEV(0)
#endif
#ifndef HDC1000_PARAM_ADDR
#define HDC1000_PARAM_ADDR (HDC1000_I2C_ADDRESS)
#define HDC1000_PARAM_ADDR (HDC1000_I2C_ADDRESS)
#endif
#ifndef HDC1000_PARAM_RES
#define HDC1000_PARAM_RES HDC1000_14BIT
#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 }
#define HDC1000_PARAMS { .i2c = HDC1000_PARAM_I2C, \
.addr = HDC1000_PARAM_ADDR, \
.res = HDC1000_PARAM_RES, \
.renew_interval = HDC1000_PARAM_RENEW_INTERVAL }
#endif
#ifndef HDC1000_SAUL_INFO
#define HDC1000_SAUL_INFO { .name = "hdc1000" }
#define HDC1000_SAUL_INFO { .name = "hdc1000" }
#endif
/**@}*/

Expand Down
7 changes: 4 additions & 3 deletions drivers/include/hdc1000.h
Expand Up @@ -88,9 +88,10 @@ typedef enum {
* @brief Parameters needed for device initialization
*/
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 */
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;

/**
Expand Down

0 comments on commit 6bc069e

Please sign in to comment.