From 6e8648c621a0d7a78e0033bda4232ddc0e7efbc7 Mon Sep 17 00:00:00 2001 From: Beslan Date: Sun, 4 Jul 2021 16:09:28 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BD=D0=B0?= =?UTF-8?q?=D0=B6=D0=B0=D1=82=D0=B8=D0=B5=20=D1=81=20=D0=BF=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=D1=80=D0=BE=D1=82=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GyverEncoder.cpp | 60 ++++++++---------------------------------------- 1 file changed, 10 insertions(+), 50 deletions(-) diff --git a/GyverEncoder.cpp b/GyverEncoder.cpp index a5f85d2..dfe7bca 100644 --- a/GyverEncoder.cpp +++ b/GyverEncoder.cpp @@ -249,16 +249,6 @@ bool Encoder::isSingle() } bool Encoder::isDouble() { - // if (flags.enc_tick_mode) - // Encoder::tick(); - // if (flags.isDouble_f) - // { - // flags.isDouble_f = false; - // flags.isSingle_f = false; - // return true; - // } - // else - // return false; if (flags.isDouble_f) { flags.isDouble_f = false; return true; @@ -290,43 +280,10 @@ void Encoder::tick() // int butstate; #ifdef ENC_WITH_BUTTON - // static etl::debounce key_state; - // static etl::debounce key_invState; - // // butstate = *_SW; - - // if (key_state.add(*_SW == 0)) { - // if (key_state.is_set() && flags.isRelease_f == true) { - // flags.isPress_f = true; - // flags.butt_flag = true; - // flags.isRelease_f = false; - // } - // if (key_state.is_held()) { - // flags.isHolded_f = true; - // flags.butt_flag = false; - - // } else - - // if (key_state.is_repeating()) { - // flags.isDouble_f = true; - // } - // } - // // if (flags.butt_flag) { - // if (key_invState.add(*_SW == 1)) { - // if (key_invState.is_set()) { - // flags.isPress_f = false; - // flags.isRelease_f = true; - // flags.butt_flag = false; - // // } - // } - // } if (flags.use_button) { if (!extTick) - // if (_SW->read() == 0) { // читаем состояние кнопки SW SW_state = _SW->read() ^ flags.invBtn; - // } else { - // SW_state = false ^ flags.invBtn; - // } else SW_state = flags.extSW; @@ -340,7 +297,9 @@ void Encoder::tick() flags.doubleAllow = true; } if (!SW_state && flags.butt_flag && (debounceDelta > ENC_DEBOUNCE_BUTTON)) { - if (!flags.turn_flag && !flags.hold_flag) { // если кнопка отпущена и ручка не поворачивалась + + // if (!flags.turn_flag && !flags.hold_flag) { // если кнопка отпущена и ручка не поворачивалась + if (!flags.hold_flag) { flags.turn_flag = false; flags.isRelease_f = true; } @@ -359,18 +318,19 @@ void Encoder::tick() } } if (flags.doubleFlag && debounceDelta > ENC_DOUBLE_TIMEOUT) { - if (!flags.turn_flag) { - if (!flags.countFlag) - flags.isSingle_f = true; - else - flags.isDouble_f = true; - } + // if (!flags.turn_flag) { + if (!flags.countFlag) + flags.isSingle_f = true; + else + flags.isDouble_f = true; + // } flags.doubleFlag = false; } if (flags.butt_flag && debounceDelta > ENC_HOLD_TIMEOUT && !flags.turn_flag) { if (SW_state) { flags.hold_flag = true; flags.doubleAllow = false; + flags.isRelease_f = false; } else { flags.butt_flag = false; flags.hold_flag = false;