Страница 15 из 24

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

Добавлено: 02 май 2023, 17:32
dmitriydef
[ref]ecoins[/ref], с помощью блока UART я понял. А как этими блоками передать строку в дисплей?
Скриншот 02-05-2023 172908.jpg

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

Добавлено: 02 май 2023, 17:58
ecoins
Снимок экрана 2023-05-02 174654.png
Примерно так, блок из последней версии, профессиональный редактор. У Вас в примере простой редактор.
С уважением, Энвер.

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

Добавлено: 03 май 2023, 12:55
dmitriydef
ecoins писал(а): 02 май 2023, 17:58 Снимок экрана 2023-05-02 174654.png
Примерно так, блок из последней версии, профессиональный редактор. У Вас в примере простой редактор.
Так, кстати, не работает. Когда ставишь тип транзакции "Т" блок вообще ничего не пушит. Возможно, волшебное "С контролем Page" играет роль... Получилось с типом транзакции "Инструкция без параметров"...

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

Добавлено: 03 май 2023, 18:35
ecoins
dmitriydef писал(а): 03 май 2023, 12:55 Так, кстати, не работает. Когда ставишь тип транзакции "Т" блок вообще ничего не пушит. Возможно, волшебное "С контролем Page" играет роль...
Отправлять параметр имеет смысл, когда открыта страница, на которой он расположен.
Если страница на дисплее не открыта, дисплей на запрос ответит обратной ошибочной транзакцией.
Ничего страшного не происходит, но некоторая избыточность обмена возникает.
Для этого и сделан это волшебное "с контролем страницы".
Выбранное Вами решение также вполне работоспособно.
С уважением, Энвер.

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

Добавлено: 06 май 2023, 09:42
dmitriydef
В общем, финализируя приключения с флпрог, проект с использованием ecoins для nextion отожрал 99 процентов динамической памяти:) Всё тоже самое, со встроенным модулем заняло 67 процентов. После выпиливания проверки текущей страницы и объявления объектов в глобал скопе дисплея, проект вполне себе заработал.
Первый опыт nocode программирования считаю таким себе… Результат мало предсказуем. Лучше кодить по старинке - руками:)

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

Добавлено: 06 май 2023, 12:52
ecoins
dmitriydef писал(а): 06 май 2023, 09:42 В общем, финализируя приключения с флпрог, проект с использованием ecoins для nextion отожрал 99 процентов динамической памяти:) Всё тоже самое, со встроенным модулем заняло 67 процентов. После выпиливания проверки текущей страницы и объявления объектов в глобал скопе дисплея, проект вполне себе заработал.
Первый опыт nocode программирования считаю таким себе… Результат мало предсказуем. Лучше кодить по старинке - руками:)
И неплохо переходить с контроллеров с малой динамической памятью(UNO, Nano) на контроллеры с большей динамической памятью(Mega2560,ESP8266,ESP32,STM32,Raspberry Pi Pico) - многие искусственные проблемы перестанут беспокоить... :yes:
С уважением, Энвер.

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

Добавлено: 06 май 2023, 14:19
WildCat
[ref]dmitriydef[/ref],
А можно краткое описание проекта, и какой контроллер применяется?

Я на днях завершил свой проект.
20 окон дисплея, суммарно чуть более 100 переменных участвуют в обмене между МК и дисплеем. С памятью всё в порядке. С производительностью тоже (около 8500 циклов в секунду)
Esp32.
dmitriydef писал(а): 06 май 2023, 09:42 Всё тоже самое, со встроенным модулем заняло 67 процентов
Со штатными блоками nextion проект хоть что-то вообще может делать?

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

Добавлено: 06 май 2023, 15:21
dmitriydef
WildCat писал(а): 06 май 2023, 14:19 А можно краткое описание проекта, и какой контроллер применяется?
NX1060P101-011C-I, ATmega328, MCP2515, 74HC165N 2шт., GPS neo-6m
Задача вывести на дисплей три страницы: панель приборов вездехода (контрольки, показометры), данные can-шины ebu двс, данные gps.
WildCat писал(а): 06 май 2023, 14:19 Я на днях завершил свой проект.
20 окон дисплея, суммарно чуть более 100 переменных участвуют в обмене между МК и дисплеем. С памятью всё в порядке. С производительностью тоже (около 8500 циклов в секунду)
Esp32.
Ну, логично, что большому проекту большой камень:) В моём случае восьмибитного мк вполне хватило.
WildCat писал(а): 06 май 2023, 14:19 Со штатными блоками nextion проект хоть что-то вообще может делать?
Может, если эту канитель выпилить...
Скриншот 06-05-2023 150836.jpg
Скриншот 06-05-2023 151137.jpg
ecoins писал(а): 06 май 2023, 12:52 И неплохо переходить с контроллеров с малой динамической памятью(UNO, Nano) на контроллеры с большей динамической памятью(Mega2560,ESP8266,ESP32,STM32,Raspberry Pi Pico) - многие искусственные проблемы перестанут беспокоить...
Ага, в любой непонятной ситуации меняй железо:)

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

Добавлено: 06 май 2023, 15:25
ecoins
dmitriydef писал(а): 06 май 2023, 15:21 Ага, в любой непонятной ситуации меняй железо:)
В Вашем случае ситуация понятная... :no:
У Вас стоимость дисплея в >50 раз дороже используемого котролллера.

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

Добавлено: 06 май 2023, 15:33
dmitriydef
ecoins писал(а): 06 май 2023, 15:25 В Вашем случае ситуация понятная...
У Вас стоимость дисплея в >50 раз дороже используемого котролллера.
И поэтому для выполнения простых операций к нему надо было прикрутить вай-фай с блютузом?:)

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

Добавлено: 06 май 2023, 15:38
ecoins
dmitriydef писал(а): 06 май 2023, 15:33 И поэтому для выполнения простых операций к нему надо было прикрутить вай-фай с блютузом?:)
...достаточно динамической памяти, и в некоторых случаях и подешевле :)

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

Добавлено: 06 май 2023, 16:20
WildCat
[ref]dmitriydef[/ref], блюпуп с вафлей в данном случае - почти бесплатная опция, которую не обязательно использовать. Та же самая нано или микро не дешевле есп32, а по характеристикам сильно уступает.
Но выбор за Вами, конечно.

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

Добавлено: 06 май 2023, 17:27
Phazz
[ref]dmitriydef[/ref], можно взять rp2040, стоимость ниже - мощность выше. Но вы уже решили проблему, только мне был не понятен выбор изначально контроллера. Почему нужно заплатить за 8 бит дороже?

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

Добавлено: 06 май 2023, 18:29
dmitriydef
Phazz писал(а): 06 май 2023, 17:27 [ref]dmitriydef[/ref], можно взять rp2040, стоимость ниже - мощность выше. Но вы уже решили проблему, только мне был не понятен выбор изначально контроллера. Почему нужно заплатить за 8 бит дороже?
Ну, камон, это ж единичный проект, стоимость мк здесь мало на что влияет:) С чем знаком из того и собрал:)

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

Добавлено: 06 май 2023, 18:35
Phazz
Верно, стоимость вообще не существенная по сравнению со стоимостью экрана. Поэтому проще заменить контроллер на более мощный, чем тратить время на ковыряние кода.

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

Добавлено: 06 май 2023, 23:18
dmitriydef
Phazz писал(а): 06 май 2023, 18:35 Верно, стоимость вообще не существенная по сравнению со стоимостью экрана. Поэтому проще заменить контроллер на более мощный, чем тратить время на ковыряние кода.
Проще изобрести танк, чем отремонтировать дороги. Флуд пошёл... Как бы нет. Так программисты не рассуждают.

Вот автор сам пишет, что для глобальных переменных не надо запрашивать номер страницы.
Снимок экрана 2023-05-06 в 22.56.47.png
А по факту, что бы мы не делали, блок генерит код, который постоянно пушит запросы на получение текущей страницы. И вместо того, чтобы решить эту проблему, мы пишем разухабистый ecoins. Он вроде как ok, но тащит за собой свои траблы. По-моему что-то не так в консерватории. Возможно, из-за нежелания ковыряться в коде:)

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

Добавлено: 07 май 2023, 06:39
Rovki
dmitriydef писал(а): 06 май 2023, 23:18

Так программисты не рассуждают.

Не обижайтесь , форум как бы не для программистов , в основном . Потому и решения предлагают оптимальные со всех сторон :smile44: , в том числе и по железу. А так ,да- совершенству нет предела . Тут главное понять, что важнее - путь или цель :smile37: . Кому то сам процесс движения нравиться , а другой любыми путями(даже обходными) стремиться к цели. Кто первый достиг , тот и прав, имхо.

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

Добавлено: 28 май 2023, 18:54
ShishkaRoman
Доброго времени суток.
В чем может быть проблема?
При прошивке D1 R2 - IDE выдает ошибку.
При смене контроллера на ESP-32 ошибки нет.
Использую блок NEXTION от ecions direct.nxt


[spoiler]In file included from d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/RT_HW_BASE.h:66,
from d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/RT_HW_NEXT.h:61,
from C:\Users\Roman.Shishka\AppData\Local\Temp\flprog\pr9\pr9.ino:7:
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:239:73: error: 'D9' was not declared in this scope; did you mean 'D8'?
239 | const uint8_t PROGMEM RT_HW_PGM_PIN_ALL[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~
| D8
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:239:76: error: 'D10' was not declared in this scope; did you mean 'D1'?
239 | const uint8_t PROGMEM RT_HW_PGM_PIN_ALL[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~~
| D1
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:240:73: error: 'D9' was not declared in this scope; did you mean 'D8'?
240 | const uint8_t PROGMEM RT_HW_PGM_PIN_DIN[] ={255,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10, RT_HW_PGM_END};
| ^~
| D8
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:240:76: error: 'D10' was not declared in this scope; did you mean 'D1'?
240 | const uint8_t PROGMEM RT_HW_PGM_PIN_DIN[] ={255,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10, RT_HW_PGM_END};
| ^~~
| D1
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:247:73: error: 'D9' was not declared in this scope; did you mean 'D8'?
247 | const uint8_t PROGMEM RT_HW_PGM_PIN_N5V[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~
| D8
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_005_Board descriptions/Board_511_ESP8266.hpp:247:76: error: 'D10' was not declared in this scope; did you mean 'D1'?
247 | const uint8_t PROGMEM RT_HW_PGM_PIN_N5V[] ={D0, D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,A0,RT_HW_PGM_END};
| ^~~
| D1
In file included from d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/RT_HW_BASE.h:119,
from d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/RT_HW_NEXT.h:61,
from C:\Users\Roman.Shishka\AppData\Local\Temp\flprog\pr9\pr9.ino:7:
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_010_API System.h/API_015_SystemFuncNamePinSTM32_h.hpp: In member function 'String RT_HW_BASE::getNamePin(uint8_t)':
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_010_API System.h/API_015_SystemFuncNamePinSTM32_h.hpp:16:9: error: 'D9' was not declared in this scope; did you mean 'D8'?
16 | if(pin==D9) {return String(F("D9"));}
| ^~
| D8
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_010_API System.h/API_015_SystemFuncNamePinSTM32_h.hpp:17:9: error: 'D10' was not declared in this scope; did you mean 'D1'?
17 | if(pin==D10){return String(F("D10"));}
| ^~~
| D1
In file included from d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/RT_HW_BASE.h:132,
from d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/RT_HW_NEXT.h:61,
from C:\Users\Roman.Shishka\AppData\Local\Temp\flprog\pr9\pr9.ino:7:
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_050_API Console.h/API_052_ConsoleHeadFunc_h.hpp: In member function 'void RT_HW_BASE::consolePinsAll()':
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_050_API Console.h/API_052_ConsoleHeadFunc_h.hpp:81:61: error: 'D9' was not declared in this scope; did you mean 'D8'?
81 | {consoleVar(String(F("[D9-D10,A0]----->"))); uint8_t arr[]={D9,D10,A0}; consoleArrVar(arr,'E',mess.lenPin,'P',3);}
| ^~
| D8
d:\Program Files\FLProg\ideV7\libraries\RT_00_HW_BASE_v7.05_01.07.22\src/BASE_050_API Console.h/API_052_ConsoleHeadFunc_h.hpp:81:64: error: 'D10' was not declared in this scope; did you mean 'D1'?
81 | {consoleVar(String(F("[D9-D10,A0]----->"))); uint8_t arr[]={D9,D10,A0}; consoleArrVar(arr,'E',mess.lenPin,'P',3);}
| ^~~
| D1
Несколько библиотек найдено для "SoftwareSerial.h"
Используется: D:\Program Files\FLProg\ideV7\portable\packages\esp8266\hardware\esp8266\3.0.0\libraries\SoftwareSerial
Не используется: d:\Program Files\FLProg\ideV7\portable\sketchbook\libraries\Esp32-SoftwareSerial
Не используется: d:\Program Files\FLProg\ideV7\portable\sketchbook\libraries\Esp32-SoftwareSerial-master
exit status 1
Ошибка компиляции для платы LOLIN(WEMOS) D1 R2 & mini.
[/spoiler]

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

Добавлено: 29 май 2023, 10:27
ecoins
Попробуйте выбрать вместо
ShishkaRoman писал(а): 28 май 2023, 18:54 LOLIN(WEMOS) D1 R2 & mini.
Generic ESP8266 или NodeMCU . По смыслу это тоже самое, контроллер LOLIN мы не прописывали отдельной платой. Если надо, можем прописать его и другие.
С уважением, Энвер.

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

Добавлено: 29 май 2023, 17:15
ShishkaRoman
Если это не займёт много вашего времени, прошу добавить.
За ранее спасибо