From 3a0c42f9240eedfbc6a1e94ad3a59c52664fb5b5 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 28 Aug 2023 13:26:53 +1000 Subject: Move battery measurement to its own class --- src/ui/include/screen_settings.hpp | 29 +++++++++++++++-------------- src/ui/include/ui_fsm.hpp | 8 ++++++-- 2 files changed, 21 insertions(+), 16 deletions(-) (limited to 'src/ui/include') 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 bluetooth_; - std::shared_ptr headphones_; - std::shared_ptr appearance_; - std::shared_ptr input_method_; - std::shared_ptr storage_; - std::shared_ptr firmware_update_; - std::shared_ptr about_; + + private: + std::shared_ptr bluetooth_; + std::shared_ptr headphones_; + std::shared_ptr appearance_; + std::shared_ptr input_method_; + std::shared_ptr storage_; + std::shared_ptr firmware_update_; + std::shared_ptr 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 #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 { public: - static auto Init(drivers::IGpios*, audio::TrackQueue*) -> bool; + static auto Init(drivers::IGpios*, + audio::TrackQueue*, + std::shared_ptr) -> bool; virtual ~UiState() {} @@ -41,7 +44,7 @@ class UiState : public tinyfsm::Fsm { /* 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 { static std::shared_ptr sTouchWheel; static std::shared_ptr sRelativeWheel; static std::shared_ptr sDisplay; + static std::shared_ptr sBattery; static std::weak_ptr sDb; static std::stack> sScreens; -- cgit v1.2.3