diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-10-03 15:00:28 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-10-03 15:00:28 +1100 |
| commit | c851b789faf71d0ef2092ae7d8cd3190c13d85c9 (patch) | |
| tree | 32a3ca469063dcf4a25e6d6767de50f5d8c535e8 /src/ui/encoder_input.cpp | |
| parent | 09f129662e41108fd86255c02623a38e07cbbb27 (diff) | |
| download | tangara-fw-c851b789faf71d0ef2092ae7d8cd3190c13d85c9.tar.gz | |
Write up the new input modes to NVS and settings
Diffstat (limited to 'src/ui/encoder_input.cpp')
| -rw-r--r-- | src/ui/encoder_input.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ui/encoder_input.cpp b/src/ui/encoder_input.cpp index f6f74aaf..9aa5d29a 100644 --- a/src/ui/encoder_input.cpp +++ b/src/ui/encoder_input.cpp @@ -40,7 +40,8 @@ EncoderInput::EncoderInput(drivers::IGpios& gpios, drivers::TouchWheel& wheel) raw_wheel_(wheel), relative_wheel_(std::make_unique<drivers::RelativeWheel>(wheel)), scroller_(std::make_unique<Scroller>()), - mode_(drivers::NvsStorage::InputModes::kRotatingWheel) { + mode_(drivers::NvsStorage::InputModes::kRotatingWheel), + is_locked_(false) { lv_indev_drv_init(&driver_); driver_.type = LV_INDEV_TYPE_ENCODER; driver_.read_cb = encoder_read; @@ -50,6 +51,10 @@ EncoderInput::EncoderInput(drivers::IGpios& gpios, drivers::TouchWheel& wheel) } auto EncoderInput::Read(lv_indev_data_t* data) -> void { + if (is_locked_) { + return; + } + raw_wheel_.Update(); relative_wheel_->Update(); // GPIOs updating is handled by system_fsm. |
