diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-06-30 17:05:11 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-06-30 17:05:11 +1000 |
| commit | 0347555d5b2314e1be58261ef29fa13a76c039e6 (patch) | |
| tree | e38879c0dc8bbf0a58057d22b26f28c0a9b86e93 /src/audio/audio_fsm.cpp | |
| parent | 9763cc955c4f3b2c2af54b61c2c5ad77afef9603 (diff) | |
| download | tangara-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.cpp | 13 |
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&) { |
