summaryrefslogtreecommitdiff
path: root/src/audio/audio_fsm.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-06-30 17:05:11 +1000
committerjacqueline <me@jacqueline.id.au>2023-06-30 17:05:11 +1000
commit0347555d5b2314e1be58261ef29fa13a76c039e6 (patch)
treee38879c0dc8bbf0a58057d22b26f28c0a9b86e93 /src/audio/audio_fsm.cpp
parent9763cc955c4f3b2c2af54b61c2c5ad77afef9603 (diff)
downloadtangara-fw-0347555d5b2314e1be58261ef29fa13a76c039e6.tar.gz
Start on converting gpio expander interupts to fsm events
Diffstat (limited to 'src/audio/audio_fsm.cpp')
-rw-r--r--src/audio/audio_fsm.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/audio/audio_fsm.cpp b/src/audio/audio_fsm.cpp
index ffd0d5c3..1f4f1f44 100644
--- a/src/audio/audio_fsm.cpp
+++ b/src/audio/audio_fsm.cpp
@@ -11,6 +11,7 @@
#include "audio_decoder.hpp"
#include "audio_events.hpp"
#include "audio_task.hpp"
+#include "event_queue.hpp"
#include "fatfs_audio_input.hpp"
#include "i2s_audio_output.hpp"
#include "i2s_dac.hpp"
@@ -65,6 +66,18 @@ void AudioState::react(const system_fsm::StorageMounted& ev) {
sDatabase = ev.db;
}
+void AudioState::react(const system_fsm::KeyUpChanged& ev) {
+ if (ev.falling && sI2SOutput->AdjustVolumeUp()) {
+ events::Dispatch<VolumeChanged, ui::UiState>({});
+ }
+}
+
+void AudioState::react(const system_fsm::KeyDownChanged& ev) {
+ if (ev.falling && sI2SOutput->AdjustVolumeDown()) {
+ events::Dispatch<VolumeChanged, ui::UiState>({});
+ }
+}
+
namespace states {
void Uninitialised::react(const system_fsm::BootComplete&) {