summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-02-22 11:17:48 +1100
committerjacqueline <me@jacqueline.id.au>2023-02-22 11:17:48 +1100
commite0363df454fb6da9b17ad761840692568dfd79c4 (patch)
treea41d7c7b99c8d5a7ad4324008d80c190eb7142a3 /src
parentdb01e6335abfcb7ddea4354b8a06f5127c570d48 (diff)
downloadtangara-fw-e0363df454fb6da9b17ad761840692568dfd79c4.tar.gz
Make a few init things fail less fatally
Diffstat (limited to 'src')
-rw-r--r--src/drivers/dac.cpp4
-rw-r--r--src/main/main.cpp23
2 files changed, 15 insertions, 12 deletions
diff --git a/src/drivers/dac.cpp b/src/drivers/dac.cpp
index c53c0b53..1ab562f9 100644
--- a/src/drivers/dac.cpp
+++ b/src/drivers/dac.cpp
@@ -253,7 +253,7 @@ void AudioDac::WriteRegister(Register reg, uint8_t val) {
.write_ack(reg, val)
.stop();
// TODO: Retry once?
- ESP_ERROR_CHECK(transaction.Execute());
+ transaction.Execute();
}
uint8_t AudioDac::ReadRegister(Register reg) {
@@ -267,7 +267,7 @@ uint8_t AudioDac::ReadRegister(Register reg) {
.read(&result, I2C_MASTER_NACK)
.stop();
- ESP_ERROR_CHECK(transaction.Execute());
+ transaction.Execute();
return result;
}
diff --git a/src/main/main.cpp b/src/main/main.cpp
index ddde84e3..91e17451 100644
--- a/src/main/main.cpp
+++ b/src/main/main.cpp
@@ -114,11 +114,12 @@ extern "C" void app_main(void) {
ESP_LOGI(TAG, "Init SD card");
auto storage_res = drivers::SdStorage::create(expander);
+ std::shared_ptr<drivers::SdStorage> storage;
if (storage_res.has_error()) {
- ESP_LOGE(TAG, "Failed: %d", storage_res.error());
- return;
+ ESP_LOGE(TAG, "Failed! Do you have an SD card?");
+ } else {
+ storage = std::move(storage_res.value());
}
- std::shared_ptr<drivers::SdStorage> storage = std::move(storage_res.value());
LvglArgs* lvglArgs = (LvglArgs*)calloc(1, sizeof(LvglArgs));
lvglArgs->gpio_expander = expander;
@@ -126,14 +127,16 @@ extern "C" void app_main(void) {
(void*)lvglArgs, 1, sLvglStack,
&sLvglTaskBuffer, 1);
- ESP_LOGI(TAG, "Init audio pipeline");
- auto playback_res = audio::AudioPlayback::create(expander, storage);
- if (playback_res.has_error()) {
- ESP_LOGE(TAG, "Failed: %d", playback_res.error());
- return;
+ std::shared_ptr<audio::AudioPlayback> playback;
+ if (storage) {
+ ESP_LOGI(TAG, "Init audio pipeline");
+ auto playback_res = audio::AudioPlayback::create(expander, storage);
+ if (playback_res.has_error()) {
+ ESP_LOGE(TAG, "Failed! Playback will not work.");
+ } else {
+ playback = std::move(playback_res.value());
+ }
}
- std::shared_ptr<audio::AudioPlayback> playback =
- std::move(playback_res.value());
ESP_LOGI(TAG, "Waiting for background tasks before launching console...");
vTaskDelay(pdMS_TO_TICKS(1000));