Программный модуль для кнопок с управляемой подсветкой на чипах серии WS2812 и аналогичных, разработан для применения совместно со спиннером, но может быть использован и отдельно.
Рапортует об изменении состояния кнопки.
Включает подсветку по команде.
Топики
Стандартный топик события:
“deviceName/button_{slot_num}” - {slot_num} номер слота
пример: “moduleBox/button_0:1”
Стандартный топик действия:
“deviceName/ledRing_{slot_num}” - {slot_num} номер слота
пример: “moduleBox/ledRing_0:1”
Опции
Доступные опции для кнопки:
buttonInverse - флаг, инверсия входного сигнала
buttonTopic - строка, нестандартный топик события
buttonDebounceGap - число(int), интервал времени(миллисекунды) не чувствительный к дребезгу. Время в течение которого изменение состояния входа не будут рапортоваться. По умолчанию 20мс.
Доступные опции для подсветки:
numOfLed - число(int), количество светодиодов цепочке, надо учитывать что суммарное количество всех пикселей подключенных в один контроллер не должно превышать 1024шт. По умолчанию 24.
refreshRate - число(int), частота обновления анимации, в миллисекундах.
maxBright - число(int), 0-255, максимальное значение яркости(в активированном состоянии).
minBright - число(int), от 0-255, минимальное значение яркости(в деактивированном состоянии).
RGBcolor - строка, вида: “ххх ххх ххх”, где ххх - яркость цвета в палитре RGB от 0 до 255. Пример “RGBcolor:255 0 0” - красный.
increment - число(int), приращение за один период анимации, скорость анимации. Возможные значения float от 1 до 255.
numOfPos - число(int), количество положений, которое может занять световое пятно.
effectLen - число(int), количество светодиодов, которые будут задействованы в световом пятне.
default - Световое пятно устанавливается в заданной позиции статично.
run - Динамическая анимация, скорость настраивается параметром increment.
В состоянии “1” устанавливается яркость всех светодиодов устанавливается равной maxBright, или яркость minBright в состоянии “0”. Пример spinner
События
Рапортует событие при изменении состояния кнопки, возможные значения 0-1. Пример:
“moduleBox/button_1:1”
Команды
/setRGB Установка цвета. Строка вида: “ххх ххх ххх”, где ххх - яркость цвета в палитре RGB от 0 до 255, разделенные пробелами.
Пример: “moduleBox/ledRing_3/setRGB:255 0 0”
/setPos Установка режима свечения. Возможные значения см. п. Режимы анимации.