Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doesn't parse the example file #5

Open
az143 opened this issue Jul 11, 2022 · 4 comments
Open

doesn't parse the example file #5

az143 opened this issue Jul 11, 2022 · 4 comments

Comments

@az143
Copy link

az143 commented Jul 11, 2022

i cloned the repository last week, head is at 3009b0d, and it doesn't work at all, not even on the provided example file:

calling python3 TFTTool.py -i Example/HSV\ Test.tft
results in
Warning: No instruction set found that matches editor version nxt-1.61.1. You won't be able to decode any usercode.
...
Exception: A valid instruction set is required to decode the usercode.

@az143
Copy link
Author

az143 commented Jul 11, 2022

the parent revision c96ffd6 works.

@MMMZZZZ
Copy link
Contributor

MMMZZZZ commented Aug 10, 2022

TL;DR that old one didn't complain but it's not really trustworthy either. I should've updated the example files I guess. Furthermore I think it'd be a good idea to add an option to list the supported editor versions.
In the meantime you could change the editor version with TFTTool and rerun it but - again - the result will be garbage because Nextions instruction encoding sucks (see below).

Long version:

The reason is that the decoding is much more complicated than what I thought since it's been designed with absolutely zero compatibility in mind. Instructions literally get their opcode from the order in which they appear in the editor source code. Whenever that order changes (added instruction, removed instruction, randomly moved one around), it breaks compatibility. Also, the order is specific to every model series. That means that for every nextion and tjc editor version as well as for every single series of screens the encoding of the instructions changes. Thus for every single case it needs to be determined and added to TFTTool for proper decoding.

I originally didn't know that and thus hardcoded the values from editor v1.61 and different device series into TFTTool. Thus it worked properly for some v1.61.1 files but was neither reliable nor compatible with anything else. The latest push "fixed" that by adding awareness of the editor version, including proper decoding of the latest versions as well as v0.58 since I needed that one, too. The decoding list of the previous version of TFTTool vanished because it was neither complete nor trustworthy. Determining the full list is more work than I was willing to spend on that old version.

If you want or need support for that version (or any other one), you can join the UNUF discord and we can discuss stuff there: https://unofficialnextion.com/t/welcome-to-the-unofficial-nextion-tjc-user-forum/8

Kind regards,
Max

@ctschach
Copy link

Just stumbled across the same problem. Is there a solution yet?

@haski369
Copy link

haski369 commented Apr 6, 2024

Just stumbled across the same problem. Is there a solution yet?

Still no solution...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants