diff --git a/DHT.cpp b/DHT.cpp index c508ff0..6d2308e 100644 --- a/DHT.cpp +++ b/DHT.cpp @@ -155,6 +155,10 @@ bool DHT::read(bool force) { // Reset 40 bits of received data to zero. data[0] = data[1] = data[2] = data[3] = data[4] = 0; +#if defined(ESP8266) + yield(); // Handle WiFi / reset software watchdog +#endif + // Send start signal. See DHT datasheet for full signal diagram: // http://www.adafruit.com/datasheets/Digital%20humidity%20and%20temperature%20sensor%20AM2302.pdf diff --git a/DHT.h b/DHT.h index 2a3dccf..bff3bf3 100644 --- a/DHT.h +++ b/DHT.h @@ -67,9 +67,6 @@ class DHT { class InterruptLock { public: InterruptLock() { -#if defined(ESP8266) - yield(); -#endif #if !defined(ARDUINO_ARCH_NRF52) noInterrupts(); #endif @@ -77,9 +74,6 @@ class InterruptLock { ~InterruptLock() { #if !defined(ARDUINO_ARCH_NRF52) interrupts(); -#endif -#if defined(ESP8266) - yield(); #endif } }; diff --git a/library.properties b/library.properties index 3aaa8ce..5f0a75d 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=DHT sensor library -version=1.3.3 +version=1.3.4 author=Adafruit maintainer=Adafruit sentence=Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors