Wbincludes:Inputs Press Events: различия между версиями

Материал из Wiren Board
Метка: ручная отмена
 
(не показано 35 промежуточных версий 3 участников)
Строка 1: Строка 1:
=== Обработка нажатий ===
Модуль может распознавать четыре типа нажатий: короткое, длинное, двойное, короткое, а затем длинное.  
[[Image: wb press events.png |300px|thumb|right| Диаграма генерации событий для типов нажатий. Антидребезг здесь отключён]]
Модуль может распознавать четыре типа нажатий: короткое, длинное, двойное и короткое, а за тем длинное.


Алгоритм распознавания основан на стандарте IEC 62386-301, но есть отличия:
Обработку нажатий можно использовать на контроллере, куда по Modbus передаются специальные счётчики для каждого типа нажатий{{#if: {{{no_outputs|}}}| |, или в самом устройстве для управления выходами}}.
* добавлена ​​обработка короткого нажатия.
* событие двойного нажатия генерируется через Second Press Waiting Time, но не по первому по второму фронту короткого импульса.


Доступны настройки:
Параметры распознавания нажатий можно изменять в [[#Настройка |настройках]].
* Long Press Time (ms) — время удержания входа в замкнутом состоянии для фиксации долгого нажатия.
* Second Press Waiting Time (ms) — время между концом первого клика и началом второго клика для обнаружения двойных и коротких нажатий.
* Debounce — антидребезг учитывается по переднему и заднему фронту, сдвигая начало отсчёта Long Press Time и генерацию события Double Event. На диаграмме этот параметр не указан.
 
'''Короткое (Short)''' нажатие детектируется, если ширина импульса меньше Long Press Time.
 
'''Двойное (Double)''' нажатие детектируется по нескольким признакам:
* ширина первого импульса меньше Long Press Time;
* второй импульс начинается после первого, но через время, меньшее чем указано в Second Press Waiting Time;
* ширина второго импульса меньше Long Press Time.
 
'''Длинное (Long)''' нажатие детектируется, если ширина импульса больше, чем Long Press Time.
 
'''Короткое, а затем длинное (Shortlong)''' нажатие детектируется:
* ширина первого импульса меньше Long Press Time;
* второй импульс начинается после первого, но через время, меньшее чем указано в Second Press Waiting Time;
* ширина второго импульса больше, чем Long Press Time

Текущая версия на 14:35, 4 декабря 2023

Модуль может распознавать четыре типа нажатий: короткое, длинное, двойное, короткое, а затем длинное.

Обработку нажатий можно использовать на контроллере, куда по Modbus передаются специальные счётчики для каждого типа нажатий, или в самом устройстве для управления выходами.

Параметры распознавания нажатий можно изменять в настройках.