I think just being completely flexible about the setup timings just works

I wonder if I put too much trust into the datasheet? I don't know
This commit is contained in:
2023-10-31 21:13:21 +00:00
parent 36041e63d2
commit 6a3e39342e

View File

@@ -76,10 +76,10 @@ dht22_error dht22_read() {
if (elapsed_time == DHT22_TIMEOUT_ERROR) { if (elapsed_time == DHT22_TIMEOUT_ERROR) {
portENABLE_INTERRUPTS(); portENABLE_INTERRUPTS();
return DHT22_TIMEOUT_ERROR; return DHT22_TIMEOUT_ERROR;
} else if (elapsed_time > 40) { } /*else if (elapsed_time > 50) {
portENABLE_INTERRUPTS(); portENABLE_INTERRUPTS();
return DHT22_TIMING_ERROR; return DHT22_TIMING_ERROR;
} }*/
/* /*
* From datasheet: * From datasheet:
@@ -91,19 +91,19 @@ dht22_error dht22_read() {
if (elapsed_time == DHT22_TIMEOUT_ERROR) { if (elapsed_time == DHT22_TIMEOUT_ERROR) {
portENABLE_INTERRUPTS(); portENABLE_INTERRUPTS();
return DHT22_TIMEOUT_ERROR; return DHT22_TIMEOUT_ERROR;
} else if (elapsed_time < 70 || elapsed_time > 90) { } /*else if (elapsed_time < 50 || elapsed_time > 110) {
portENABLE_INTERRUPTS(); portENABLE_INTERRUPTS();
return DHT22_TIMING_ERROR; return DHT22_TIMING_ERROR;
} }*/
elapsed_time = wait_for_signal_to_change_from(1); elapsed_time = wait_for_signal_to_change_from(1);
if (elapsed_time == DHT22_TIMEOUT_ERROR) { if (elapsed_time == DHT22_TIMEOUT_ERROR) {
portENABLE_INTERRUPTS(); portENABLE_INTERRUPTS();
return DHT22_TIMEOUT_ERROR; return DHT22_TIMEOUT_ERROR;
} else if (elapsed_time < 70 || elapsed_time > 90) { } /*else if (elapsed_time < 50 || elapsed_time > 110) {
portENABLE_INTERRUPTS(); portENABLE_INTERRUPTS();
return DHT22_TIMING_ERROR; return DHT22_TIMING_ERROR;
} }*/
/* /*
* From datasheet: * From datasheet:
@@ -116,7 +116,7 @@ dht22_error dht22_read() {
for (uint8_t i = 0; i < 40; i++) { for (uint8_t i = 0; i < 40; i++) {
elapsed_time = wait_for_signal_to_change_from(0); elapsed_time = wait_for_signal_to_change_from(0);
if (elapsed_time == DHT22_TIMEOUT_ERROR || elapsed_time < 30 || if (elapsed_time == DHT22_TIMEOUT_ERROR || elapsed_time < 30 ||
elapsed_time > 70) { elapsed_time > 80) {
portENABLE_INTERRUPTS(); portENABLE_INTERRUPTS();
return DHT22_TIMEOUT_ERROR; return DHT22_TIMEOUT_ERROR;
} }