Убрал нажатие с поворотом
This commit is contained in:
@@ -249,16 +249,6 @@ bool Encoder::isSingle()
|
|||||||
}
|
}
|
||||||
bool Encoder::isDouble()
|
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) {
|
if (flags.isDouble_f) {
|
||||||
flags.isDouble_f = false;
|
flags.isDouble_f = false;
|
||||||
return true;
|
return true;
|
||||||
@@ -290,43 +280,10 @@ void Encoder::tick()
|
|||||||
// int butstate;
|
// int butstate;
|
||||||
|
|
||||||
#ifdef ENC_WITH_BUTTON
|
#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 (flags.use_button) {
|
||||||
if (!extTick)
|
if (!extTick)
|
||||||
// if (_SW->read() == 0) { // читаем состояние кнопки SW
|
|
||||||
SW_state = _SW->read() ^ flags.invBtn;
|
SW_state = _SW->read() ^ flags.invBtn;
|
||||||
// } else {
|
|
||||||
// SW_state = false ^ flags.invBtn;
|
|
||||||
// }
|
|
||||||
else
|
else
|
||||||
SW_state = flags.extSW;
|
SW_state = flags.extSW;
|
||||||
|
|
||||||
@@ -340,7 +297,9 @@ void Encoder::tick()
|
|||||||
flags.doubleAllow = true;
|
flags.doubleAllow = true;
|
||||||
}
|
}
|
||||||
if (!SW_state && flags.butt_flag && (debounceDelta > ENC_DEBOUNCE_BUTTON)) {
|
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.turn_flag = false;
|
||||||
flags.isRelease_f = true;
|
flags.isRelease_f = true;
|
||||||
}
|
}
|
||||||
@@ -359,18 +318,19 @@ void Encoder::tick()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (flags.doubleFlag && debounceDelta > ENC_DOUBLE_TIMEOUT) {
|
if (flags.doubleFlag && debounceDelta > ENC_DOUBLE_TIMEOUT) {
|
||||||
if (!flags.turn_flag) {
|
// if (!flags.turn_flag) {
|
||||||
if (!flags.countFlag)
|
if (!flags.countFlag)
|
||||||
flags.isSingle_f = true;
|
flags.isSingle_f = true;
|
||||||
else
|
else
|
||||||
flags.isDouble_f = true;
|
flags.isDouble_f = true;
|
||||||
}
|
// }
|
||||||
flags.doubleFlag = false;
|
flags.doubleFlag = false;
|
||||||
}
|
}
|
||||||
if (flags.butt_flag && debounceDelta > ENC_HOLD_TIMEOUT && !flags.turn_flag) {
|
if (flags.butt_flag && debounceDelta > ENC_HOLD_TIMEOUT && !flags.turn_flag) {
|
||||||
if (SW_state) {
|
if (SW_state) {
|
||||||
flags.hold_flag = true;
|
flags.hold_flag = true;
|
||||||
flags.doubleAllow = false;
|
flags.doubleAllow = false;
|
||||||
|
flags.isRelease_f = false;
|
||||||
} else {
|
} else {
|
||||||
flags.butt_flag = false;
|
flags.butt_flag = false;
|
||||||
flags.hold_flag = false;
|
flags.hold_flag = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user