управление RGB лентой по ивентам.

teodor4ik
Offline
Зарегистрирован: 04.11.2013

Есть у меня попаболь. Нарисовать таймер с недельным расписанием для РГБ ленты. Записать ивенты на СД карту и по очереди сверть их с часами, вроде не сложно. Но вот пришла боль. Как быть с плавной регулировкой?? Включать по очереди не вариант. Расписывать ивенты "попиксельно" можно, но как-то грубо. Красиво бы было параллельно их исполнять... но как? В общем у ивента может быть время начала-конца и высчитано значение параметра в этот момент времени, но тогда нада перебирать ВСЕ ивенты из списка, в каждом цикле на предмет активности. А нет, то вообще загнать весь список (2 ближайших на канал управления) в оперативку (10 байт на ивент хватит) и  их гонять.

В общем что-то я подвис, куда пойти. Кто с таким сталкивался, подскажите идеи по сабжу.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

> но тогда нада перебирать ВСЕ ивенты из списка, в каждом цикле на предмет активности.

... не в ручную же :) , вот пусть Ардуинка и трудится - работа у неё такая !

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

> Как быть с плавной регулировкой??

задача - недельный "будильник", а параметр "...высчитано значение параметра в этот момент времени..." - откуда берётся - НЕ указано

teodor4ik
Offline
Зарегистрирован: 04.11.2013

Не до конца понял текст. %(

Пока пошел по странному пути. Ивент учитывает время начала, длительность, конечные значения всех каналов. При совпадании времени начала  из списка с часами (перебором), уходит в процедуру смены яркости всех каналов, в т.ч. тех, что в итоге не меняются. Процедура - цикл 0-255 ( х+(у-х)*i/255 где х-начальное у-конечное значения). Задержка пустой вайл-ду до совпадения миллис+dt c реальными (dt=t*1000/256).

Тоесть паралельно менять можна, но!!! 2 накладывающихся по времени ивента стают тремя. до накладки, накладка, после накладки. Осталось либо сторонним софтом, либо в теле проводить проверку на накладки и выделять их.

Вопрос для меня пока глухой. У DS1307 есть понятие не день/месяц/год, а, как у екселя абсолютный №дня? Больно уж неохота вычислять, какой нынче день недели. Пока балуюсь в пределах 1 дня.