[SLOT_n]
mode = button_smartLed
Программный модуль для кнопок с управляемой подсветкой на чипах серии WS2812 и аналогичных.
Совместимость:
Принцип работы
Рапортует об изменении состояния кнопки. Включает подсветку по команде.
Топики
Стандартный топик события:
- “deviceName/button_{slot_num}” - {slot_num} номер слота
- пример: “deviceName/button_0”
Стандартный топик действия:
- “deviceName/smartLed_{slot_num}” - {slot_num} номер слота
- пример: “deviceName/smartLed_0”
Опции
Доступные опции для кнопки:
- buttonInverse - флаг, инверсия входного сигнала
- buttonTopic - строка, нестандартный топик события
- buttonDebounceGap - число(int), интервал времени(миллисекунды) не чувствительный к дребезгу. Время в течение которого изменение состояния входа не будут рапортоваться. По умолчанию 10мс.
- longPressTime - число(int), продолжительность длинного нажатия в миллисекундах. При значении 0 функция не активна. По умолчанию 0.
- doubleClickTime - число(int), длительность промежутка между нажатиями для регистрации двойного нажатия в миллисекундах. При значении 0 функция не активна. По умолчанию 0.
- eventFilter - флаг, фильтрация событий коротких нажатий при активных длинном/двойном нажатии.
Доступные опции для подсветки:
- numOfLed - число(int), количество светодиодов в цепочке, надо учитывать что суммарное количество всех пикселей подключенных в один контроллер не должно превышать 1024шт. По умолчанию 24.
- ledInverse - флаг, инверсия выходного сигнала
- defaultState - число(int), состояние подсветки при включении (0 — выкл, 1 — вкл). По умолчанию 0.
- fadeTime - число(int), время нарастания/затухания яркости в миллисекундах. По умолчанию 1000.
- refreshRate - число(int), частота обновления анимации, кадров в секунду. По умолчанию 30.
- maxBright - число(int), 0-255, максимальное значение яркости(в активированном состоянии). По умолчанию 255.
- minBright - число(int), 0-255, минимальное значение яркости(в деактивированном состоянии). По умолчанию 0.
- RGBcolor - строка, вида: “ххх ххх ххх”, где ххх - яркость цвета в палитре RGB от 0 до 255. Пример “RGBcolor:255 0 0” - красный. По умолчанию “0 0 255” (синий).
- ledMode - строка, режим анимации(см. п. Режимы анимации)
- ledTopic - строка, нестандартный топик действия.
Режимы анимации:
- default - В состоянии “1” устанавливается яркость установленная параметром maxBright, или яркость minBright в состоянии “0”. Входной сигнал может быть инвертирован соответствующим флагом.
- flash - вспышки с равными промежутками времени, от minBright до maxBright.
- rainbow - переливание цветов по палитре HSV.
События
- Рапортует событие при изменении состояния кнопки, возможные значения 0-1. Пример: “moduleBox/button_1:1”
- При активной опции longPressTime рапортует событие длинного нажатия. Пример: “moduleBox/button_1/longPress:1”
- При активной опции doubleClickTime рапортует событие двойного нажатия. Пример: “moduleBox/button_1/doubleClick:1”
Команды
- Меняет состояние подсветки, возможные значения 0-1.
- Пример: “moduleBox/smartLed_3:1”
- /toggleLedState — переключает текущее состояние подсветки на противоположное.
- Пример: “moduleBox/smartLed_3/toggleLedState”
- /setRGB — установка цвета. Строка вида: “ххх ххх ххх”, где ххх - яркость цвета в палитре RGB от 0 до 255, разделенные пробелами.
- Пример: “moduleBox/smartLed_3/setRGB:255 0 0”
- /setMode — установка режима анимации. Возможные значения см. п. Режимы анимации.
- Пример: “moduleBox/smartLed_3/setMode:flash”
- /setFadeTime — установка времени нарастания/затухания яркости в миллисекундах.
- Пример: “moduleBox/smartLed_3/setFadeTime:500”
Примеры
[SLOT_0]
mode = button_smartLed
options = ledMode:flash, minBright:0, maxBright:127, RGBcolor:255 0 0, fadeTime:500
crosslink = button_0:1->smartLed_0:1
;включить светодиод при нажатии кнопкипри активации подсветка будет плавно моргать красным цветом в половину яркости. Подробнее об использовании crossLink