summaryrefslogtreecommitdiff
path: root/src/input/input_volume_buttons.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-04-11 15:16:35 +1000
committerjacqueline <me@jacqueline.id.au>2024-04-11 15:16:35 +1000
commit33919e9e3f419e13318fa6b8217d8c8dcd86c1eb (patch)
tree9e3a1209c8f17f9a6d57249fae7067cbb81e0227 /src/input/input_volume_buttons.cpp
parented82063af5f83530afa5cfb5bf5bd516f3d05f2a (diff)
downloadtangara-fw-33919e9e3f419e13318fa6b8217d8c8dcd86c1eb.tar.gz
Migrate all existing control schemes to the cool new world
Diffstat (limited to 'src/input/input_volume_buttons.cpp')
-rw-r--r--src/input/input_volume_buttons.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/input/input_volume_buttons.cpp b/src/input/input_volume_buttons.cpp
index bf79ed55..0413222c 100644
--- a/src/input/input_volume_buttons.cpp
+++ b/src/input/input_volume_buttons.cpp
@@ -5,6 +5,7 @@
*/
#include "input_volume_buttons.hpp"
+#include "event_queue.hpp"
#include "gpios.hpp"
namespace input {
@@ -13,13 +14,21 @@ VolumeButtons::VolumeButtons(drivers::IGpios& gpios) : gpios_(gpios) {}
auto VolumeButtons::read(lv_indev_data_t* data) -> void {
bool vol_up = gpios_.Get(drivers::IGpios::Pin::kKeyUp);
- if (!vol_up) {
- ESP_LOGI("volume", "vol up");
+ switch (up_.update(!vol_up)) {
+ case Trigger::State::kNone:
+ break;
+ default:
+ events::Audio().Dispatch(audio::StepUpVolume{});
+ break;
}
bool vol_down = gpios_.Get(drivers::IGpios::Pin::kKeyDown);
- if (!vol_down) {
- ESP_LOGI("volume", "vol down");
+ switch (down_.update(!vol_down)) {
+ case Trigger::State::kNone:
+ break;
+ default:
+ events::Audio().Dispatch(audio::StepDownVolume{});
+ break;
}
}