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