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;