Данный модуль служит для описания входной кнопки. Речь идет о Gpio сконфигурированного как вход.
Int — пока не используется
pin — номер Gpio для данного входа
pinMode — может быть INPUT_PULLUP INPUT_PULLDOWN INPUT
debounceDelay — время обработки дребезга
execLevel — уровень срабатывания High или Low
fixState — поведение входа, срабатывание на переходе или на фиксации уровня (триггерный режим)
Для понимания зависимости поведения входа от состояния execLevel и fixState приведем таблицу построенную по факту:
Настройка | на входе 1 | на входе 0 |
---|---|---|
execLevel 0 | High | |
fixState 0 | Low | |
execLevel 1 | High | |
fixState 0 | Low | |
execLevel 1 | High TM | |
fixState 1 | High TM | |
execLevel 0 | Low TM | |
fixState 1 | Low TM |
Пояснения к таблице, High TM это режим когда 1 и 0 фиксируется высоким уровнем, но для смены состояния нужно сначала перевести в низкий уровень. Последующий после этого высокий уровень снова сменит состояние. Этот режим также иногда называют переключение состояния по высокому фронту.
Low TM это переключение состояния по низкому фронту.