[SLOT_n]
mode = dwin

Программный модуль сенсорного дисплея DWIN по UART: читает изменения регистров VP и переключает страницы экрана.

Совместимость

Принцип работы

Модуль обменивается с дисплеем по протоколу DWIN (UART, 115200 бод). Изменения регистров VP, которые дисплей шлёт при нажатии кнопок и вводе значений, публикуются событиями вида event/VP_xxxx, где xxxx — адрес регистра: четыре шестнадцатеричные цифры в нижнем регистре (VP_1000, VP_10a0). Payload — 16-битное значение регистра.

Обратно на дисплей можно отправить команду смены страницы (setPage) — модуль пишет номер страницы в системный регистр 0x0084. Пока модуль спит (enable = 0), события с дисплея не публикуются и команды не выполняются.

Набор регистров VP зависит от проекта, залитого в дисплей, поэтому в манифесте модуля он не перечислен — конкретные адреса берутся из проекта дисплея.

Топики

База топика события:

  • <deviceName>/dwin_<slot> — например moduleBox/dwin_0

База топика действия:

  • <deviceName>/dwin_<slot> — например moduleBox/dwin_0

Полный топик — база плюс направление и имя: moduleBox/dwin_0/action/setPage.

Опции

Доступные опции:

  • disableOnStartфлаг, стартовать в выключенном состоянии и ждать action/enable со значением 1. По умолчанию модуль активен сразу.

События

ТопикPayloadОписание
dwin_<slot>/event/enable0 / 1Активен 1 или спит 0

Помимо enable, модуль публикует события по адресам регистров VP:

ТопикPayloadОписание
dwin_<slot>/event/VP_xxxxцелое, 0–65535Новое значение регистра VP с адресом xxxx (hex, нижний регистр)

Пример: топик moduleBox/dwin_0/event/VP_1000, payload 3.

Команды

ТопикPayloadОписание
dwin_<slot>/action/setPage0255Перейти на страницу экрана по номеру
dwin_<slot>/action/enable0 / 1Включить (1) или выключить (0) модуль

Примеры

[SLOT_2]
mode = dwin
;кнопка на экране (регистр VP 1000) запускает трек
crosslink = dwin_2/event/VP_1000:@->player_0/action/play:@
 
[SLOT_0]
mode = mp3Player
;по завершении трека вернуть дисплей на первую страницу
crosslink = player_0/event/endOfTrack:#->dwin_2/action/setPage:1

Подробнее — внутренние связи (crossLink).