diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-08-28 10:18:02 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-08-28 10:18:02 +1000 |
| commit | 8ff93f5467b0eef54d18b35d742de05c8a63da9a (patch) | |
| tree | ca0215b64d1a779a69c30b71f8d7870f5aa3dbcb /src/system_fsm/include | |
| parent | 0f5cf25e73fb2e789b472317966ff80323dddd75 (diff) | |
| download | tangara-fw-8ff93f5467b0eef54d18b35d742de05c8a63da9a.tar.gz | |
Make idle state more robust + check playback state
Diffstat (limited to 'src/system_fsm/include')
| -rw-r--r-- | src/system_fsm/include/system_fsm.hpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/system_fsm/include/system_fsm.hpp b/src/system_fsm/include/system_fsm.hpp index 6baceca1..a556be9e 100644 --- a/src/system_fsm/include/system_fsm.hpp +++ b/src/system_fsm/include/system_fsm.hpp @@ -9,6 +9,7 @@ #include <memory> #include "app_console.hpp" +#include "audio_events.hpp" #include "battery.hpp" #include "bluetooth.hpp" #include "database.hpp" @@ -54,9 +55,12 @@ class SystemState : public tinyfsm::Fsm<SystemState> { virtual void react(const StorageMounted&) {} virtual void react(const StorageError&) {} virtual void react(const KeyLockChanged&) {} + virtual void react(const audio::PlaybackFinished&) {} virtual void react(const internal::IdleTimeout&) {} protected: + auto IdleCondition() -> bool; + static std::shared_ptr<drivers::Gpios> sGpios; static std::shared_ptr<drivers::Samd> sSamd; static std::shared_ptr<drivers::NvsStorage> sNvs; @@ -101,6 +105,8 @@ class Running : public SystemState { void react(const KeyLockChanged&) override; void react(const StorageError&) override; + void react(const audio::PlaybackFinished&) override; + using SystemState::react; }; |
