В новой версии программы Easy HMI изменились не только программная часть, но и прошивка для дисплея AT HMI, что повлекло за собой изменение команд для взаимодействия по UART2 с внешними микроконтроллерами. Для тестирования и отладки работы интерфейса можно не подключать внешний микроконтроллер, а использовать USB-TTL конвертер, с помощью которого можно отправлять и получать команды от дисплея. Я использую USB-to-UART PL2303HX. Информацию о настройке работы этого конвертера вы можете найти в отдельной статье.
Последняя версия Easy HMI и Datasheet на дисплеи AT HMI.
Как уже упоминалось в предыдущей статье, ID элемента теперь состоит из 3 цифр в шестнадцатеричной системе счисления (например, A0F). Первая цифра обозначает страницу, на которой расположен элемент:
При нажатии на кнопку на главной странице мы получим в порт следующую команду:
BtA06=1
Аналогично, с первой страницы команда будет выглядеть так:
Bt106=1
Мы рассмотрели, как получать команды от дисплея. Теперь давайте разберемся, какие команды нужно передавать для управления элементами на дисплее.
Для изменения параметров фигуры на дисплее, независимо от того, является ли она фоном или декоративным элементом кнопки, используются одинаковые команды. Чтобы узнать, какой именно элемент нужно изменить, необходимо посмотреть его ID в Easy HMI, который для всех элементов дисплея состоит из 3 шестнадцатеричных чисел (подробнее описано выше).
Список команд:
pl.A03.pos=200;100\n
// Позицияpl.A03.siz=200;100\n
// Размерpl.A03.col=000000;CCCCCC\n
// ЦветОписание:
pl
– указывает на то, что мы работаем с фигурами.A03
– ID элемента на главной странице.pos
, siz
, col
– указатели на команду.Цвет задается в формате RGB888. В команде передаются 2 цвета градиента: 000000
– черный (#000000) и CCCCCC
– серый (#CCCCCC). Если нужно сделать фигуру без градиента, передайте 2 одинаковых цвета, например: pl.A03.col=FFFFFF;FFFFFF\n
– изменит цвет на белый.
Кнопки – более функциональный элемент, и возможностей для изменения у них гораздо больше, что привело к увеличению количества команд:
bt.A06.pos=200;100\n
// Позицияbt.A06.siz=200;100\n
// Размерbt.A06.col=000000;CCCCCC\n
// Цветbt.A1F.swi=1\n
// Состояние кнопки с фиксацией. Для обычных кнопок не работает.bt.A06.stt=1\n
// Блокирует любую кнопку.Описание:
bt
– указывает на то, что мы работаем с кнопкой.A06
– ID элемента на главной странице.pos
, siz
, col
, swi
, stt
– указатели на команду.
В данной версии текст вынесен в самостоятельный элемент, что позволяет более гибко настраивать и изменять параметры текста, используя следующие команды:
tx.A09.pos=200;100\n
// Позицияtx.A09.txt=Привет\n
// Текстtx.A09.col=000000\n
// ЦветОписание:
tx
– указывает на то, что мы работаем с текстом.A09
– ID элемента на главной странице.pos
, txt
, col
– указатели на команду.Цвет задается в формате RGB888. В команде передается 1 цвет: 000000
– черный (#000000). Если нужно изменить текст на белый цвет, отправьте команду tx.A09.col=FFFFFF\n
.
Линии – достаточно интересный инструмент, позволяющий декорировать элементы интерфейса. Также можно рисовать собственные иконки, используя следующие команды:
ln.10C.pos=20,50\n
// Позицияln.10C.pnt=10;200,100;177,164;117,198;50,187;6,134;6, 66;50, 13;117, 2;177, 36;200,100\n
// Точки линииln.10C.col=000000\n
// ЦветОписание:
ln
– указывает на то, что мы работаем с линиями.10C
– ID элемента на первой странице.pos
, pnt
, col
– указатели на команду.Цвет задается в формате RGB888. В команде передается 1 цвет: 000000
– черный (#000000). Если нужно изменить линию на белый цвет, отправьте команду tx.A09.col=FFFFFF\n
.
Давайте разберемся с командой ln.10C.pnt=10;200,100;177,164;117,198;50,187;6,134;6, 66;50, 13;117, 2;177, 36;200,100\n
. Часть до знака равенства понятна. Что же представляет собой набор цифр после него?
10
– количество точек. В программе можно задать до 5 точек, а здесь – 10. Таким образом, изменив количество точек, можно сделать линию длиннее.200,100
– координаты первой точки.177,164
– координаты второй точки.117,198
– координаты третьей точки.Если вам нужно всего 2 точки, команда примет вид: ln.10C.pnt=2;200,100;177,164\n
.
Приведенный выше список команд – это только основные команды. Можно реализовать возможность изменения параметров практически всех элементов, используемых в Easy HMI при создании виджетов. Вопрос в том, насколько это необходимо. Новые команды будут добавляться по мере необходимости.
Также можно реализовать команды, которые позволят не только изменять готовые элементы, но и создавать новые. Это немного сложнее, но осуществимо.
Во время написания этой статьи я вспомнил, что забыл добавить возможность перехода по страницам. Команда будет аналогична той, что использовалась в предыдущей версии:
sc.1.num=2\n
– Перейти на страницу 2 (0 – главная страница, 1-5 страницы).
Описание:
sc
– указывает на то, что мы работаем со страницей.1
– идентификатор, может быть любым числом. Не используется в команде.num
– указатель на команду. Перейти на страницу 2 (0 – главная страница, 1-5 страницы).
Важно! Easy HMI предназначена в первую очередь для дисплеев AT HMI, но также поддерживает и некоторые дисплеи сторонних производителей.
По все вопросам вы можете написать мне в соц. сетях:
Понравилась статья Описание UART протокола для Easy HMI 0.1.0? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в Telegram.
Спасибо за внимание!
Технологии начинаются с простого!
Фотографии к статье
Виджеты для Easy HMI
Читайте также
Мы в соц сетях
Комментарии