tests/driver_hdc1000: adapted to driver changes

pr/spi.typo
Hauke Petersen 6 years ago
parent 924ea48695
commit 89c7c30a7f

@ -5,13 +5,6 @@ FEATURES_REQUIRED = periph_i2c
USEMODULE += hdc1000
USEMODULE += xtimer
# set default device parameters in case they are undefined
TEST_HDC1000_I2C ?= I2C_DEV\(0\)
TEST_HDC1000_ADDR ?= 0x43
# export parameters
CFLAGS += -DTEST_HDC1000_I2C=$(TEST_HDC1000_I2C)
CFLAGS += -DTEST_HDC1000_ADDR=$(TEST_HDC1000_ADDR)
USEMODULE += fmt
include $(RIOTBASE)/Makefile.include

@ -2,10 +2,14 @@
This is a manual test application for the HDC1000 driver.
# Usage
This test application will initialize the HDC1000 sensor with the following parameters:
- Temperature and humidity are acquired in sequence
- Temperature measurement resolution 14 bit
- Humidity measurement resolution 14 bit
This test application will initialize the HDC1000 sensor with the configuration
as specified in the default `hdc1000_params.h` file (i.e. 14-bit resolution).
After initialization, the sensor reads the temperature and humidity values every 1s
and prints them to STDOUT.
If you want to use this test application with different parameters, you can
simply override the default settings on the command line like this:
```
CFLAGS="-DHDC1000_PARAM_I2C=I2C_DEV\(1\) -DHDC1000_PARAM_RES=HDC1000_11BIT" make
```
After initialization, the sensor reads the temperature and humidity values every
second and prints them to STDOUT.

@ -1,5 +1,5 @@
/*
* Copyright (C) 2014 Freie Universität Berlin
* Copyright (C) 2014-2017 Freie Universität Berlin
* Copyright (C) 2014 PHYTEC Messtechnik GmbH
*
* This file is subject to the terms and conditions of the GNU Lesser
@ -8,11 +8,11 @@
*/
/**
* @ingroup tests
* @ingroup tests
* @{
*
* @file
* @brief Test application for the HDC1000 sensor driver.
* @brief Test application for the HDC1000 sensor driver
*
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
* @author Johann Fischer <j.fischer@phytec.de>
@ -20,51 +20,44 @@
* @}
*/
#ifndef TEST_HDC1000_I2C
#error "TEST_HDC1000_I2C not defined"
#endif
#ifndef TEST_HDC1000_ADDR
#error "TEST_HDC1000_ADDR not defined"
#endif
#include <stdio.h>
#include "fmt.h"
#include "xtimer.h"
#include "hdc1000.h"
#include "hdc1000_params.h"
#define SLEEP (1000 * 1000U)
int main(void)
{
hdc1000_t dev;
uint16_t rawtemp, rawhum;
int temp, hum;
int16_t temp, hum;
size_t len;
char tstr[8];
char hstr[8];
puts("HDC1000 Temperature and Humidity Sensor driver test application\n");
printf("Initializing HDC1000 sensor at I2C_%i... ", TEST_HDC1000_I2C);
if (hdc1000_init(&dev, TEST_HDC1000_I2C, TEST_HDC1000_ADDR) == 0) {
printf("Initializing HDC1000 sensor at I2C_DEV(%i)... ",
(int)hdc1000_params[0].i2c);
if (hdc1000_init(&dev, &hdc1000_params[0]) == HDC1000_OK) {
puts("[OK]\n");
}
else {
puts("[Failed]");
return -1;
return 1;
}
while (1) {
if (hdc1000_startmeasure(&dev)) {
puts("Start measure failed.");
return -1;
}
xtimer_usleep(HDC1000_CONVERSION_TIME);
hdc1000_read(&dev, &rawtemp, &rawhum);
printf("Raw data T: %5i RH: %5i\n", rawtemp, rawhum);
hdc1000_read(&dev, &temp, &hum);
hdc1000_convert(rawtemp, rawhum, &temp, &hum);
printf("Data T: %d RH: %d\n", temp, hum);
len = fmt_s16_dfp(tstr, temp, 2);
tstr[len] = '\0';
len = fmt_s16_dfp(hstr, hum, 2);
hstr[len] = '\0';
printf("Reading: T: %s °C RH: %s %%\n", tstr, hstr);
xtimer_usleep(SLEEP);
}
return 0;

Loading…
Cancel
Save