summaryrefslogtreecommitdiff
path: root/src/ui/include
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-08-28 13:26:53 +1000
committerjacqueline <me@jacqueline.id.au>2023-08-28 13:26:53 +1000
commit3a0c42f9240eedfbc6a1e94ad3a59c52664fb5b5 (patch)
tree0505db40de6fceaf5829548ef86f4cb53b739bcb /src/ui/include
parenta1327763ab70dbf4996e032dd227de368f78f4ad (diff)
downloadtangara-fw-3a0c42f9240eedfbc6a1e94ad3a59c52664fb5b5.tar.gz
Move battery measurement to its own class
Diffstat (limited to 'src/ui/include')
-rw-r--r--src/ui/include/screen_settings.hpp29
-rw-r--r--src/ui/include/ui_fsm.hpp8
2 files changed, 21 insertions, 16 deletions
diff --git a/src/ui/include/screen_settings.hpp b/src/ui/include/screen_settings.hpp
index ebc5bf7d..66124164 100644
--- a/src/ui/include/screen_settings.hpp
+++ b/src/ui/include/screen_settings.hpp
@@ -21,14 +21,15 @@ class Settings : public MenuScreen {
public:
Settings();
~Settings();
- private:
- std::shared_ptr<Screen> bluetooth_;
- std::shared_ptr<Screen> headphones_;
- std::shared_ptr<Screen> appearance_;
- std::shared_ptr<Screen> input_method_;
- std::shared_ptr<Screen> storage_;
- std::shared_ptr<Screen> firmware_update_;
- std::shared_ptr<Screen> about_;
+
+ private:
+ std::shared_ptr<Screen> bluetooth_;
+ std::shared_ptr<Screen> headphones_;
+ std::shared_ptr<Screen> appearance_;
+ std::shared_ptr<Screen> input_method_;
+ std::shared_ptr<Screen> storage_;
+ std::shared_ptr<Screen> firmware_update_;
+ std::shared_ptr<Screen> about_;
};
class Bluetooth : public MenuScreen {
@@ -36,32 +37,32 @@ class Bluetooth : public MenuScreen {
Bluetooth();
};
-class Headphones : public MenuScreen {
+class Headphones : public MenuScreen {
public:
Headphones();
};
-class Appearance : public MenuScreen {
+class Appearance : public MenuScreen {
public:
Appearance();
};
-class InputMethod : public MenuScreen {
+class InputMethod : public MenuScreen {
public:
InputMethod();
};
-class Storage : public MenuScreen {
+class Storage : public MenuScreen {
public:
Storage();
};
-class FirmwareUpdate : public MenuScreen {
+class FirmwareUpdate : public MenuScreen {
public:
FirmwareUpdate();
};
-class About : public MenuScreen {
+class About : public MenuScreen {
public:
About();
};
diff --git a/src/ui/include/ui_fsm.hpp b/src/ui/include/ui_fsm.hpp
index 80c01c68..8f1aa1bc 100644
--- a/src/ui/include/ui_fsm.hpp
+++ b/src/ui/include/ui_fsm.hpp
@@ -10,6 +10,7 @@
#include <stack>
#include "audio_events.hpp"
+#include "battery.hpp"
#include "relative_wheel.hpp"
#include "screen_playing.hpp"
#include "tinyfsm.hpp"
@@ -27,7 +28,9 @@ namespace ui {
class UiState : public tinyfsm::Fsm<UiState> {
public:
- static auto Init(drivers::IGpios*, audio::TrackQueue*) -> bool;
+ static auto Init(drivers::IGpios*,
+ audio::TrackQueue*,
+ std::shared_ptr<battery::Battery>) -> bool;
virtual ~UiState() {}
@@ -41,7 +44,7 @@ class UiState : public tinyfsm::Fsm<UiState> {
/* Fallback event handler. Does nothing. */
void react(const tinyfsm::Event& ev) {}
- void react(const system_fsm::BatteryPercentChanged&);
+ void react(const system_fsm::BatteryStateChanged&);
virtual void react(const audio::PlaybackStarted&) {}
virtual void react(const audio::PlaybackUpdate&) {}
@@ -76,6 +79,7 @@ class UiState : public tinyfsm::Fsm<UiState> {
static std::shared_ptr<drivers::TouchWheel> sTouchWheel;
static std::shared_ptr<drivers::RelativeWheel> sRelativeWheel;
static std::shared_ptr<drivers::Display> sDisplay;
+ static std::shared_ptr<battery::Battery> sBattery;
static std::weak_ptr<database::Database> sDb;
static std::stack<std::shared_ptr<Screen>> sScreens;