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) {
|
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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user