Описание UART протокола для Easy HMI 0.1.0

В новой версии программы Easy HMI изменились не только программная часть, но и прошивка для дисплея AT HMI, что повлекло за собой изменение команд для взаимодействия по UART2 с внешними микроконтроллерами. Для тестирования и отладки работы интерфейса можно не подключать внешний микроконтроллер, а использовать USB-TTL конвертер, с помощью которого можно отправлять и получать команды от дисплея. Я использую USB-to-UART PL2303HX. Информацию о настройке работы этого конвертера вы можете найти в отдельной статье.

Получение данных от дисплея по UART2.

Как уже упоминалось в предыдущей статье, ID элемента теперь состоит из 3 цифр в шестнадцатеричной системе счисления (например, A0F). Первая цифра обозначает страницу, на которой расположен элемент:

  • A – Главная страница
  • 1 – Первая страница
  • 2 – Вторая страница
  • 3 – Третья страница
  • 4 – Четвертая страница
  • 5 – Пятая страница

При нажатии на кнопку на главной странице мы получим в порт следующую команду:

BtA06=1

Взаимодействие с внешним микроконтроллером по UART.

Аналогично, с первой страницы команда будет выглядеть так:

Bt106=1

Аналогично, с первой страницы команда будет выглядеть так:

Мы рассмотрели, как получать команды от дисплея. Теперь давайте разберемся, какие команды нужно передавать для управления элементами на дисплее.

Работа с фигурами по UART2.

Для изменения параметров фигуры на дисплее, независимо от того, является ли она фоном или декоративным элементом кнопки, используются одинаковые команды. Чтобы узнать, какой именно элемент нужно изменить, необходимо посмотреть его ID в Easy HMI, который для всех элементов дисплея состоит из 3 шестнадцатеричных чисел (подробнее описано выше).

Работа с фигурами по UART2

Список команд:

  • 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 – изменит цвет на белый.

Работа с кнопками по UART2.

Работа с кнопками по UART2.

Кнопки – более функциональный элемент, и возможностей для изменения у них гораздо больше, что привело к увеличению количества команд:

  • 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 – указатели на команду.
  • После знака равенства указываются значения в указанном формате.

Работа с текстом по UART2.

Работа с текстом по UART2.

В данной версии текст вынесен в самостоятельный элемент, что позволяет более гибко настраивать и изменять параметры текста, используя следующие команды:

  • 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.

Работа с линиями по UART2.

Работа с линиями по UART2.

Линии – достаточно интересный инструмент, позволяющий декорировать элементы интерфейса. Также можно рисовать собственные иконки, используя следующие команды:

  • 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 – координаты третьей точки.
    • И так далее до 10 точки.

Если вам нужно всего 2 точки, команда примет вид: ln.10C.pnt=2;200,100;177,164\n.

Новые команды для управления по UART2.

Приведенный выше список команд – это только основные команды. Можно реализовать возможность изменения параметров практически всех элементов, используемых в Easy HMI при создании виджетов. Вопрос в том, насколько это необходимо. Новые команды будут добавляться по мере необходимости.

Также можно реализовать команды, которые позволят не только изменять готовые элементы, но и создавать новые. Это немного сложнее, но осуществимо.

Новые команды для управления по UART2.

Во время написания этой статьи я вспомнил, что забыл добавить возможность перехода по страницам. Команда будет аналогична той, что использовалась в предыдущей версии:

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.

Спасибо за внимание!
Технологии начинаются с простого!

Фотографии к статье

Комментарии

Ваше Имя*


Разработка проектов