[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).