From 8ff93f5467b0eef54d18b35d742de05c8a63da9a Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 28 Aug 2023 10:18:02 +1000 Subject: Make idle state more robust + check playback state --- src/audio/audio_fsm.cpp | 2 ++ src/audio/include/audio_events.hpp | 2 ++ 2 files changed, 4 insertions(+) (limited to 'src/audio') diff --git a/src/audio/audio_fsm.cpp b/src/audio/audio_fsm.cpp index e68eedaf..cd36b398 100644 --- a/src/audio/audio_fsm.cpp +++ b/src/audio/audio_fsm.cpp @@ -144,6 +144,8 @@ void Playback::exit() { // to drain. vTaskDelay(pdMS_TO_TICKS(250)); sOutput->SetInUse(false); + + events::System().Dispatch(PlaybackFinished{}); } void Playback::react(const QueueUpdate& ev) { diff --git a/src/audio/include/audio_events.hpp b/src/audio/include/audio_events.hpp index 28e29863..1d3690a4 100644 --- a/src/audio/include/audio_events.hpp +++ b/src/audio/include/audio_events.hpp @@ -25,6 +25,8 @@ struct PlaybackUpdate : tinyfsm::Event { uint32_t seconds_total; }; +struct PlaybackFinished : tinyfsm::Event {}; + struct QueueUpdate : tinyfsm::Event { bool current_changed; }; -- cgit v1.2.3