Семейство базовых дискретных модулей — компонент in_out прошивки. Входы
рапортуют состояние контакта или датчика, выходы исполняют команды
«включить / выключить / переключить / импульс».
| Модуль | Роль | База топика | Аппаратный модуль |
|---|---|---|---|
| in_2ch | два входа, логика independent / or / and | in_<slot> | in_2ch |
| in_3ch | три входа, та же логика | in_<slot> | in_3ch |
| in_out | вход + выход в одном слоте | in_<slot> / out_<slot> | in_out |
| out_2ch | два выхода | out_<slot> | out_2ch |
| out_3ch | три выхода | out_<slot> | 3n_mosfet, out_2ch |
| relay | один выход на реле | relay_<slot> | relay |
| tachometer | частота импульсов на входе | tachometer_<slot> | in_2ch, in_out |
Входы
Каждый канал рапортует event/ch_N при изменении, инверсия — inverse_N,
антидребезг — inDebounceGap. Опция logic объединяет каналы: в режиме
or / and вместо отдельных каналов рапортуется общий event/val;
refreshPeriod задаёт периодический рапорт.
Выходы
Каналы принимают action/ch_N (0 / 1), action/ch_N/toggle и
action/ch_N/impulse с длительностью в миллисекундах; стартовое состояние —
defState_N, инверсия — inverse_N. У relay и in_out канал один, поэтому
команды называются setVal / toggle / impulse без номера канала.
Все выходные модули поддерживают enable и disableOnStart.
Пример
[SLOT_1]
mode = in_2ch
;кнопка на входе 0 включает реле, на входе 1 - выключает
crosslink = in_1/event/ch_0:1->relay_2/action/setVal:1, in_1/event/ch_1:1->relay_2/action/setVal:0
[SLOT_2]
mode = relay
options = defState:0Подробнее — внутренние связи (crossLink).