summaryrefslogtreecommitdiff
path: root/src/drivers/dac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/dac.cpp')
-rw-r--r--src/drivers/dac.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/drivers/dac.cpp b/src/drivers/dac.cpp
index 2abb361e..96a204a7 100644
--- a/src/drivers/dac.cpp
+++ b/src/drivers/dac.cpp
@@ -125,7 +125,12 @@ std::pair<bool, AudioDac::PowerState> AudioDac::ReadPowerState() {
.read(&result, I2C_MASTER_NACK)
.stop();
- ESP_ERROR_CHECK(transaction.Execute());
+ esp_err_t err = transaction.Execute();
+ if (err == ESP_ERR_TIMEOUT) {
+ return std::pair(false, POWERDOWN);
+ } else {
+ }
+ ESP_ERROR_CHECK(err);
bool is_booted = result >> 7;
PowerState detail = (PowerState)(result & 0b1111);
@@ -143,7 +148,7 @@ bool AudioDac::WaitForPowerState(
} else {
ESP_LOGI(kTag, "Waiting for power state (was %d 0x%x)", result.first,
(uint8_t)result.second);
- vTaskDelay(pdMS_TO_TICKS(1));
+ vTaskDelay(pdMS_TO_TICKS(250));
}
}
return has_matched;