Added a random error checking function

Not actually sure I'll use it?
This commit is contained in:
2023-10-25 22:11:04 +01:00
parent ce0de58466
commit e8c1dc0647
3 changed files with 18 additions and 5 deletions

View File

@@ -12,6 +12,15 @@ static const char* TAG = "DHT22";
deci_percent _dht22_relative_humidity = UINT16_MAX;
deci_degrees_c _dht22_temperature = INT16_MIN;
void dht22_handle_error(dht22_error e) {
if (e == DHT22_OK) {
ESP_LOGI(TAG, "No errors reading DHT22 value");
} else if (e == DHT22_CHECKSUM_ERROR) {
ESP_LOGE(TAG, "Error calculating checksum");
} else if (e == DHT22_TIMING_ERROR) {
ESP_LOGE(TAG, "Timing error while obtaining data");
}
}
dht22_error dht22_read() {
uint8_t data[5] = {0};
@@ -28,7 +37,6 @@ dht22_error dht22_read() {
if (checksum_val != data[4]) {
_dht22_relative_humidity = UINT16_MAX;
_dht22_temperature = INT16_MIN;
ESP_LOGE(TAG, "Error in final checksum check");
return DHT22_CHECKSUM_ERROR;
}

View File

@@ -11,6 +11,7 @@ typedef enum {
typedef uint16_t deci_percent;
typedef int16_t deci_degrees_c;
void dht22_handle_error();
deci_percent dht22_relative_humidity();
deci_degrees_c dht22_temperature();
dht22_error dht22_read();