Gateway icon indicating copy to clipboard operation
Gateway copied to clipboard

Дополнительные mode для встроенных светодиодов

Open kasitoru opened this issue 5 years ago • 3 comments

Хотелось бы увидеть в шлюзе реализацию некоторых световых эффектов для аппаратных LED. Первое, что уже спрашивало несколько человек - режим blink (мерцание с заданными таймингами). Сделать можно что то типа такого:

{"mode":"blink","hex":"#FFFFFF","on_duration":"500","off_duration":"500"}

где on_duration - продолжительность во включенном состоянии (мсек), а off_duration - соответственно, в выключенном.

Еще в голову приходит режим, при котором происходит плавная смена цвета от предыдущего к новому заданному. Например, так:

{"mode":"smooth","hex":"#FFFFFF","duration":"1000"}

Уже только на основе этого можно запрограммировать интересные световые эффекты для разных задач.

kasitoru avatar Apr 07 '20 11:04 kasitoru

Я бы добавил опционально продолжительность таких мерцаний в течение какого-то времени, например, мерцать 2 минуты полусекундой включения и 250 мсек выключения:

{"mode":"blink_persist","hex":"#FFFFFF","on_duration":"500","off_duration":"250","duration":"120000"}

mihing avatar May 22 '20 11:05 mihing

Это тогда можно было бы отнести в целом к светодиодам шлюза, вроде команды "включить подсветку на N секунд".

kasitoru avatar May 22 '20 11:05 kasitoru

https://github.com/dimon78/sls.lua/blob/main/spectrum.lua https://github.com/dimon78/sls.lua/blob/main/flame.lua https://github.com/dimon78/sls.lua/blob/main/led.lua

ну и прикрутить это к таймеру не составит труда

dimon78 avatar Oct 16 '20 17:10 dimon78