WildCat писал(а): ↑30.10.2022{, 02:26}
Столкнулся с необходимостью использовать дисплей с обратной связью, выбрал nextion. В штатном использовании flprog проблем с программированием нет, всё просто и понятно, но тут же влип в проблему резкого падения производительности МК (в 1000 раз уменьшилось количество циклов). Гуглил проблему, наткнулся на эту тему. По описанию вашего продукта понятно, для чего он, но вот по применению есть вопросы.
Именно так. Потому мы и создали библиотеку и блоки.
Время реакции в обе стороны визуально почти мгновенная и совсем не тормозит основной проект.
Из сложностей - придется немного начать разбираться в скриптах для дисплея, они весьма и весьма примитивные и потому не очень удобные.
Напишите точно какой тип дисплея и контроллер Вы используете, будет проще предлагать Вам тесты.
WildCat писал(а): ↑30.10.2022{, 02:26}
1. Нужна ли всё же дополнительная блиблиотека для работы с вашими блоками?
Она уже есть(RT_HW_NEXTION.h) в составе библиотеки RT_HW_00_BASE_xxxxxx.
В новой версии мы наверное выделим ее в отдельную библиотоеку.
WildCat писал(а): ↑30.10.2022{, 02:26}
2. Достаточно ли трёх блоков init.nxt, val.nxt, get.nxt для программирования передачи данных на дисплей?
В принципе да. Сейчас добавился еще блок для вывода не стирающихся при переключении окон графиков. Сейчас тестируется одним из пользователей, пока не выкладывали.
WildCat писал(а): ↑30.10.2022{, 02:26}
3. Вы пишете что нужно определять переменные int32 в дисплее, а в блоках есть выбор типов переменных v8, v16, v32. Это что, и зачем?
Все так. В дисплее только один тип данных, но там и с памятью проблем нет.
В принципе и в контроллере можно пользоваться только переменными v32, но это не рационально с точки зрения использования памяти и в 8-битных контроллерах (AVR) немного уменьшит быстродействие.
WildCat писал(а): ↑30.10.2022{, 02:26}
4. Есть ли возможность считывать id страницы с дисплея, и передавать/считывать только те данные, которые на активной странице?
В новой версии это уже есть и вывод номера страницы можно настроить в блоке управления.
Но по сути это оказывается и не особо нужно.
WildCat писал(а): ↑30.10.2022{, 02:26}
5. Каким образом назначить, скажем, полю n0.val значение передаваемой/принимаемой переменной? Как я понял, имена переменных и их аргумент в nextion не будут участвовать а передаче данных?
Именно так. Переменная n0 (и другие определяемые в секции program.s Nextion) глобальные и могут быть использованы на любой страницы.
WildCat писал(а): ↑30.10.2022{, 02:26}
6. Все действия - через integer, с преобразованием (при необходимости) на стороне МК и в поле обработки событий nextion?
Возможно не совсем понял вопрос. но в общем да.
WildCat писал(а): ↑30.10.2022{, 02:26}
7. Будут ли работать ваши блоки без диспетчера задач, или нужно использовать в проекте вообще всё на блоках ecoins?
Диспетчер не обязателен, но его применение ощутимо ускоряет проект, поскольку в каждом цикле loop() вызываются не все платы.
WildCat писал(а): ↑30.10.2022{, 02:26}
8. В первом посте файл примера прошивки для дисплея не верный (в архиве дубль файла для flprog).
Возможно. Но есть примеры в сообщениях темы.
WildCat писал(а): ↑30.10.2022{, 02:26}
И ещё вопрос.
Имеет ли смысл сейчас (пока не разобрался с вашими блоками) использовать костыль в виде промежуточного контроллера, который будет буфером между основным МК и nextion? Или он заткнется передавать данные между двумя UART?
Данных у меня будет достаточно много, суммарно на проект около 50 переменных (но они раскиданы между несколькими окнами)
Не думаю, попробуйте сразу какие-то примеры.
50 переменных не должно быть проблемой.
Вы наверное используете Arduino DUE?
В одном из постов выделил его как весьма удачный, несмотря на то, что ему уже много лет.
Но он совсем не дешевый, у меня было несколько штук, сгорели(ремонтировать не пробовали), больше покупать не стали.