diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-09-13 10:09:04 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-09-13 10:09:04 +1000 |
| commit | 0ea358ab8157d743dc07f12bde5fb34d03a02522 (patch) | |
| tree | fade7a837b75f94df95ac2a00a0775353179155d /src/system_fsm/running.cpp | |
| parent | b0aa9ab391143a8139373e42ea95ccb6ed14ce60 (diff) | |
| download | tangara-fw-0ea358ab8157d743dc07f12bde5fb34d03a02522.tar.gz | |
Make the onboarding flow basically work. Much still to do!
Diffstat (limited to 'src/system_fsm/running.cpp')
| -rw-r--r-- | src/system_fsm/running.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/system_fsm/running.cpp b/src/system_fsm/running.cpp index e42429e7..70b4e99c 100644 --- a/src/system_fsm/running.cpp +++ b/src/system_fsm/running.cpp @@ -35,6 +35,15 @@ void Running::entry() { auto storage_res = drivers::SdStorage::Create(sServices->gpios()); if (storage_res.has_error()) { ESP_LOGW(kTag, "failed to mount!"); + switch (storage_res.error()) { + case drivers::SdStorage::FAILED_TO_MOUNT: + sServices->sd(drivers::SdState::kNotFormatted); + break; + case drivers::SdStorage::FAILED_TO_READ: + default: + sServices->sd(drivers::SdState::kNotPresent); + break; + } events::System().Dispatch(StorageError{}); events::Audio().Dispatch(StorageError{}); @@ -42,6 +51,7 @@ void Running::entry() { return; } sStorage.reset(storage_res.value()); + sServices->sd(drivers::SdState::kMounted); ESP_LOGI(kTag, "opening database"); sFileGatherer = new database::FileGathererImpl(); |
