1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

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

@ -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
/**@}*/

View File

@ -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;
/**