Библиотека GyverButton

Библиотека GyverButton 2.15

Улучшена стабильность
Новые функции и режимы
  • Лойс +1
Реакции: MERKULIN
Добавилась возможность настроить тип подключения кнопки и сам тип кнопки
HIGH_PULL // кнопка подключена к GND, пин подтянут к VCC (по умолчанию)
LOW_PULL // кнопка подключена к VCC, пин подтянут к GND
NORM_OPEN // кнопка по умолчанию разомкнута
NORM_CLOSE // кнопка по умолчанию замкнута
Смотрите пример Gbutton_example
Теперь в функцию tick() можно скормить логическую величину (типа button.tick(value) ), и она будет работать с этим значением, не опрашивая цифровой порт! Это означает, что можно таким макаром кормить библиотеке нажатия с матричной клавиатуры (прям через условие), а также с резистивной клавиатуры (опять же через условие). Таким образом полный функционал гувербаттон доступен для всех типов клавиатур!
inverse(state) - state: true (кнопка подключается к 5V, пин подтянут к GND чере 10 кОм), state: false (кнопка подключена просто к GND)
isPress() - возвращает true при нажатии на кнопку
isRelease() - возвращает true при отпускании кнопки
isClick() - возвращает true при "клике"
isHolded() - возвращает true при удержании дольше таймаута.
Возвращает один раз до следующего нажатия!!!
isHolding() - возвращает true при удержании дольше таймаута.
Продолжает срабатывать, пока кнопка удерживается!
isStep() - очень интересная функция. Начинает возвращать true после удержания,
причём делает это с периодом stepTimeout. Удобно для инкрементов, см. пример
state() - возвращает состояние кнопки (для служебных целей, заменяет digitalRead)

isSingle() - возвращает true при клике. Но возвращает с паузой,
так как входит в режим отработки нескольких кликов
isDouble() - возвращает true при двойном клике
isTriple() - возвращает true при тройном клике
hasClicks() - возвращает true при наличии нескольких кликов
getClicks() - получает несколько кликов, если есть. Использовать в связке с hasClicks