diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-02-22 11:17:48 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-02-22 11:17:48 +1100 |
| commit | e0363df454fb6da9b17ad761840692568dfd79c4 (patch) | |
| tree | a41d7c7b99c8d5a7ad4324008d80c190eb7142a3 /src/main | |
| parent | db01e6335abfcb7ddea4354b8a06f5127c570d48 (diff) | |
| download | tangara-fw-e0363df454fb6da9b17ad761840692568dfd79c4.tar.gz | |
Make a few init things fail less fatally
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/main.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
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)); |
