I have a C++ application running on embedded linux. I am using
boost::asio to interact with the display over a serial port and this is working well.
I uploaded the TFT file to the nextion screen using the editor and I am able to change text and colours etc using C++ with
I have built an enclosure for the electronics and want the ability to update the device without needing the editor. I have read nextions documentation on the v1.1 upload protocol.
First I send the connect command and I get the following response:
This looks sensible, although I don’t know what the first
3 is as the documentation just states a
I then send the following command:
I then wait for
At this point the screen changes to nextions update screen, so all is going well.
Then I start to send the TFT data in chunks of
4096 and reading after each chunk waiting for
Immediately when I start sending the TFT data I get an error on the screen saying the Model number doesn’t match. It shows the model number:
NX4827P043_011C on the screen.
In the editor I have selected
NX4827P043_011 as the model number (note the no
C at the end as there doesn’t seem to be a version with a
C at the end).
To get the TFT file, I compile in the editor, then go to
File and click
TFT file output. Is this correct? This is the file I am sending to the nextion.
My application does get
0x05 response after each block of
4096 and continues to send the full file. But the nextion just stays on the error screen and when I power cycle the screen it hasn’t updated.
Occasionally instead of of the model number error it will say file version is too low.
Any help would be appreciated.
Does the nextion send 0xFF0xFF0xFF after the 0x05 as well or just 0x05?