From ec28b36a447e1a78f2512cc8f3fe579c7ad191d2 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Fri, 30 Jun 2023 21:01:25 +1000 Subject: gpio expander pin change -> event! --- src/audio/audio_fsm.cpp | 12 ++++++++++++ src/audio/include/audio_fsm.hpp | 1 + 2 files changed, 13 insertions(+) (limited to 'src/audio') diff --git a/src/audio/audio_fsm.cpp b/src/audio/audio_fsm.cpp index 36133626..805dffc4 100644 --- a/src/audio/audio_fsm.cpp +++ b/src/audio/audio_fsm.cpp @@ -11,11 +11,13 @@ #include "audio_decoder.hpp" #include "audio_events.hpp" #include "audio_task.hpp" +#include "esp_log.h" #include "event_queue.hpp" #include "fatfs_audio_input.hpp" #include "i2s_audio_output.hpp" #include "i2s_dac.hpp" #include "pipeline.hpp" +#include "system_events.hpp" #include "track.hpp" namespace audio { @@ -66,16 +68,26 @@ void AudioState::react(const system_fsm::StorageMounted& ev) { void AudioState::react(const system_fsm::KeyUpChanged& ev) { if (ev.falling && sI2SOutput->AdjustVolumeUp()) { + ESP_LOGI(kTag, "volume up!"); events::Dispatch({}); } } void AudioState::react(const system_fsm::KeyDownChanged& ev) { if (ev.falling && sI2SOutput->AdjustVolumeDown()) { + ESP_LOGI(kTag, "volume down!"); events::Dispatch({}); } } +void AudioState::react(const system_fsm::HasPhonesChanged& ev) { + if (ev.falling) { + ESP_LOGI(kTag, "headphones in!"); + } else { + ESP_LOGI(kTag, "headphones out!"); + } +} + namespace states { void Uninitialised::react(const system_fsm::BootComplete&) { diff --git a/src/audio/include/audio_fsm.hpp b/src/audio/include/audio_fsm.hpp index 1a52375b..dadbd072 100644 --- a/src/audio/include/audio_fsm.hpp +++ b/src/audio/include/audio_fsm.hpp @@ -42,6 +42,7 @@ class AudioState : public tinyfsm::Fsm { void react(const system_fsm::KeyUpChanged&); void react(const system_fsm::KeyDownChanged&); + void react(const system_fsm::HasPhonesChanged&); virtual void react(const system_fsm::BootComplete&) {} virtual void react(const PlayTrack&) {} -- cgit v1.2.3