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 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 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 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 playback = - std::move(playback_res.value()); ESP_LOGI(TAG, "Waiting for background tasks before launching console..."); vTaskDelay(pdMS_TO_TICKS(1000));