Страница 2 из 2

Подскажите по NEXTION панели

Добавлено: 11.12.2019{, 12:42}
Brand2
KulibinOrsk, пример в студию пожалуйста

Подскажите по NEXTION панели

Добавлено: 11.12.2019{, 13:18}
KulibinOrsk
Brand2, Вам что пример из 2-х строчек с флпрог нужен ? Или хотите фот-видео с панелей ?

Подскажите по NEXTION панели

Добавлено: 11.12.2019{, 15:38}
grin-mpx
KulibinOrsk писал(а):
11.12.2019{, 12:02}
- вывести и текст и фигуры различных цветов и в любое место программы
Во первых, не в любое, а на ТЕКУЩУЮ страницу.
KulibinOrsk писал(а):
11.12.2019{, 14:13}
support, полагаю что во всех версиях (я проверил на 5.3.0) не работает вывод текста в панель NEXTION в частности NX3224T028-011.
Пытаюсь использовать панель просто как цветной дисплей (очень удобно кстати) и вот с flprog не выводит текст, при этом круги, квадраты разными цветами все отрабатывает.
Вот объясните мне, как чистая панель может вывести текст если в ней нет ШРИФТОВ. Даже в том параметре где Вы указали, отправка текста НА ТЕКУЩУЮ СТРАНИЦУ! нужно указать ID шрифта, а он заливается ТОЛЬКО из Nextion Editor.
send.jpg
Отправлено спустя 13 минут 35 секунд:
KulibinOrsk писал(а):
11.12.2019{, 13:18}
Brand2, Вам что пример из 2-х строчек с флпрог нужен ? Или хотите фот-видео с панелей ?
Ценю Ваш юмор про 2 строчки. Отправка текста HELLO на дисплей, на текущую страницу.
Может Вы 2 блока имели ввиду?
СпойлерПоказать
struct _nextionLissenStruct{
char code;
String result;
long number;
};
_nextionLissenStruct _nextionTempLissen;
bool _nextionPaintTXT1_OldStae = 0;
bool _trgrt1 = 0;
bool _trgrt1I = 0;

void setup()
{

Serial2.begin(9600, SERIAL_8N1);
nextionSendCommand("", 2);
nextionSendCommand("page 0", 2);

}
void loop()
{

String _tempVariable_String;





//Плата:1
if (!(0)) { if (_trgrt1I) { _trgrt1 = 0;} else {_trgrt1 = 1; _trgrt1I = 1;} } else {_trgrt1 = 0; _trgrt1I = 0;};
if ( _trgrt1) { if ( ! _nextionPaintTXT1_OldStae) {_nextionPaintTXT1_OldStae = 1 ; _tempVariable_String = String ("xstr ") + String ("0") + String (",") + String ("0") + String (",") + String ("0") + String (",") + String ("0") + String (",") + String ("0") + String (",") + String ("0") + String (",") + String ("0") + String (",") + String ("1") + String (",") + String ("1") + String (",") + String ("1") + String (",\"") + String (" HELLO") + String ("\"");
nextionSendCommand(_tempVariable_String.c_str(), 2);}} else { _nextionPaintTXT1_OldStae = 0; }






}

bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}
struct _nextionLissenStruct nextionSendCommand(const char* cmd, byte port )
{
while (Serial2.available()){Serial2.read(); }
Serial2.print(cmd);
Serial2.write(0xFF);
Serial2.write(0xFF);
Serial2.write(0xFF);
return nextionListen(port);
}
struct _nextionLissenStruct nextionListen( byte port )
{
byte _bite;
byte _end = 0xff;
byte cmd[100];
int index = 0;
_nextionLissenStruct temp;
temp.result = "";
temp.code = 'z';
temp.number = 0;
int countEnd = 0;
delay(50);
long startTime = millis();
while(! (countEnd==3)) {
while(Serial2.available()>0){
if(Serial2.available()>0){
_bite = Serial2.read();
cmd[index] = _bite;
index++;
if(_bite == _end){countEnd++;}
if(countEnd == 3){break;}
}}
if(_isTimer(startTime, 100)) {return temp;}
}
switch (cmd[0]) {
case 0x66:
temp.code = 'f';
temp.result = String(cmd[1], DEC);
return temp;
break;
case 0x70:
temp.code = 'p';
for (int i = 1; i < index - 3; i++) {
temp.result += char(cmd);}
return temp;
break;
case 0x71:
temp.code = 'q';
temp.number = uint32_t(cmd[4]) << 24 | uint32_t(cmd[3]) << 16 | uint32_t(cmd[2]) << 8 | uint32_t(cmd[1]);
return temp;
break;
default:
return temp;
break;
}
return temp;
}
int nextionAskPageNamper(byte port)
{
int result;
_nextionLissenStruct temp;
temp = nextionSendCommand("sendme",port);
if((temp.code == 'f')&&(temp.result != "")){result = temp.result.toInt();} else {result = -1;}
return result;
}


Подскажите по NEXTION панели

Добавлено: 11.12.2019{, 17:13}
KulibinOrsk
grin-mpx, вообще то тут речь про FLprog, так к сведению... Поэтому отправка текста и какой-нибудь фигуры из флпрог есть 2 строчки (утрированно).
Насчет выбора ID я пробовал разные варианты. Единственное не понятно: где в Nextion Editor указываем ID шрифта при создании пустого проекта. Вот тут может быть весь косяк, но пока с этим мутно все.

Подскажите по NEXTION панели

Добавлено: 11.12.2019{, 18:01}
grin-mpx
KulibinOrsk писал(а):
11.12.2019{, 17:13}
Единственное не понятно: где в Nextion Editor указываем ID шрифта при создании пустого проекта. Вот тут может быть весь косяк, но пока с этим мутно все.
Его нельзя просто так указать. Для начала его нужно сгенерировать. https://habr.com/ru/company/flprog/blog/392561/
Видео, включая генерацию шрифтов, примерно с 11 минуты.
СпойлерПоказать

Подскажите по NEXTION панели

Добавлено: 11.12.2019{, 22:48}
Nikan
.

Подскажите по NEXTION панели

Добавлено: 11.12.2019{, 23:13}
SSSergeich
Nikan писал(а):
11.12.2019{, 22:48}
SSSergeich писал(а):
11.12.2019{, 12:05}
Думаю, многим будет интересен такой обзор!
Не слышал про такие.
в этой теме viewtopic.php?f=45&t=5946
Спасибо! Заинтересовался!)

Подскажите по NEXTION панели

Добавлено: 12.12.2019{, 07:21}
KulibinOrsk
grin-mpx, благодарю за подсказку. Сгенерил. Заработало. Видимо тот большой дисплей был со шрифтами с завода, это то и внесло смуту что во всех должно быть...
Осталось решить ситуацию с русским шрифтом, чтобы не вставлять текст картинками, хотя и это будет не плохо.

Подскажите по NEXTION панели

Добавлено: 12.12.2019{, 09:33}
SSSergeich
KulibinOrsk писал(а):
12.12.2019{, 07:21}
Осталось решить ситуацию с русским шрифтом,
Что не так с русскими шрифтами?

Подскажите по NEXTION панели

Добавлено: 12.12.2019{, 10:21}
KulibinOrsk
SSSergeich, каракули вместо текста. Хотя и выбрал iso8995-5 (как было рекомендовано для отображения кирилицы)

Подскажите по NEXTION панели

Добавлено: 12.12.2019{, 11:49}
SSSergeich
KulibinOrsk, А в дебаггере нормально?

Подскажите по NEXTION панели

Добавлено: 13.02.2020{, 08:45}
sser
В Nextion editor отвалилась нижняя панель служащая для соединения с Некстион через СОМ порт.
операционка (Windows 7).
http://arduino.ru/sites/default/files/u25112/n1.jpg
Сейчас вот так :
http://arduino.ru/sites/default/files/u25112/n2.jpg
Кто знает как решить эту проблему?
Reset Layout- не помогло, удаление программы -не помогло,откат версии-не помог..... :smile37:
Пробовал на другом компе -там всё нормально...

Подскажите по NEXTION панели

Добавлено: 13.02.2020{, 09:23}
Brand2
sser, у вас на картинке n2.jpg в строке SEND COMMAND TO выбран CURRENT SIMULATOR,поэтому Вв и не видите строку для соединения с COM PORT,на n1.jg же установленно NEXTION DEVICE,поэтому и появляется строка для подключения к COM порту.

Подскажите по NEXTION панели

Добавлено: 13.02.2020{, 11:04}
sser
Верхняя строка для связи с физической панелью.
А нижняя для подключения эмулятора панели к ардуине.
Это ничего не меняет.
Смотрите :

Подскажите по NEXTION панели

Добавлено: 13.02.2020{, 21:07}
moiseenko75
KulibinOrsk, Нужные надписи можно прописать в дисплее и по нужным условиям будет выводится та или иная надпись даже нужного цвета или бегущая строка не нагружая ардуину. Вот тут можно поковыряться повыписывать https://nextion.tech/editor_guide/ то что может пригодится. Чем больше впитываешь информации тем больше начинает играет фантазия реализации необходимого.