Убрал нажатие с поворотом
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user