Страница 1 из 1

макрос регулировки яркости

СообщениеДобавлено: 14 сен 2017, 20:27
vnloginov
Доброго дня!

Помогите написать правильно макросы на уменьшение и увеличение яркости RGB

сейчас такой макрос:

Код: Выделить всё
macro_command main()

short a, b, c, d, e, f

GetData(a, "Arduino", 4x, 2#1, 1)// читаем текущее значение
GetData(b, "Arduino", 4x, 2#2, 1)
GetData(c, "Arduino", 4x, 2#3, 1)

d = a - 15
e = b - 15
f = c - 15

SetData(d, "Arduino", 4x, 2#1, 1)
SetData(e, "Arduino", 4x, 2#2, 1)
SetData(f, "Arduino", 4x, 2#3, 1)

end macro_command


работает НО! если например цвет стоит зеленый т.е. значения GetData a, b, c, такие: 255, 0, 0.
то при отрабатывании макроса получается: 240, -15, -15. и т.д. т.е. цвет начинает меняться....

как сделать что бы:
1. задать определенный диапазон от 0 до 255 и что бы макрос за эти рамки значения не подставлял.
2. как сделать если значения равны 0 то их не уменьшать (наверное если решится первый пункт, то и 2й отпадает)

Re: макрос регулировки яркости

СообщениеДобавлено: 15 сен 2017, 20:55
xenonci
macro_command main()

short a, b, c, d, e, f

GetData(a, "Arduino", 4x, 2#1, 1)// читаем текущее значение
GetData(b, "Arduino", 4x, 2#2, 1)
GetData(c, "Arduino", 4x, 2#3, 1)

d = a - 15
if d<0 then
d=0
end if
if d>255 then
d=255
end if
// и так для всех 3 переменных d,e и f
e = b - 15
f = c - 15

SetData(d, "Arduino", 4x, 2#1, 1)
SetData(e, "Arduino", 4x, 2#2, 1)
SetData(f, "Arduino", 4x, 2#3, 1)

end macro_command