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

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

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

#141

Сообщение ecoins » 11.12.2022{, 05:14}

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

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

Num - правильнее назвать начальный адрес переменных на выходах. Если num=3, то на выходах будут переменные из массива->arr[3],arr[4]...

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#142

Сообщение WildCat » 11.12.2022{, 05:19}

ecoins писал(а):
11.12.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
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

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

#143

Сообщение ecoins » 11.12.2022{, 05:57}

WildCat писал(а):
11.12.2022{, 05:19}
То есть, допустим, я ставлю 5 блоков get.nxt с размером массива 10, в первом блоке num=1, во втором 11, и так далее, в 5 - num=41 и у меня допустимый диапазон переменных = 50?
Правильно понял?
Да,так.
WildCat писал(а):
11.12.2022{, 05:19}
Может этот параметр назвать start adr?
Так понятнее будет.
А то он назван как в блоке send.nxt, и вводит в заблуждение.
Подумаем.

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#144

Сообщение WildCat » 11.12.2022{, 06:01}

ecoins писал(а):
11.12.2022{, 05:57}
Да,так
Ну тогда огонь ))

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

И ваш блок диспетчера попробовал, пока только количество циклов. В остальные вещи надо вникать.

skrickis
Рядовой
Сообщения: 86
Зарегистрирован: 05.02.2017{, 12:02}
Репутация: 9

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

#145

Сообщение skrickis » 11.12.2022{, 16:47}

WildCat писал(а):
11.12.2022{, 01:15}
skrickis писал(а): ↑Вчера{, 17:31}
ВЛОЖЕНИЯ
Ваш проект дисплея не компилируется.
В условиях отправки лишние циклы.
странно у меня всё компилируется :smile9:
дебаг тоже работает
проект на экране тоже работает
Вложения
4.jpg
2.png
1.jpg

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#146

Сообщение WildCat » 11.12.2022{, 23:10}

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

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

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

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

По ходу дела написал для себя небольшой справочный файл по сборке и разборке )

skrickis
Рядовой
Сообщения: 86
Зарегистрирован: 05.02.2017{, 12:02}
Репутация: 9

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

#147

Сообщение skrickis » 12.12.2022{, 00:15}

Удачи :smile9:

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

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

#148

Сообщение ecoins » 12.12.2022{, 00:33}

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

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#149

Сообщение WildCat » 12.12.2022{, 01:46}

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

Сейчас то что я написал, не стоит выкладывать, это весьма ограниченная по содержанию информация, но думаю, напишу последовательность действий для таких нубов как я, в перспективе это позволит бо́льшему числу пользователей вникнуть в ваши разработки и оценить их.
Сейчас мне нужно закончить пару проектов, как будет время, займусь. Думаю, в течение одной-двух недель займусь.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

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

#150

Сообщение ecoins » 12.12.2022{, 03:03}

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

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#151

Сообщение WildCat » 14.12.2022{, 09:39}

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

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

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

И как я понял, таймеры приема данных и отправки нужно на каждой странице прописывать?
У меня сначала был один таймер для отправки и приема данных, глобальные, и все переменные, которые участвуют в обмене, тоже глобальные. Но прием/отпавка происходит только с активной страницы.

Vint
Рядовой
Сообщения: 54
Зарегистрирован: 07.09.2015{, 10:16}
Репутация: 4
Откуда: Minsk

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

#152

Сообщение Vint » 14.12.2022{, 10:03}

WildCat писал(а):
14.12.2022{, 09:39}
Это особенность работы дисплея или моя ошибка?
это особенность дисплея. У меня подобная засада, при использовании thsp и thup похоже засыпает и порт передачи данных.

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#153

Сообщение WildCat » 14.12.2022{, 10:16}

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

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

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

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

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

ecoins, не подскажете, как отправить команду с помощью ваших блоков? Или нужно что-то дополнительное делать?

Vint
Рядовой
Сообщения: 54
Зарегистрирован: 07.09.2015{, 10:16}
Репутация: 4
Откуда: Minsk

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

#154

Сообщение Vint » 14.12.2022{, 10:53}

при засыпании панели засыпает и порт, а при пробуждении на экране остаются устаревшие данные. На данный момент я не знаю команды для отключения только подсветки. После пробуждения надо обновлять все данные на странице, пробовал переключаться между страницами, но как то всё это не фэншуйски...

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#155

Сообщение WildCat » 14.12.2022{, 11:46}

Vint писал(а):
14.12.2022{, 10:53}
После пробуждения надо обновлять все данные на странице
У меня после пробуждения данные сами обновляются.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

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

#156

Сообщение ecoins » 14.12.2022{, 12:28}

WildCat писал(а):
14.12.2022{, 09:39}
Это особенность работы дисплея или моя ошибка?
Особенность дисплея и программы. Блоки отправки можно настроить в режиме "По изменениям или периодически". Периодический параметр установить например 1сек и все потерянные при спящем дисплее будут обновляться.
Спит или не спит дисплей тоже можно будет определить.
WildCat писал(а):
14.12.2022{, 09:39}
И как я понял, таймеры приема данных и отправки нужно на каждой странице прописывать?
У меня сначала был один таймер для отправки и приема данных, глобальные, и все переменные, которые участвуют в обмене, тоже глобальные. Но прием/отпавка происходит только с активной страницы.
Да, так, но только по отправляемым с текущей страницы данным.
Посмотрите в примере:
TEST_Next_NX8048P070_011_v10_19.09.22.zip
(823.62 КБ) 25 скачиваний
WildCat писал(а):
14.12.2022{, 10:27}
ecoins, не подскажете, как отправить команду с помощью ваших блоков? Или нужно что-то дополнительное делать?
В режиме блока отправки по изменениям или периодически ('A').

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#157

Сообщение WildCat » 14.12.2022{, 12:29}

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

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

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

Отправлено спустя 7 минут 11 секунд:
WildCat писал(а):
14.12.2022{, 12:31}
Так можно любую команду отправить?
String?
Всё, нашел.
Параметр пользователя

Vint
Рядовой
Сообщения: 54
Зарегистрирован: 07.09.2015{, 10:16}
Репутация: 4
Откуда: Minsk

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

#158

Сообщение Vint » 14.12.2022{, 12:40}

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

Отправлено спустя 9 минут 55 секунд:
ecoins писал(а):
14.12.2022{, 12:28}
Спит или не спит дисплей тоже можно будет определить.
Это как? Это же можно отправлять данные только при не спящей панельке...

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#159

Сообщение WildCat » 14.12.2022{, 12:52}

Vint,
Так это логично.
Vint писал(а):
14.12.2022{, 12:50}
Это как?
Перед засыпанием дисплей код шлёт.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

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

#160

Сообщение ecoins » 14.12.2022{, 12:54}

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

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

Ответить

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