Доброго времени суток.
Прошу помочь в поиске решения проблемы, заключающейся в следующем:
В редакторе Nextion рисуем на дисплее две(три) кнопки. Для одной кнопки добавляем переменные состояний "нажата" и "отжата" (все как по мануалу к блоку отслеживания нажатия для Nextion в FLProg). Вторую(третью) оставляем как есть (она нужна для наглядности проблемы). Теперь я хочу, чтобы при нажатии на кнопку 1 загорался светодиод, а цвет кнопки, пока светодиод горит, оставался таким же как в нажатом состоянии кнопки. Т.е. параметр кнопки bco был таким же как bco2 (например кнопка остается зеленой, пока светодиод горит, а когда отжимаешь кнопку - светодиод гаснет, а кнопка становится серой).
Плата такая:
Логика следующая:
1. Кнопка "отжата" : основной цвет - серый, цвет нажатия - тёмно-серый.
2. Кнопка "нажата": основной цвет - зеленый, цвет нажатия - зеленый.
Нажали на кнопку ->загорелся диод + свич изменил значение переменной (col) -> блок Number Change отправил сигнал на отправку измененных параметров кнопки в дисплей.
Теперь собственно проблема:
При такой схеме логика работает, но кнопка жутко промаргивает (перерисовывается по 2 раза на нажатие и 2 раза на отжатие кнопки). Ответ вроде бы очевиден, мол мы отправляем команду на изменение атрибута 2 раза за изменение триггера TT. Но почему перерисовка идет четырежды? И откуда вообще берется моргание, когда мы жмем на кнопку 2? (Ту самую, которую мы добавили для наглядности, у которой вообще нажатие не отслеживается). Если убрать блок изменения атрибута и просто включать-выключать диод - никаких морганий нет. В итоге получается, что при наличии блока отслеживания нажатий (для кнопки) с привязанным к нему блоком изменения атрибута кнопки будет происходить перерисовка этой кнопки при нажатии на любую кнопку на экране.
Как это лечить?