[SLOT_n]
mode = button_led

Программный модуль для кнопок с подсветкой.

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

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

Рапортует об изменении состояния кнопки. Включает подсветку по команде.

Топики

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

  • “deviceName/button_{slot_num}” - {slot_num} номер слота
    • пример: “deviceName/button_0”

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

  • “deviceName/led_{slot_num}” - {slot_num} номер слота
    • пример: “deviceName/led_0”

Опции

Доступные опции для кнопки:

  • buttonInverse - флаг, инверсия входного сигнала
  • buttonTopic - строка, нестандартный топик события
  • buttonDebounceGap - число(int), интервал времени(миллисекунды) не чувствительный к дребезгу. Время в течение которого изменение состояния входа не будут рапортоваться. По умолчанию 20.

Доступные опции для подсветки:

  • ledInverse - флаг, инверсия выходного сигнала
  • fadeIncrement - число(float), приращение яркости, за один период анимации.
  • refreshRate - число(int), частота обновления анимации, кадров в секунду. По умолчанию 25.
  • maxBright - число(float), максимальное значение яркости(в активированном состоянии).
  • minBright - число(float), минимальное значение яркости(в деактивированном состоянии).
  • ledMode - строка, режим анимации:
    • *fade - плавный набор яркости
    • *flash - вспышки с равными промежутками времени
  • ledTopic - строка, нестандартный топик события

События

Рапортует событие при изменении состояния кнопки, возможные значения 0-1. Пример: moduleBox/button_1:1

Команды

Меняет состояние светодиода, возможные значения 0-1. Пример: moduleBox/led_3:1

Примеры

Пример настройки модуля:

[SLOT_n]
mode = button_led
options = ledMode:flash, minBright:0.0, maxBright:0.9, fadeIncrement:0.1, refreshRate:10
cross_link = button_0:1->led_0:1 ;включить светодиод при нажатии кнопки

при активации подсветка будет плавно моргать с периодом 2 сек. Каждые 10-ть миллисекунд, текущее значение яркости будет увеличено на 0.1 единицы, после достижения максимального значения, текущее значение яркости будет уменьшатся.

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