summaryrefslogtreecommitdiff
path: root/src/ui/wheel_encoder.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-10-03 10:37:29 +1100
committerjacqueline <me@jacqueline.id.au>2023-10-03 10:37:29 +1100
commit7d5536e2abca61f503ed68521603bd30700a7e5e (patch)
treefc8b191a5d248a86de08a00d814359f335423e95 /src/ui/wheel_encoder.cpp
parentf2bad894cdac88b94a358cebdb062f426b191d1b (diff)
downloadtangara-fw-7d5536e2abca61f503ed68521603bd30700a7e5e.tar.gz
Generalise the lvgl input driver in preparation for more input methods
Diffstat (limited to 'src/ui/wheel_encoder.cpp')
-rw-r--r--src/ui/wheel_encoder.cpp44
1 files changed, 0 insertions, 44 deletions
diff --git a/src/ui/wheel_encoder.cpp b/src/ui/wheel_encoder.cpp
deleted file mode 100644
index 2f2e7f68..00000000
--- a/src/ui/wheel_encoder.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright 2023 jacqueline <me@jacqueline.id.au>
- *
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-#include "wheel_encoder.hpp"
-#include <sys/_stdint.h>
-#include "core/lv_group.h"
-#include "hal/lv_hal_indev.h"
-
-namespace ui {
-
-void encoder_read(lv_indev_drv_t* drv, lv_indev_data_t* data) {
- TouchWheelEncoder* instance =
- reinterpret_cast<TouchWheelEncoder*>(drv->user_data);
- instance->Read(data);
-}
-
-void encoder_feedback(lv_indev_drv_t* drv, uint8_t event_code) {
- ESP_LOGI("Touchwheel Event", "Event code: %d", event_code);
-}
-
-TouchWheelEncoder::TouchWheelEncoder(
- std::unique_ptr<drivers::RelativeWheel> wheel)
- : last_key_(0), wheel_(std::move(wheel)) {
- lv_indev_drv_init(&driver_);
- driver_.type = LV_INDEV_TYPE_ENCODER;
- driver_.read_cb = encoder_read;
- // driver_.feedback_cb = encoder_feedback;
- driver_.user_data = this;
-
- registration_ = lv_indev_drv_register(&driver_);
-}
-
-auto TouchWheelEncoder::Read(lv_indev_data_t* data) -> void {
- wheel_->Update();
-
- data->enc_diff = wheel_->ticks();
- data->state =
- wheel_->is_clicking() ? LV_INDEV_STATE_PRESSED : LV_INDEV_STATE_RELEASED;
-}
-
-} // namespace ui