[SLOT_n]
mode = tenzoButtonПрограммный модуль тензо-кнопки: нажатие определяется по силе давления на тензодатчик.
Совместимость
Принцип работы
Рапортует при физическом воздействии на датчик и передаёт силу нажатия. Порог срабатывания задаётся опцией threshold, скорость реакции — опцией inertia: чем больше значение, тем медленнее модуль реагирует на изменение силы.
При поднятом флаге boolean модуль работает как дискретная кнопка и рапортует
1 при нажатии и 0 при отпускании вместо величины силы.
Топики
База топика события:
<deviceName>/tenzoButton_<slot>— напримерmoduleBox/tenzoButton_0
Полный топик — база плюс направление и имя: moduleBox/tenzoButton_0/event/val.
Опции
Доступные опции:
- threshold — число(int), порог срабатывания нажатия. Диапазон 1–4096. По умолчанию 100.
- inertia — число(int), инерция - больше значение, медленнее реакция. Диапазон 1–4096. По умолчанию 50.
- oversample — число(int), усреднение выборок ADC. Диапазон 1–64. По умолчанию 8.
- boolean — флаг, флаг - слать 1-0 вместо величины силы.
События
| Топик | Payload | Описание |
|---|---|---|
tenzoButton_<slot>/event/val | целое | Сила нажатия, 0 при отпускании |
Пример: топик moduleBox/tenzoButton_0/event/val, payload 540.
Индикация
Светодиодный индикатор на плате горит, пока кнопка нажата.
Примеры
[SLOT_3]
mode = tenzoButton
options = boolean, threshold:150
;при нажатии кнопки проиграть трек с индексом два
crosslink = tenzoButton_3/event/val:1->player_0/action/play:2Модуль настроен как дискретная кнопка с порогом срабатывания 150.
[SLOT_4]
mode = tenzoButton
options = threshold:50, inertia:100, oversample:16
;сила нажатия уходит в масштабатор, тот - в яркость подсветки
crosslink = tenzoButton_4/event/val:@->scaler_6/action/pushVal:@Подробнее — внутренние связи (crossLink).