[SLOT_n]
mode = flywheel

Программный модуль эмитирующий работу маховика, с помощью внешних воздействий мы раскручиваем маховик, но с течением времени от замедляется.

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

Модуль принимает входящие команды установки состояния счетчика. Счетчик уменьшается каждый интервал времени, в заданных границах. Если установлено пороговое значение, то модуль рапортует “1” при превышении счетчиком порогового значения и наоборот. Если пороговое значение не установлено модуль рапортует при изменении целой части значения счетчика.

Топик

Стандартный топик событий и действий:

  • “deviceName/flywheel”
    • пример: “moduleBox/flywheel”

Опции

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

  • decrement - (float), значение на которое будет уменьшатся счетчик каждый период времени. По умолчанию 0.1.
  • period - (int), период обновления значений счетчика. Единица измерения . По умолчанию 100 .
  • maxVal - (int), максимальное значение счетчика. По умолчанию 20.
  • minVal - (int) минимальное значение счетчика. По умолчанию 0.
  • threshold - (int) пороговое значение счетчика. По умолчанию не задано.
  • topic - строка, нестандартный топик событий и действий.

Пример

;каждые 100мСек счетчик будет уменьшен на 0.2, или каждую секунду счетчик будет уменьшен на 2. При превышение значения в 50, модуль отрапортует 1 и наоборот.
options=maxVal:100, threshold:50, decrement:0.2, period:100

Команды

  • /setCount Установка значения счетчика. Возможны абсолютные значения int и относительный +int и -int. Пример:
    • moduleBox/flywheel_3/setCount:25” установить значение 25.
    • moduleBox/flywheel_3/setCount:+5” увеличить текущее значение на 5.

События

  • Рапортует “1” при превышении порогового значения и наоборот. Пример:
    • moduleBox/flywheel_1:1
  • /count Рапортует при изменении целой части значения счетчика. Пример:
    • “*moduleBox/flywheel_1/count:15”

Пример:

;при превышении порогового значения, запустить проигрывание трека с индексом 0, и наоборот остановить проигрывание.
cross_link = flywheel_2:1->player_0/play:0, flywheel_2:0->player_0/stop 

Подробнее об использовании crossLink