Разработки ecoins для дисплея Nextion

ecoins
Полковник
Сообщения: 4012
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 157 раз

Разработки ecoins для дисплея Nextion

Сообщение ecoins »

WildCat писал(а): 11 дек 2022, 04:52 Параметр "размер массива"?
Не работает (
Странно, проверим.
WildCat писал(а): 11 дек 2022, 04:52 То есть, последовательно в данной реализации нельзя никак увеличить количество выходов? Типа как в сдвиговых регистрах, переносом?
Количество выходов в блоке сделано до 10. Их может быть и много и соотвественно переменных столько, сколько определите в блоке direct.nxt.
WildCat писал(а): 11 дек 2022, 04:52 С передачей кучи бит (зашитых в байт) понятно, но мне нужно числа передавать, причем многие выходят за рамки размерности byte.
Должно передаваться и будет передаваться, потестируем.
WildCat писал(а): 11 дек 2022, 04:52 А когда можно ожидать исправленные блоки?

Готовим релиз новых библиотек, что-то будет и по Nextioт, более основательно к концу новой недели.
WildCat писал(а): 11 дек 2022, 04:52 И всё же, что значит параметр num на входе в блок get.nxt? Как его использовать и на что он влияет?

Num - правильнее назвать начальный адрес переменных на выходах. Если num=3, то на выходах будут переменные из массива->arr[3],arr[4]...
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Разработки ecoins для дисплея Nextion

Сообщение WildCat »

ecoins писал(а): 11 дек 2022, 05:14 Num - правильнее назвать начальный адрес переменных на выходах. Если num=3, то на выходах будут переменные из массива->arr[3],arr[4]...
То есть, допустим, я ставлю 5 блоков get.nxt с размером массива 10, в первом блоке num=1, во втором 11, и так далее, в 5 - num=41 и у меня допустимый диапазон переменных = 50?
Правильно понял?

Может этот параметр назвать start adr?
Так понятнее будет.
А то он назван как в блоке send.nxt, и вводит в заблуждение.
ecoins
Полковник
Сообщения: 4012
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 157 раз

Разработки ecoins для дисплея Nextion

Сообщение ecoins »

WildCat писал(а): 11 дек 2022, 05:19 То есть, допустим, я ставлю 5 блоков get.nxt с размером массива 10, в первом блоке num=1, во втором 11, и так далее, в 5 - num=41 и у меня допустимый диапазон переменных = 50?
Правильно понял?
Да,так.
WildCat писал(а): 11 дек 2022, 05:19 Может этот параметр назвать start adr?
Так понятнее будет.
А то он назван как в блоке send.nxt, и вводит в заблуждение.
Подумаем.
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Разработки ecoins для дисплея Nextion

Сообщение WildCat »

ecoins писал(а): 11 дек 2022, 05:57Да,так
Ну тогда огонь ))

Спасибо Вам за разработку!
Вроде разобрался.

И ваш блок диспетчера попробовал, пока только количество циклов. В остальные вещи надо вникать.
skrickis
Сержант
Сообщения: 159
Зарегистрирован: 05 фев 2017, 12:02
Благодарил (а): 4 раза
Поблагодарили: 16 раз

Разработки ecoins для дисплея Nextion

Сообщение skrickis »

WildCat писал(а): 11 дек 2022, 01:15 skrickis писал(а): ↑Вчера{, 17:31}
ВЛОЖЕНИЯ
Ваш проект дисплея не компилируется.
В условиях отправки лишние циклы.
странно у меня всё компилируется :smile9:
дебаг тоже работает
проект на экране тоже работает
У вас нет необходимых прав для просмотра вложений в этом сообщении.
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Разработки ecoins для дисплея Nextion

Сообщение WildCat »

ecoins писал(а): 14 дек 2020, 14:24 Посмотрю проект и постараюсь понять что тормозит.
Разобрался.
Управление 595 регистром.
Я использовал блок прямого управления входами микросхемы
11 (SRCLK)
12 (RCLK)
14 (SER)
поставил включение платы вывода в регистр по времени (1/100мс), количество цикло увеличилось до 37000...39000.

Ещё явно тормозит процесс блок обработки аналогового мультиплексора.
3 вывода МК управляют номером канала мультиплексора и 1 АЦП на входе. Эту плату тоже сделал по времени, дальше пока непонятно куда ещё можно копнуть.
Неужели перебор адресов входа мультиплексора так тормозит процессор? У меня период перебора 8 адресов 10мс.

Отправлено спустя 3 минуты 16 секунд:
skrickis писал(а): 11 дек 2022, 16:47 странно у меня всё компилируется

:smile37:
У меня ругается компилятор.
Но в любом случае, тоже спасибо за проект, разобрался как разбирать на запчасти поступивший байт и как собрать байт из запчастей )) :smile9:

По ходу дела написал для себя небольшой справочный файл по сборке и разборке )
skrickis
Сержант
Сообщения: 159
Зарегистрирован: 05 фев 2017, 12:02
Благодарил (а): 4 раза
Поблагодарили: 16 раз

Разработки ecoins для дисплея Nextion

Сообщение skrickis »

Удачи :smile9:
ecoins
Полковник
Сообщения: 4012
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 157 раз

Разработки ecoins для дисплея Nextion

Сообщение ecoins »

WildCat писал(а): 11 дек 2022, 23:13 Ещё явно тормозит процесс блок обработки аналогового мультиплексора.
3 вывода МК управляют номером канала мультиплексора и 1 АЦП на входе. Эту плату тоже сделал по времени, дальше пока непонятно куда ещё можно копнуть.
Неужели перебор адресов входа мультиплексора так тормозит процессор? У меня период перебора 8 адресов 10мс.
Так и бывает - "тормоза" в самых неожиданных местах. Для этого удобно использовать диспетчер задач в паре с LCD HD44780 (с библиотекой ecoins он не тормозит) или еще лучше дисплей Nextion(он совсем не тормозит пока буфер вывода UART не перегружается) - в реальном времени можно наблюдать за быстродействием проекта.
WildCat писал(а): 11 дек 2022, 23:13 По ходу дела написал для себя небольшой справочный файл по сборке и разборке )
Полезную работу выполнили, давайте её вставим в какую-то инструкцию по Nextion.
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Разработки ecoins для дисплея Nextion

Сообщение WildCat »

ecoins писал(а): 12 дек 2022, 00:33 давайте её вставим в какую-то инструкцию по Nextion
Я не против, думаю, многим будет полезно.
При всём уважении к Вам и вашей работе, отсутствие инструкций, описаний и т.п. сводит на нет работу. Собственно, я сам для своих изделий (занимаюсь пром автоматикой) пишу подробные инструкции с картинками.

Сейчас то что я написал, не стоит выкладывать, это весьма ограниченная по содержанию информация, но думаю, напишу последовательность действий для таких нубов как я, в перспективе это позволит бо́льшему числу пользователей вникнуть в ваши разработки и оценить их.
Сейчас мне нужно закончить пару проектов, как будет время, займусь. Думаю, в течение одной-двух недель займусь.
ecoins
Полковник
Сообщения: 4012
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 157 раз

Разработки ecoins для дисплея Nextion

Сообщение ecoins »

WildCat писал(а): 12 дек 2022, 01:46 При всём уважении к Вам и вашей работе, отсутствие инструкций, описаний и т.п. сводит на нет работу. Собственно, я сам для своих изделий (занимаюсь пром автоматикой) пишу подробные инструкции с картинками.
При всем уважении к работе команды ecoins, она не обладает бесконечными возможностями и потому подбирает баланс между новыми исследованиями и созданием подробных инструкций. И для кого инструкции: для начинающих, незнакомых с конкретным устройством.
Вот Вы с опытом промышленной автоматизации не смогли "поднять" дисплей, опираясь исключительно на документацию Nextion. Мы подобрали (и подбираем) подходы, которые компанией Nextion не предусмотрено.
WildCat писал(а): 12 дек 2022, 01:46 Сейчас то что я написал, не стоит выкладывать,
Многие из пользователей после того как осваивали что-то, теряли интерес к оформлению своего понимания.
Отчасти это издержки бесплатности используемых программных продуктов.
WildCat писал(а): 12 дек 2022, 01:46 но думаю, напишу последовательность действий для таких нубов как я, в перспективе это позволит бо́льшему числу пользователей вникнуть в ваши разработки и оценить их.
Сейчас мне нужно закончить пару проектов, как будет время, займусь. Думаю, в течение одной-двух недель займусь.
Не настаиваю, но думаю это было бы правильным решением.
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Разработки ecoins для дисплея Nextion

Сообщение WildCat »

Собрал рабочий проект, несколько страниц дисплея, сделал тестовую прошивку для МК, где параметры периодически шлются в дисплей.

Обнаружилась проблема.
В фоновом режиме (когда экран погашен), данные не приходят
photo_2022-12-14_09-30-19.jpg
На скрине видно - с 9:16 до 9:26 дисплей "уснул", и данные не поступили.
Аварии - приходит байт состояния дискретных аварийных состояний.

Это особенность работы дисплея или моя ошибка?

И как я понял, таймеры приема данных и отправки нужно на каждой странице прописывать?
У меня сначала был один таймер для отправки и приема данных, глобальные, и все переменные, которые участвуют в обмене, тоже глобальные. Но прием/отпавка происходит только с активной страницы.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Vint
Рядовой
Сообщения: 54
Зарегистрирован: 07 сен 2015, 10:16
Откуда: Minsk
Благодарил (а): 1 раз

Разработки ecoins для дисплея Nextion

Сообщение Vint »

WildCat писал(а): 14 дек 2022, 09:39 Это особенность работы дисплея или моя ошибка?
это особенность дисплея. У меня подобная засада, при использовании thsp и thup похоже засыпает и порт передачи данных.
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Разработки ecoins для дисплея Nextion

Сообщение WildCat »

[ref]Vint[/ref], в теории, можно отправить команду sleep=0, и панель должна проснуться.
В стандартных блоках flprog общения с nxt есть такой блок.
Но как отправить команду посредством блоков ecoins , я пока чот не понимаю.

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

В общем, я пока не знаю что сделать можно

Отправлено спустя 4 минуты 13 секунд:
Альтернативой вижу гасить подсветку, а по отдельной переменной с контроллера (детектор появления аварии) подсветку включать. Но это не совсем sleep mode, так, костыль.

Отправлено спустя 7 минут 7 секунд:
WildCat писал(а): 14 дек 2022, 10:20 в теории, можно отправить команду sleep=0,
В дебаге проверил, панель пробуждается.

[ref]ecoins[/ref], не подскажете, как отправить команду с помощью ваших блоков? Или нужно что-то дополнительное делать?
Vint
Рядовой
Сообщения: 54
Зарегистрирован: 07 сен 2015, 10:16
Откуда: Minsk
Благодарил (а): 1 раз

Разработки ecoins для дисплея Nextion

Сообщение Vint »

при засыпании панели засыпает и порт, а при пробуждении на экране остаются устаревшие данные. На данный момент я не знаю команды для отключения только подсветки. После пробуждения надо обновлять все данные на странице, пробовал переключаться между страницами, но как то всё это не фэншуйски...
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Разработки ecoins для дисплея Nextion

Сообщение WildCat »

Vint писал(а): 14 дек 2022, 10:53 После пробуждения надо обновлять все данные на странице
У меня после пробуждения данные сами обновляются.
ecoins
Полковник
Сообщения: 4012
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 157 раз

Разработки ecoins для дисплея Nextion

Сообщение ecoins »

WildCat писал(а): 14 дек 2022, 09:39 Это особенность работы дисплея или моя ошибка?
Особенность дисплея и программы. Блоки отправки можно настроить в режиме "По изменениям или периодически". Периодический параметр установить например 1сек и все потерянные при спящем дисплее будут обновляться.
Спит или не спит дисплей тоже можно будет определить.
WildCat писал(а): 14 дек 2022, 09:39 И как я понял, таймеры приема данных и отправки нужно на каждой странице прописывать?
У меня сначала был один таймер для отправки и приема данных, глобальные, и все переменные, которые участвуют в обмене, тоже глобальные. Но прием/отпавка происходит только с активной страницы.
Да, так, но только по отправляемым с текущей страницы данным.
Посмотрите в примере:
TEST_Next_NX8048P070_011_v10_19.09.22.zip
WildCat писал(а): 14 дек 2022, 10:27 ecoins, не подскажете, как отправить команду с помощью ваших блоков? Или нужно что-то дополнительное делать?
В режиме блока отправки по изменениям или периодически ('A').
У вас нет необходимых прав для просмотра вложений в этом сообщении.
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Разработки ecoins для дисплея Nextion

Сообщение WildCat »

Vint писал(а): 14 дек 2022, 10:03 похоже засыпает и порт передачи данных.
Проверил.
Да, порт засыпает с выдачей сообщения 0х86 (auto sleep).
Но только на передачу.

На прием работает )))
Поставил штатный flprog блок на пробуждение, работает )) Панель пробуждается.

Отправлено спустя 1 минуту 43 секунды:
ecoins писал(а): 14 дек 2022, 12:28 В режиме отправка по изменениям или периодически ('A').
Так можно любую команду отправить?
String?
У вас же вроде только цифровые значения блоки отправляют? Или ошибаюсь?

Отправлено спустя 7 минут 11 секунд:
WildCat писал(а): 14 дек 2022, 12:31 Так можно любую команду отправить?
String?
Всё, нашел.
Параметр пользователя
Vint
Рядовой
Сообщения: 54
Зарегистрирован: 07 сен 2015, 10:16
Откуда: Minsk
Благодарил (а): 1 раз

Разработки ecoins для дисплея Nextion

Сообщение Vint »

WildCat писал(а): 14 дек 2022, 11:46 после пробуждения данные сами обновляются.
перефразирую. Если в FLProg-е данные в панель передаются при изменении, после просыпания на экране висит устаревшая информация до ближайшего изменения. В блоке Ecoins есть условие отправки переменной "Периодически или при изменении входа", выставляю 2,5-3 секунды

Отправлено спустя 9 минут 55 секунд:
ecoins писал(а): 14 дек 2022, 12:28 Спит или не спит дисплей тоже можно будет определить.
Это как? Это же можно отправлять данные только при не спящей панельке...
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Разработки ecoins для дисплея Nextion

Сообщение WildCat »

[ref]Vint[/ref],
Так это логично.
Vint писал(а): 14 дек 2022, 12:50Это как?
Перед засыпанием дисплей код шлёт.
ecoins
Полковник
Сообщения: 4012
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 157 раз

Разработки ecoins для дисплея Nextion

Сообщение ecoins »

Vint писал(а): 14 дек 2022, 12:40 перефразирую. Если в FLProg-е данные в панель передаются при изменении, после просыпания на экране висит устаревшая информация до ближайшего изменения. В блоке Ecoins есть условие отправки переменной "Периодически или при изменении входа", выставляю 2,5-3 секунды

В этом режиме данные должны обновляться +-2.5,3сек.
WildCat писал(а): 14 дек 2022, 12:38 На прием работает )))
Поставил штатный flprog блок на пробуждение, работает )) Панель пробуждается.
Интересно. Возможно надо добавить эту функцию. Не очень понимаю по какому свойству(параметру) пробуждать панель?
WildCat писал(а): 14 дек 2022, 12:38 Так можно любую команду отправить?
String?
У вас же вроде только цифровые значения блоки отправляют? Или ошибаюсь?
Можно отправить любую команду в любой параметр описанный на странице - но только когда это страница включена. Это сообщение просто потеряется и просто будет перегружать порт ненужными транзакциями. В новой версии из Nextion при изменении возвращается номер текущей страницы и его можно будет использовать по усмотрению пользователя.
Ответить

Вернуться в «Команда ecoins»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя