[SLOT_n]
mode = collector

Виртуальный модуль-накопитель: собирает поступающие символы в строку.

Совместимость

Виртуальный модуль, аппаратной части не требует. Доступные слоты: 0-9.

Принцип работы

Каждая команда add дописывает значение в конец строки. Строка рапортуется событием val, когда её длина достигла stringMaxLenght либо когда после последнего символа прошло waitingTime миллисекунд. После рапорта строка очищается; сбросить её досрочно можно командой clear.

Применяется в паре с номеронабирателем, матрицей кнопок или считывателем карт — собранная строка обычно уходит на проверку в whitelist.

Топики

База топика события:

  • <deviceName>/collector_<slot> — например moduleBox/collector_0

База топика действия:

  • <deviceName>/collector_<slot> — например moduleBox/collector_0

Полный топик — база плюс направление и имя: moduleBox/collector_6/event/val.

Опции

Доступные опции:

  • disableOnStart — флаг, стартовать в выключенном состоянии и ждать action/enable со значением 1. По умолчанию модуль активен сразу.
  • stringMaxLenght — число(int), максимальная длина строки. Диапазон 1–256. По умолчанию 7.
  • waitingTime — число(int), время ожидания в миллисекундах. Диапазон 1–60000. По умолчанию 3000.

События

ТопикPayloadОписание
collector_<slot>/event/valстрокаОтчёт собранной строки
collector_<slot>/event/enable0 / 1Состояние модуля - активен 1 или спит 0

Пример: топик moduleBox/collector_6/event/val, payload 1234567.

Команды

ТопикPayloadОписание
collector_<slot>/action/addстрокаДобавить данные в строку коллектора
collector_<slot>/action/clear—Очистить строку коллектора
collector_<slot>/action/enable0 / 1Включить (1) или выключить (0) модуль

Примеры

[SLOT_6]
mode = collector
options = stringMaxLenght:4, waitingTime:5000
;цифры с матрицы кнопок собираются в код, код уходит на проверку
crosslink = collector_6/event/val:@->whitelist_7/action/check:@
 
[SLOT_0]
mode = buttonMatrix
options = outSlots:0 1, inSlots:2 3, mapping:1234
crosslink = buttonMatrix_0/event/key:@->collector_6/action/add:@

Код из четырёх символов собирается и проверяется по списку. Если за пять секунд код не дописан, накопленное рапортуется как есть.

Подробнее — внутренние связи (crossLink).

Архив

Описание модуля для прошивок до перехода на конституцию — collector (архив).