summaryrefslogtreecommitdiff
path: root/src/system_fsm
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-08-01 12:13:48 +1000
committerjacqueline <me@jacqueline.id.au>2023-08-01 12:13:48 +1000
commit955a8ce303a9f8fd6a34009934e3d7aaeff3ec17 (patch)
tree18d5783a5c7be0a3e08e6ff0ea595432bc380761 /src/system_fsm
parentd41de537a0e31e1c5ad18b5024c781f6e4a07bbb (diff)
downloadtangara-fw-955a8ce303a9f8fd6a34009934e3d7aaeff3ec17.tar.gz
Basic nvs init + bluetooth in the build
Diffstat (limited to 'src/system_fsm')
-rw-r--r--src/system_fsm/booting.cpp4
-rw-r--r--src/system_fsm/include/system_fsm.hpp2
-rw-r--r--src/system_fsm/system_fsm.cpp1
3 files changed, 6 insertions, 1 deletions
diff --git a/src/system_fsm/booting.cpp b/src/system_fsm/booting.cpp
index 4686748e..3d6c6a46 100644
--- a/src/system_fsm/booting.cpp
+++ b/src/system_fsm/booting.cpp
@@ -13,6 +13,7 @@
#include "event_queue.hpp"
#include "gpios.hpp"
#include "lvgl/lvgl.h"
+#include "nvs.hpp"
#include "relative_wheel.hpp"
#include "spi.hpp"
#include "system_events.hpp"
@@ -50,9 +51,10 @@ auto Booting::entry() -> void {
ESP_LOGI(kTag, "installing remaining drivers");
sSamd.reset(drivers::Samd::Create());
sBattery.reset(drivers::Battery::Create());
+ sNvs.reset(drivers::NvsStorage::Open());
sTagParser.reset(new database::TagParserImpl());
- if (!sSamd || !sBattery) {
+ if (!sSamd || !sBattery || !sNvs) {
events::System().Dispatch(FatalError{});
events::Ui().Dispatch(FatalError{});
return;
diff --git a/src/system_fsm/include/system_fsm.hpp b/src/system_fsm/include/system_fsm.hpp
index 6f0eb563..dc188780 100644
--- a/src/system_fsm/include/system_fsm.hpp
+++ b/src/system_fsm/include/system_fsm.hpp
@@ -16,6 +16,7 @@
#include "relative_wheel.hpp"
#include "samd.hpp"
#include "storage.hpp"
+#include "nvs.hpp"
#include "tag_parser.hpp"
#include "tinyfsm.hpp"
#include "touchwheel.hpp"
@@ -54,6 +55,7 @@ class SystemState : public tinyfsm::Fsm<SystemState> {
protected:
static std::shared_ptr<drivers::Gpios> sGpios;
static std::shared_ptr<drivers::Samd> sSamd;
+ static std::shared_ptr<drivers::NvsStorage> sNvs;
static std::shared_ptr<drivers::TouchWheel> sTouch;
static std::shared_ptr<drivers::RelativeWheel> sRelativeTouch;
diff --git a/src/system_fsm/system_fsm.cpp b/src/system_fsm/system_fsm.cpp
index 5f85d43c..527a8770 100644
--- a/src/system_fsm/system_fsm.cpp
+++ b/src/system_fsm/system_fsm.cpp
@@ -17,6 +17,7 @@ namespace system_fsm {
std::shared_ptr<drivers::Gpios> SystemState::sGpios;
std::shared_ptr<drivers::Samd> SystemState::sSamd;
+std::shared_ptr<drivers::NvsStorage> SystemState::sNvs;
std::shared_ptr<drivers::TouchWheel> SystemState::sTouch;
std::shared_ptr<drivers::RelativeWheel> SystemState::sRelativeTouch;