Skip to content

Оброблення вводу

Прочитати стан вводу можна через об’єкт з ім'ям _input класу Input, що доступний у кожному модулі.

Для кожного віртуального піну(кнопки) існує три активних та три пасивних стани.

Активні стани:

1) Утримується. Є істинним, якщо кнопка прямо зараз є натиснутою.
2) Відпущений. Є істинним, якщо кнопка була раніше натиснутою, але в даний момент відпущена.
3) Затиснутий. Є істинним, якщо кнопка утримується більше n-мілісекунд. По замовчуванню 1500 мс. Час спрацьовування можна змінити в налаштуваннях.

Важливо

Якщо в межах одного контексту потрібно перевіряти перший і третій активні стани одного і того ж піна, тоді перевірка третього стану повинна завжди виконуватися першою.

Пасивні стани:

1) Увімкнений. Встановлюється по замовчуванню. У такому стані пін підтягується до + шини, якщо він налаштований, як кнопка, або ініціалізується, як сенсорний.
2) Вимкнений. У такому стані пін переходить у високоімпедансний режим входу. Це дозволяє дещо зменшити споживання струму піном, якщо він довгий час або взагалі не використовується у поточному модулі.
3) Заблокований. Це тимчасовий стан, в якому пін лишається увімкнений, але всі його активні стани скидаються і не оновлюються, поки не закінчиться час блокування. Цей стан встановлюється вручну розробником після кожного читання стану кнопки. Завдяки цьому досягаються три цілі: 1. Нівелювання брязкоту контактів. 2. Можливість налаштування автоматичного повтору натискання. 3. Регулювання часу до можливості повторного натискання аби запобігти випадковим натисканням користувачем прошивки.