diff --git a/tests/driver_dht/Makefile b/tests/driver_dht/Makefile index aed320fce1..bacc50db43 100644 --- a/tests/driver_dht/Makefile +++ b/tests/driver_dht/Makefile @@ -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 diff --git a/tests/driver_dht/main.c b/tests/driver_dht/main.c index d71d7f72b9..fdda35cd5b 100644 --- a/tests/driver_dht/main.c +++ b/tests/driver_dht/main.c @@ -19,46 +19,34 @@ * @} */ -#ifndef DHT_TYPE -#error "DHT_TYPE not defined" -#endif - -#ifndef DHT_GPIO -#error "DHT_GPIO not defined" -#endif - #include #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;