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/include | |
| parent | 9763cc955c4f3b2c2af54b61c2c5ad77afef9603 (diff) | |
| download | tangara-fw-0347555d5b2314e1be58261ef29fa13a76c039e6.tar.gz | |
Start on converting gpio expander interupts to fsm events
Diffstat (limited to 'src/audio/include')
| -rw-r--r-- | src/audio/include/audio_events.hpp | 3 | ||||
| -rw-r--r-- | src/audio/include/audio_fsm.hpp | 3 | ||||
| -rw-r--r-- | src/audio/include/audio_sink.hpp | 4 | ||||
| -rw-r--r-- | src/audio/include/i2s_audio_output.hpp | 4 |
4 files changed, 10 insertions, 4 deletions
diff --git a/src/audio/include/audio_events.hpp b/src/audio/include/audio_events.hpp index 7359e8ac..019b65a2 100644 --- a/src/audio/include/audio_events.hpp +++ b/src/audio/include/audio_events.hpp @@ -7,6 +7,7 @@ #pragma once #include <stdint.h> +#include <cstdint> #include <string> #include "tinyfsm.hpp" @@ -32,4 +33,6 @@ struct InputFileOpened : tinyfsm::Event {}; struct InputFileFinished : tinyfsm::Event {}; struct AudioPipelineIdle : tinyfsm::Event {}; +struct VolumeChanged : tinyfsm::Event {}; + } // namespace audio diff --git a/src/audio/include/audio_fsm.hpp b/src/audio/include/audio_fsm.hpp index 1f3b1dbd..7e84785f 100644 --- a/src/audio/include/audio_fsm.hpp +++ b/src/audio/include/audio_fsm.hpp @@ -40,6 +40,9 @@ class AudioState : public tinyfsm::Fsm<AudioState> { void react(const system_fsm::StorageMounted&); + void react(const system_fsm::KeyUpChanged&); + void react(const system_fsm::KeyDownChanged&); + virtual void react(const system_fsm::BootComplete&) {} virtual void react(const PlayTrack&) {} virtual void react(const PlayFile&) {} diff --git a/src/audio/include/audio_sink.hpp b/src/audio/include/audio_sink.hpp index e6538bda..ac007bf8 100644 --- a/src/audio/include/audio_sink.hpp +++ b/src/audio/include/audio_sink.hpp @@ -45,8 +45,8 @@ class IAudioSink { virtual auto SetVolumeImbalance(int_fast8_t balance) -> void = 0; virtual auto SetVolume(uint_fast8_t percent) -> void = 0; virtual auto GetVolume() -> uint_fast8_t = 0; - virtual auto AdjustVolumeUp() -> void = 0; - virtual auto AdjustVolumeDown() -> void = 0; + virtual auto AdjustVolumeUp() -> bool = 0; + virtual auto AdjustVolumeDown() -> bool = 0; virtual auto Configure(const StreamInfo::Format& format) -> bool = 0; virtual auto Send(const cpp::span<std::byte>& data) -> void = 0; diff --git a/src/audio/include/i2s_audio_output.hpp b/src/audio/include/i2s_audio_output.hpp index 7c125476..5dd6cc27 100644 --- a/src/audio/include/i2s_audio_output.hpp +++ b/src/audio/include/i2s_audio_output.hpp @@ -34,8 +34,8 @@ class I2SAudioOutput : public IAudioSink { auto SetVolumeImbalance(int_fast8_t balance) -> void override; auto SetVolume(uint_fast8_t percent) -> void override; auto GetVolume() -> uint_fast8_t override; - auto AdjustVolumeUp() -> void override; - auto AdjustVolumeDown() -> void override; + auto AdjustVolumeUp() -> bool override; + auto AdjustVolumeDown() -> bool override; auto Configure(const StreamInfo::Format& format) -> bool override; auto Send(const cpp::span<std::byte>& data) -> void override; |
