2. Ее успешная реализация в том числе реализуется с распределением временных ресурсов контроллера и буферированием обмена через UART.
3. "Медлительность" блоков FLProg Nextion отмечали нескольких пользователей.
4. Этим постом анонсируем начавшую работу по создании библиотеки и блоков для работы с дисплеем NEXTION.
--------------------------------------------------------------------------
Последние версии библиотек размещаются в теме "Экосреда ecoins"
=> viewtopic.php?f=247&t=8064#p114987
------------------------------------------------------------------------
1.Вышла версия Nextion Editor 1.6.12. По сравнению с предыдущей версией (0.53) у нее есть важные дополнительные возможности. Поэтому библиотека и блоки разрабатываются под новый редактор.
2.После поиска и исследований выбран следующий протокол обмена:
2.1. Из контроллера в дисплей (NXT) в текстовой форме: va0.val=0x12FA45DE, или va1.val=5 --> Запись in32t_t в NXT (без контроля достоверности). В NXT должны быть зарезервированы переменные va0,va1...и так с запасом, скажем до 32 (размер памяти позволяет). Если передается не существующая переменная, то запись игнорируется.
2.2. Из дисплея в контроллер упрощенное подобие ModBus ASCII:
1-байт - идентификатор начала посылки =':'
2-байт - тип посылки =1 передача байт; =2 передача uint16_t; =3 передача uint32_t;
3-байт - кол-во данных
.... передаваемые данные
n-байт - контрольная сумма
n+1 13 10 (коды завершения посылки).
В блоке FLProg должны будут зарезервированы необходимые буфера. Если данных больше чем буфер, то лишние данные отбрасываются.
Разработанный протокол - компромисс между скоростью и надежностью обмена, а также простотой реализации (в NXT большие программы писать не очень удобно).
-----
3. Дисплей посылает данные в контроллер , если они данные изменились или периодически(например 1раз в сек) для поддержания активного обмена.
Контроллер работает аналогично.
Устройства не ожидают подтверждения об отправленных посылок и потому обмен быстрый.
Прием и передача (RX,TX) независимы.
--------------------
Дисплей с большими возможностями, но имеющиеся программные продукты прямолинейны и тормозные.
Предлагаемая разработчиками библиотека ITEADLIB_Arduino_Nextion_master в наших разработках использовать не планируется - она избыточная, "тормозная" и т.п.
--------------------
Если есть какой-то опыт использования дисплея NXT, идеи по организации обмен, оформлению и т.п. - пишите.
Если есть вопросы по работе NXT - задавайте, ответим.
--------------------
Базовая библиотека (других библиотек не требуется) Библиотеки ПБ Тестовый пример для дисплея Тестовый пример для FLProg Платформенно независима, тест проверялся на MEGA2560
===================
Очень полезный вклад от пользователя WildCat -инструкции: