Add app.dht_gpio flag to find DHT sensors
Parse this comma separated string to find GPIO pins on which we must enable DHT sensors. Seperators are space and comma. Can be empty, single GPIO pins, or a list: app.dht_gpio="" app.dht_gpio="5" app.dht_gpio="5,4,14" app.dht_gpio="5 4 14" app.dht_gpio="5, 4 14"
This commit is contained in:
16
src/dht.c
16
src/dht.c
@ -3,6 +3,7 @@
|
||||
#ifdef MGOS_HAVE_DHT
|
||||
#include "main.h"
|
||||
#include "mgos_dht.h"
|
||||
#include "mgos_config.h"
|
||||
#include "mqtt.h"
|
||||
|
||||
#define MAX_DHT 8
|
||||
@ -44,12 +45,17 @@ static bool dht_create(int pin, enum dht_type type) {
|
||||
}
|
||||
|
||||
void dht_init() {
|
||||
char *tok;
|
||||
|
||||
memset(s_dht, 0, sizeof (struct mgos_dht *) * MAX_DHT);
|
||||
dht_create(5, AM2302);
|
||||
mgos_msleep(250);
|
||||
dht_create(4, AM2302);
|
||||
mgos_msleep(250);
|
||||
dht_create(14, AM2302);
|
||||
tok = strtok((char *)mgos_sys_config_get_app_dht_gpio(), ", ");
|
||||
while (tok) {
|
||||
int gpio;
|
||||
gpio = atoi(tok);
|
||||
tok=strtok(NULL, ", ");
|
||||
dht_create(gpio, AM2302);
|
||||
mgos_msleep(250);
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
Reference in New Issue
Block a user