Панель NEXTION

На этом форуме Вы можете задать вопросы знатокам программы и автору.
SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06 фев 2016, 11:01
Откуда: Ярославль
Имя: Сергей

Панель NEXTION

Сообщение SSSergeich »

Ursinoid писал(а): 14 авг 2019, 21:00 У меня тоже старые проекты открываются с кракозябрами вместо коментов! А переделывать это как, только программный код или всё полностью заново делать?
А Вы их не пересохранили в новой версии? Попробуйте старую установить, в ней как?
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Панель NEXTION

Сообщение grin-mpx »

1. Когда открываете старый проект в IDE не соглашайтесь на адаптацию проекта под новый IDE. Как только согласитесь- фсё :smile44:
Жмете крестик в выскочившем окне.
2. Ничего не трогая в проекте импортируете каждую страницу в отдельности в какую-то папку.
3. Запускаете еще одну копию программы Nextion IDE и создаете новый проект с таким-же дисплеем.
4. Экспортируете страницы в порядке очереди в новый проект.
5. Компилируете, сохраняете под другим именем.

Отправлено спустя 47 секунд:
SSSergeich писал(а): 14 авг 2019, 21:13 А Вы их не пересохранили в новой версии?
Уже в новой версии.Выше описал как делал.

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

Панель NEXTION

Сообщение Vint »

Делаете копию проекта. Открываете проект в версии редактора 053, открываете его копию в 058-ой версии . Копируете описания из старого проекта и вставляете в егО копию, сохраняете изменённый проект с новой версией. КракоБяки исчезают. Лекарство конечно не быстрое, но хоть что-то. Условие одно - проект не должен быть переписан/сохранён в новой версии.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 34 раза
Поблагодарили: 5 раз

Панель NEXTION

Сообщение Siberian »

В nextion editor V-0.58 не будут работать проекты созданные в V-0.53. Шрифты тоже не совпадают.
Тем более, если открыть проект созданный в V-0.53 при помощи V-0.58, а затем сохранить его, то в последующем он не будет работать и в V-0.53.
Переделывать не получится, нужно создавать проект с нуля, либо в V-0.53, либо в V-0.58.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 34 раза
Поблагодарили: 5 раз

Панель NEXTION

Сообщение Siberian »

Для открытия проектов созданных до версии nextion editor V-0.58, существует редактор nextion editor LTS. https://nextion.tech/nextion-editor-ver-0-58/#_section2

Но тоже есть не соответствия с V-0.53.
Если в V-0.53 создать атрибут number, в секции val указать трехзначное число, например 123, а в секции lenth указать отображение одного знака, то будет отображаться последний знак трехзначного числа, в нашем случае "3".
Если всё тоже самое проделать в версии LTS, то будет отображаться первый знак, т.е. "1".
number.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ursinoid
Рядовой
Сообщения: 60
Зарегистрирован: 06 май 2018, 19:18
Имя: Михаил

Панель NEXTION

Сообщение Ursinoid »

Я сейчас установил обе версии редактора и 0.58 и 0.53. Ну так, на всякий случай! Хотя не понятно почему разрабы так сделали, обычно более поздние версии какой-либо программы ничего не меняют в старых разработках, а даже наоборот делают возможность пересохранить старые разработки в новой версии.
Ursinoid
Рядовой
Сообщения: 60
Зарегистрирован: 06 май 2018, 19:18
Имя: Михаил

Панель NEXTION

Сообщение Ursinoid »

День добрый, grin-mpx ваш вариант моего проекта заработал, но в процессе доработки кода вылезло следующее: т.к. таймеры отрабатывают только на текущей странице, решил делать таймеры для каждой страницы отдельно, начав с нулевой, из кода я выбросил извлечение значения температуры радиатора,т.к. он на этой странице не используется, и у меня перестал работать так как надо таймер. У показаний температуры блока обрезается крайняя цифра, а температура воздуха вообще не вычисляется. Посмотри код пожалуйста где я сделал косяк?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
gerasim
Рядовой
Сообщения: 24
Зарегистрирован: 08 дек 2018, 19:11
Имя: александр

Панель NEXTION

Сообщение gerasim »

вопрос по панели нехтион подключаю к ардуино с панели все управление идет а с обратной связью ничего не получается пробовал сменить картинку на кнопках и на рисунках все молчит хотя если делать эти действия внутри панели все работает подскажите куда смотреть
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Панель NEXTION

Сообщение grin-mpx »

Ursinoid писал(а): 30 авг 2019, 23:04 Посмотри код пожалуйста где я сделал косяк?
Трудно что-то сказать. Я не вижу ни количество знаков # в посылке в переменные, ни общую длину самой посылки. Попробуйте заполнить переменные строками которые прилетают с ардуины и выложите сюда. Результат не обещаю, с временем очень туго.

Отправлено спустя 17 минут 37 секунд:
gerasim писал(а): 31 авг 2019, 13:07 вопрос по панели нехтион подключаю к ардуино с панели все управление идет а с обратной связью ничего не получается пробовал сменить картинку на кнопках и на рисунках все молчит хотя если делать эти действия внутри панели все работает подскажите куда смотреть
В рекомендации по изложению сути проблемы с сылкой на источники этой проблемы. Т.к. источниками проблемы являются файлы с расширением .flp и .HMI которые Вы не выложили, дальнейшее участие народных масс в обсуждении Вашего вопроса не представляется возможным. :spiteful:
А если серьезно, прочитайте свой вопрос, Вы бы смогли на такой вопрос с такими вводными ответить? Без проектов?
Выложите, может и проблему найдем.
Ursinoid
Рядовой
Сообщения: 60
Зарегистрирован: 06 май 2018, 19:18
Имя: Михаил

Панель NEXTION

Сообщение Ursinoid »

Посылка прилетает в панель такая: page0.sin1.txt="25#25#84#5#25#1#”. После моих издевательств над кодом, от первого числа остаётся только первая цифра, второе число я хотел пропустить на этой странице, третье число должно конвертироваться и из него вычитается 60, опять конвертация, и на выходе я должен получить число 24, но на выходе число -55 кажется, остальные уже не извлекаются.
И ещё вопрос мне не понятно, почему оператор substr page0.sin1.txt,va1.txt,va4.val,1, в цикле работает как надо, то-есть извлекает число из посылки полностью, а если я его пишу отдельно, вне цикла, то он извлекает только одну цифру? Я понимаю, что это из-за цифры 1 в коде, но в цикле этот оператор извлекает всё число от разделителя до другого разделителя, м как это можно обойти?
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Панель NEXTION

Сообщение grin-mpx »

Ursinoid писал(а): 01 сен 2019, 01:06 После моих издевательств над кодом
В общем так, код Вы испоганили конкретно. Не вижу смысла исправлять. Ищите ранее выложенный код и адаптируйте.
Ursinoid писал(а): 01 сен 2019, 01:06 второе число я хотел пропустить на этой странице, третье число должно конвертироваться и из него вычитается 60, опять конвертация, и на выходе я должен получить число 24
Код я Вам дал только для извлечения значений из строки. Считаю Ваш подход к манипуляциям с значениями в теле кода совершенно не верными и не практичными.
Я бы сделал так:
1. В первом таймере извлечение значений по признаку # и размещения их в переменные, а не сразу в текстовое поле .
2. В втором таймере произвести необходимые конвертации с переменными, преобразования +/- и пр. по каждому из значений.
3. В этом же таймере вывести/не вывести результаты в необходимые текстовые поля.
И вообще, не могу понять зачем все эти манипуляции с извлечением, если у Вас на странице всего 8 значений. Почему не слать напрямую в текстовые поля. Я бы еще понял проблему вывода 20 и более, но тут... Кроме того, всю математику можно организовать на ардуине.
Ursinoid
Рядовой
Сообщения: 60
Зарегистрирован: 06 май 2018, 19:18
Имя: Михаил

Панель NEXTION

Сообщение Ursinoid »

Про разные таймеры с разделением так сказать "труда" я не подумал, огромное спасибо за подсказку! А вот математика и так делается в нужном количестве в ардуине, в данном же случае, просто было принято решение, что в панель должны приходить положительные числа, а в панели они уже принимают, если надо конечно, отрицательные значения. Я просто не знаю, как передаётся знак числа в текстовой переменной, поэтому и сделал так.

Отправлено спустя 4 минуты 55 секунд:
И ещё мне так и не понятно, почему отдельно взятый оператор оператор substr page0.sin1.txt,va1.txt,va4.val,1 работает совершенно иначе чем в таймере. И почему когда в таймере я решил пропустить извлечение одного значения прирастив переменную va4 на 2, а не как надо на 1, таймер перестал работать.
SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06 фев 2016, 11:01
Откуда: Ярославль
Имя: Сергей

Панель NEXTION

Сообщение SSSergeich »

Ursinoid писал(а): 02 сен 2019, 08:25 И ещё мне так и не понятно, почему отдельно взятый оператор оператор substr page0.sin1.txt,va1.txt,va4.val,1 работает совершенно иначе чем в таймере. И почему когда в таймере я решил пропустить извлечение одного значения прирастив переменную va4 на 2, а не как надо на 1, таймер перестал работать.
Михаил, Вы бы пример приложили, легче было бы понимать
Ursinoid
Рядовой
Сообщения: 60
Зарегистрирован: 06 май 2018, 19:18
Имя: Михаил

Панель NEXTION

Сообщение Ursinoid »

if(sin1.txt!="")
{
if(va3.val==0)
{
substr page0.sin1.txt,va1.txt,va4.val,1 //va4=0
t6.txt=sin1.txt
n0.val=va4.val
va2.txt=va2.txt+va1.txt
if(va1.txt=="#")
{
va2.txt=va2.txt-1
t5.txt=va2.txt
tox.txt=va2.txt+"c"//температура блока
va2.txt=""
va3.val=va3.val+2 //va3=2
}
va4.val=va4.val+2 //va4=2
}
//=====================================
//**Начало 2 поиска значение для ta0.
// Температура наружного воздуха
// Все что будет после ВТОРОГО и до ТРЕТЪЕГО
// знака # запишется в va0.
// Температура воздуха до запятой.
if(va3.val==2)
{
substr sin1.txt,va1.txt,va4.val,1
va2.txt=va2.txt+va1.txt
if(va1.txt=="#")
{
va2.txt=va2.txt-1
cov va2.txt,va10.val,0
va10.val=va10.val-60
cov va10.val,va0.txt,0
va2.txt=""
va3.val=va3.val+1
}
va4.val=va4.val+1 //va4=3
}
Это тот кусочек кода про который я говорил. После извлечения первого числа, я решил перескочить сразу к извлечению третьего числа, именно поэтому и сделал приращение переменной va4 на 2, но это почему-то не сработало. Если брать извлечение чисел по порядку, то приращение переменной должно быть на 1.
А сколько переменных допускается создавать в панели? И что лучше, отправлять все переменные одной строкой, или лучше все переменные отправлять по-отдельности, хотя и одновременно?
LapuLeen
Рядовой
Сообщения: 9
Зарегистрирован: 07 мар 2019, 18:03
Имя: Сергей

Панель NEXTION

Сообщение LapuLeen »

Mega и Nextion NX4024K032_011 заметные тормоза даже от одного блока "Задать параметр". Почему с дугими блоками для Nextion, заметных тормозов вроде нет, и можно ли как-либо это исправить? Скорость порта установил 115200, не особо помогло.
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Панель NEXTION

Сообщение grin-mpx »

LapuLeen писал(а): 06 сен 2019, 23:04 можно ли как-либо это исправить
Можно. Например отправлять параметр только тогда, когда это нужно.
И что значит тормоза?

Отправлено спустя 2 минуты 32 секунды:
LapuLeen писал(а): 06 сен 2019, 23:04 Скорость порта установил 115200, не особо помогло.
Естественно. Тем самым нагрузили ардуину еще больше.
LapuLeen
Рядовой
Сообщения: 9
Зарегистрирован: 07 мар 2019, 18:03
Имя: Сергей

Панель NEXTION

Сообщение LapuLeen »

grin-mpx писал(а): 07 сен 2019, 01:21 Можно. Например отправлять параметр только тогда, когда это нужно.
Так и сделано.
grin-mpx писал(а): 07 сен 2019, 01:21 И что значит тормоза?
Переключение меню пауза в 1.5с.

В общем с одним блоком тормоза заметны только если Nextion подключен на softserial, в целом стало понятно, что тормозит именно ардуина, х.з хватит ли её вообще, время как говорится покажет.
Ursinoid
Рядовой
Сообщения: 60
Зарегистрирован: 06 май 2018, 19:18
Имя: Михаил

Панель NEXTION

Сообщение Ursinoid »

Всем добрый вечер. Мой проект кажется работает,но у меня возникли несколько вопросов по моему проекту. Как сделать чтобы в индикаторах Gauge, не моргали стрелки. Если напрямую передавать параметр от входа ардуины, то стрелки не моргают, а если через таймер, то моргают. И ещё как сделать, что-бы аналоговое значение не скакало. Объясняю, на аналоговом входе, где снимается параметр положения датчика топлива, напряжение стоит устойчиво, плавно меняясь в зависимости от положения поплавка( в коечном итоге по простому это положение ползунка переменного сопротивления), а вот при передаче в панель происходит постоянное изменение показаний, хотя поплавок не трогается, в результате показания скачут в среднем на +- 4 единицы, хотя доходило и до 10 единиц. Пробовал вывести датчик в максимальное значение, что-бы не двигался ползунок, показания всё равно скачут. Как с этим бороться, подскажите. И ещё один важный для меня вопрос, почему не работает код написанный в поле кода страницы, как это можно сделать. В старой версии редактора я вставлял код вывода показаний индикатора Gauge( и стрелки кстати не мерцали), и отслеживания пороговых значений параметра, и это работало, в новой версии редактора это почему-то не работает.
Проект выкладываю окончательного вида, на данное время.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Спросить у знатоков»

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

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