diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-06-16 13:14:45 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-06-16 13:14:45 +1000 |
| commit | 5b7b88420b169d1dfdeea6d082762fccefbc7d49 (patch) | |
| tree | e5bc4a44088a9ac62e1628ffa3265f4819c3c979 /src/system_fsm | |
| parent | c6bb42cdd21b63accd20012373a8a0e41d8566f5 (diff) | |
| download | tangara-fw-5b7b88420b169d1dfdeea6d082762fccefbc7d49.tar.gz | |
Fix issues with importing my entire library
Diffstat (limited to 'src/system_fsm')
| -rw-r--r-- | src/system_fsm/booting.cpp | 4 | ||||
| -rw-r--r-- | src/system_fsm/include/system_fsm.hpp | 5 | ||||
| -rw-r--r-- | src/system_fsm/running.cpp | 4 | ||||
| -rw-r--r-- | src/system_fsm/system_fsm.cpp | 2 |
4 files changed, 9 insertions, 6 deletions
diff --git a/src/system_fsm/booting.cpp b/src/system_fsm/booting.cpp index 1ad8c02d..1e1b2959 100644 --- a/src/system_fsm/booting.cpp +++ b/src/system_fsm/booting.cpp @@ -27,8 +27,6 @@ namespace states { static const char kTag[] = "BOOT"; -console::AppConsole* Booting::sAppConsole; - auto Booting::entry() -> void { ESP_LOGI(kTag, "beginning tangara boot"); ESP_LOGI(kTag, "installing early drivers"); @@ -78,7 +76,7 @@ auto Booting::entry() -> void { auto Booting::exit() -> void { // TODO(jacqueline): Gate this on something. Debug flag? Flashing mode? - sAppConsole = new console::AppConsole(sDatabase); + sAppConsole = new console::AppConsole(); sAppConsole->Launch(); } diff --git a/src/system_fsm/include/system_fsm.hpp b/src/system_fsm/include/system_fsm.hpp index 89cdcf47..037c0a0e 100644 --- a/src/system_fsm/include/system_fsm.hpp +++ b/src/system_fsm/include/system_fsm.hpp @@ -56,6 +56,8 @@ class SystemState : public tinyfsm::Fsm<SystemState> { static std::shared_ptr<drivers::SdStorage> sStorage; static std::shared_ptr<drivers::Display> sDisplay; static std::shared_ptr<database::Database> sDatabase; + + static console::AppConsole* sAppConsole; }; namespace states { @@ -65,9 +67,6 @@ namespace states { * looks good. */ class Booting : public SystemState { - private: - static console::AppConsole* sAppConsole; - public: void entry() override; void exit() override; diff --git a/src/system_fsm/running.cpp b/src/system_fsm/running.cpp index 9116ec9d..f9ff6140 100644 --- a/src/system_fsm/running.cpp +++ b/src/system_fsm/running.cpp @@ -4,6 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-only */ +#include "app_console.hpp" #include "freertos/projdefs.h" #include "result.hpp" @@ -28,6 +29,7 @@ void Running::entry() { vTaskDelay(pdMS_TO_TICKS(250)); auto storage_res = drivers::SdStorage::Create(sGpioExpander.get()); if (storage_res.has_error()) { + ESP_LOGW(kTag, "failed to mount!"); events::Dispatch<StorageError, SystemState, audio::AudioState, ui::UiState>( StorageError()); return; @@ -38,11 +40,13 @@ void Running::entry() { ESP_LOGI(kTag, "opening database"); auto database_res = database::Database::Open(); if (database_res.has_error()) { + ESP_LOGW(kTag, "failed to open!"); events::Dispatch<StorageError, SystemState, audio::AudioState, ui::UiState>( StorageError()); return; } sDatabase.reset(database_res.value()); + console::AppConsole::sDatabase = sDatabase; ESP_LOGI(kTag, "storage loaded okay"); events::Dispatch<StorageMounted, SystemState, audio::AudioState, ui::UiState>( diff --git a/src/system_fsm/system_fsm.cpp b/src/system_fsm/system_fsm.cpp index bcab298c..c59c0908 100644 --- a/src/system_fsm/system_fsm.cpp +++ b/src/system_fsm/system_fsm.cpp @@ -20,6 +20,8 @@ std::shared_ptr<drivers::SdStorage> SystemState::sStorage; std::shared_ptr<drivers::Display> SystemState::sDisplay; std::shared_ptr<database::Database> SystemState::sDatabase; +console::AppConsole* SystemState::sAppConsole; + void SystemState::react(const FatalError& err) { if (!is_in_state<states::Error>()) { transit<states::Error>(); |
