diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-10-03 10:37:29 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-10-03 10:37:29 +1100 |
| commit | 7d5536e2abca61f503ed68521603bd30700a7e5e (patch) | |
| tree | fc8b191a5d248a86de08a00d814359f335423e95 /src/ui/wheel_encoder.cpp | |
| parent | f2bad894cdac88b94a358cebdb062f426b191d1b (diff) | |
| download | tangara-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.cpp | 44 |
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 |
