tests/driver_dht: cleanup Makefile and use auto_init

This commit is contained in:
Hauke Petersen 2016-01-21 15:31:13 +01:00
parent c46bc68ac5
commit 8048c7d14e
2 changed files with 15 additions and 42 deletions

View File

@ -1,22 +1,7 @@
APPLICATION = driver_dht
include ../Makefile.tests_common
FEATURES_REQUIRED = periph_gpio
USEMODULE += dht
USEMODULE += xtimer
# define parameters for selected boards
ifneq (,$(filter stm32f4discovery,$(BOARD)))
DHT_GPIO ?= GPIO_PIN\(4,3\)
endif
# set default device parameters in case they are undefined
DHT_GPIO ?= GPIO_PIN\(0,0\)
DHT_TYPE ?= DHT11
# export parameters
CFLAGS += -DDHT_TYPE=$(DHT_TYPE)
CFLAGS += -DDHT_GPIO=$(DHT_GPIO)
include $(RIOTBASE)/Makefile.include

View File

@ -19,46 +19,34 @@
* @}
*/
#ifndef DHT_TYPE
#error "DHT_TYPE not defined"
#endif
#ifndef DHT_GPIO
#error "DHT_GPIO not defined"
#endif
#include <stdio.h>
#include "xtimer.h"
#include "dht.h"
#include "dht_params.h"
extern dht_t dht_devs[];
int main(void)
{
dht_t dev;
dht_data_t data;
float temp, hum;
puts("DHT temperature and humidity sensor test application\n");
printf("Initializing DHT sensor at GPIO_%ld... ", (long)DHT_GPIO);
if (dht_init(&dev, DHT_TYPE, DHT_GPIO) == 0) {
puts("[OK]\n");
}
else {
puts("[Failed]");
return 1;
}
dht_data_t data;
float temp, hum;
/* periodically read temp and humidity values */
while (1) {
for (unsigned i = 0; i < DHT_NUMOF; i++) {
dht_t *dev = &dht_devs[i];
if (dht_read_raw(&dev, &data) == -1) {
puts("error reading data");
if (dht_read_raw(dev, &data) == -1) {
puts("error reading data");
}
dht_parse(dev, &data, &hum, &temp);
printf("raw relative humidity: %i\nraw temperature: %i C\n", data.humidity, data.temperature);
printf("relative humidity: %i\ntemperature: %i C\n", (int) hum, (int) temp);
xtimer_usleep(2000 * MS_IN_USEC);
}
dht_parse(&dev, &data, &hum, &temp);
printf("raw relative humidity: %i\nraw temperature: %i C\n", data.humidity, data.temperature);
printf("relative humidity: %i\ntemperature: %i C\n", (int) hum, (int) temp);
xtimer_usleep(2000 * MS_IN_USEC);
}
return 0;