Убрал нажатие с поворотом

This commit is contained in:
Beslan
2021-07-04 16:09:28 +03:00
parent de59e62d68
commit 6e8648c621

View File

@@ -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<DEBOUNCE_COUNT, HOLD_COUNT, REPEAT_COUNT> key_state;
// static etl::debounce<DEBOUNCE_COUNT, HOLD_COUNT, REPEAT_COUNT> 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;