diff options
Diffstat (limited to 'src/system_fsm/include')
| -rw-r--r-- | src/system_fsm/include/system_events.hpp | 1 | ||||
| -rw-r--r-- | src/system_fsm/include/system_fsm.hpp | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/system_fsm/include/system_events.hpp b/src/system_fsm/include/system_events.hpp index a363887e..32394958 100644 --- a/src/system_fsm/include/system_events.hpp +++ b/src/system_fsm/include/system_events.hpp @@ -76,6 +76,7 @@ struct GpioInterrupt : tinyfsm::Event {}; struct SamdInterrupt : tinyfsm::Event {}; struct IdleTimeout : tinyfsm::Event {}; +struct UnmountTimeout : tinyfsm::Event {}; } // namespace internal diff --git a/src/system_fsm/include/system_fsm.hpp b/src/system_fsm/include/system_fsm.hpp index 5a0ea599..cc60e43b 100644 --- a/src/system_fsm/include/system_fsm.hpp +++ b/src/system_fsm/include/system_fsm.hpp @@ -63,8 +63,9 @@ class SystemState : public tinyfsm::Fsm<SystemState> { virtual void react(const SdDetectChanged&) {} virtual void react(const SamdUsbMscChanged&) {} virtual void react(const database::event::UpdateFinished&) {} - virtual void react(const audio::PlaybackFinished&) {} + virtual void react(const audio::PlaybackStopped&) {} virtual void react(const internal::IdleTimeout&) {} + virtual void react(const internal::UnmountTimeout&) {} protected: auto IdleCondition() -> bool; @@ -100,13 +101,16 @@ class Running : public SystemState { void react(const KeyLockChanged&) override; void react(const SdDetectChanged&) override; - void react(const audio::PlaybackFinished&) override; + void react(const audio::PlaybackStopped&) override; void react(const database::event::UpdateFinished&) override; void react(const SamdUsbMscChanged&) override; + void react(const internal::UnmountTimeout&) override; using SystemState::react; private: + auto checkIdle() -> void; + auto mountStorage() -> bool; auto unmountStorage() -> void; |
