# HG changeset patch # User Michiel Broek # Date 1711363485 -3600 # Node ID 64cfc01ec02402815500ffe96c527acbee87bbd1 # Parent 62c5ed1b9cfdac03e594fc9e37fb8f8ba62f1be0 Version 0.9.16. Final changes DHT11 reading via sysfs. diff -r 62c5ed1b9cfd -r 64cfc01ec024 configure --- a/configure Sun Mar 24 17:12:23 2024 +0100 +++ b/configure Mon Mar 25 11:44:45 2024 +0100 @@ -2037,7 +2037,7 @@ PACKAGE="mbsePi-apps" -VERSION="0.9.15" +VERSION="0.9.16" COPYRIGHT="Copyright (C) 2014-2024 Michiel Broek, All Rights Reserved" CYEARS="2014-2024" diff -r 62c5ed1b9cfd -r 64cfc01ec024 configure.ac --- a/configure.ac Sun Mar 24 17:12:23 2024 +0100 +++ b/configure.ac Mon Mar 25 11:44:45 2024 +0100 @@ -8,7 +8,7 @@ dnl General settings dnl After changeing the version number, run autoconf! PACKAGE="mbsePi-apps" -VERSION="0.9.15" +VERSION="0.9.16" COPYRIGHT="Copyright (C) 2014-2024 Michiel Broek, All Rights Reserved" CYEARS="2014-2024" AC_SUBST(PACKAGE) diff -r 62c5ed1b9cfd -r 64cfc01ec024 thermferm/devices.c --- a/thermferm/devices.c Sun Mar 24 17:12:23 2024 +0100 +++ b/thermferm/devices.c Mon Mar 25 11:44:45 2024 +0100 @@ -77,9 +77,12 @@ /* * The sensor is gone. */ + err = errno; + syslog(LOG_NOTICE, "DHT11 open temperature: %d %s", err, strerror(err)); free(dhtpath); dht11_state = DEVPRESENT_NO; - break; + goto retry; +// break; } rc = read(fd, buffer, 25); if (rc == -1) { @@ -94,7 +97,6 @@ dht11_temperature = -1; } else { sscanf(buffer, "%d", &temp); - syslog(LOG_NOTICE, "read temp rc=%d %f", rc, temp / 1000.0); dht11_temperature = temp; dht11_state = DEVPRESENT_YES; } @@ -124,7 +126,6 @@ dht11_humidity = -1; } else { sscanf(buffer, "%d", &hum); - syslog(LOG_NOTICE, "read hum rc=%d %f", rc, hum / 1000.0); dht11_humidity = hum; dht11_state = DEVPRESENT_YES; } @@ -136,8 +137,11 @@ if (dht11_state == DEVPRESENT_YES) { break; } - if (tries > 0) +retry: + if (tries > 0) { tries--; + usleep(400000); + } } syslog(LOG_NOTICE, "dht11 t:%d h:%d tries:%d state:%d", dht11_temperature, dht11_humidity, 6-tries, dht11_state);