sstaub / NextionX2

Library for Nextion displays
MIT License
13 stars 5 forks source link

curentPageID, lastPageID #7

Open InnuendoPi opened 1 year ago

sstaub commented 1 year ago

I'm a little confused because you use return code 0x24 (buffer overflow) instead of 0x66

InnuendoPi commented 1 year ago

I've checked this document. 0x24 is not in use https://wiki.iteadstudio.com/Nextion_Instruction_Set#Format_of_Device_Return_Data As a preinit event 0x24 returns inputString[1] as currentPage. Event rise up only once, when you change the page. So this trigger makes it easy to keep track of currentPage and lastPage. Sendme event (0x66) returns inputString[1] as "active" page. In my tests sendme returns last active page ID while in preinit state. Gruß aus Köln.

sstaub commented 1 year ago

0x24 wird benutzt, siehe Screenshot auf der Webseite. Ich habe in meiner Codeerweiterung leider einen größeren Bug eingefügt, so das etwas dauern wird bis ich den Fehler gefunden habe.

Bildschirm­foto 2022-12-08 um 11 25 30
InnuendoPi commented 1 year ago

Dann ist 0x24 keine geeignete Wahl. Kann ich Dich irgendwie bei der Fehlersuche unterstützen?

sstaub commented 1 year ago

Ich muss den Code unter Umständen neu aufsetzen, die Erweiterungen arbeiten mit aufwendigen Callbacks, ich denke da liegt das Problem. Es gibt dann die Möglichkeit eine Callback Funktion aufzurufen wenn es eine Änderung der Seite gibt. Der Code wird dann über den Returncode 0x66 funktionieren. Du must dann die sendme Befehle dementsprechend bei jeder Seite einfügen. Hat im Simulator problemlos funktioniert.