support, полагаю что во всех версиях (я проверил на 5.3.0) не работает вывод текста в панель NEXTION в частности NX3224T028-011.
Пытаюсь использовать панель просто как цветной дисплей (очень удобно кстати) и вот с flprog не выводит текст, при этом круги, квадраты разными цветами все отрабатывает.
Вот объясните мне, как чистая панель может вывести текст если в ней нет ШРИФТОВ. Даже в том параметре где Вы указали, отправка текста НА ТЕКУЩУЮ СТРАНИЦУ! нужно указать ID шрифта, а он заливается ТОЛЬКО из Nextion Editor.
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 Editor указываем ID шрифта при создании пустого проекта. Вот тут может быть весь косяк, но пока с этим мутно все.
grin-mpx, благодарю за подсказку. Сгенерил. Заработало. Видимо тот большой дисплей был со шрифтами с завода, это то и внесло смуту что во всех должно быть... Осталось решить ситуацию с русским шрифтом, чтобы не вставлять текст картинками, хотя и это будет не плохо.
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/ то что может пригодится. Чем больше впитываешь информации тем больше начинает играет фантазия реализации необходимого.