[SLOT_n]
mode = button_swiperLed

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

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

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

Рапортует об изменении состояния кнопки. Включает подсветку по команде. Поддерживает световые эффекты свайпа в четырёх направлениях.

Топики

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

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

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

  • “deviceName/swiperLed_{slot_num}” - {slot_num} номер слота
    • пример: “moduleBox/swiperLed_0:1”

Опции

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

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

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

  • numOfLed - число(int), количество светодиодов в цепочке, надо учитывать что суммарное количество всех пикселей подключенных в один контроллер не должно превышать 1024шт. По умолчанию 16.
  • refreshRate - число(int), частота обновления анимации, кадров в секунду. По умолчанию 25.
  • maxBright - число(int), 0-255, максимальное значение яркости(в активированном состоянии). По умолчанию 255.
  • minBright - число(int), 0-255, минимальное значение яркости(в деактивированном состоянии). По умолчанию 0.
  • RGBcolor - строка, вида: “ххх ххх ххх”, где ххх - яркость цвета в палитре RGB от 0 до 255. Пример “RGBcolor:255 0 0” - красный. По умолчанию “0 0 255” (синий).
  • offset - число(int), смещение нулевой позиции эффекта. По умолчанию 0.
  • defaultState - число(int), состояние подсветки по умолчанию (0 — выкл, 1 — вкл). По умолчанию 0.
  • ledTopic - строка, нестандартный топик действия.

События

  • Рапортует событие при изменении состояния кнопки, возможные значения 0-1. Пример: “moduleBox/button_1:1
  • При активной опции longPressTime рапортует событие длинного нажатия. Пример: “moduleBox/button_1/longPress:1
  • При активной опции doubleClickTime рапортует событие двойного нажатия. Пример: “moduleBox/button_1/doubleClick:1

Команды

  • Меняет состояние подсветки, возможные значения 0-1.
    • Пример: “moduleBox/swiperLed_3:1
  • /toggleLedState — переключает текущее состояние подсветки на противоположное.
    • Пример: “moduleBox/swiperLed_3/toggleLedState
  • /setRGB — установка цвета. Строка вида: “ххх ххх ххх”, где ххх - яркость цвета в палитре RGB от 0 до 255, разделенные пробелами.
    • Пример: “moduleBox/swiperLed_3/setRGB:255 0 0
  • /swipe — запуск светового эффекта свайпа. Доступные значения: up, down, left, right.
    • Пример: “moduleBox/swiperLed_3/swipe:up

Примеры

[SLOT_n]
mode = button_swiperLed
options = RGBcolor:0 255 0
crosslink = button_2:0->swiperLed_2/swipe:up, button_2:1->swiperLed_2/swipe:down

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