Systemvariablen


Die Bezeichnung „interne Systemvariablen“ hört sich eher etwas trocken an, aber diese internen Konfigurationsdaten haben es teilweise wirklich in sich und ermöglichen sehr effektive Aktionen. Die Variablen können über die internen Befehle oder aber über die serielle Schnittstelle im Format „variable=x“ beschrieben und mit „get variable“ gelesen werden.

Variable Beschreibung
dim Helligkeit der Hintergrundbeleuchtung mit Werten zwischen 0 (aus) und 100 (maximale Helligkeit). Nach dem Ausschalten geht der mit „dim“ gesetzte Wert verloren.
dims Funktion wie „dim“ jedoch wird der Wert dauerhaft gesetzt. Nach einem Reset oder Neustart bleibt der Wert erhalten.
baud Standardmäßig läuft die Kommunikation zwischen Nextion-Device und Host-Controller mit 9.600 baud. Sie können die folgenden Werte in die Systemvariable „baud“ schreiben, um die Transferrate zu ändern: 2.400, 4.800, 9.600, 19.200, 38.400, 57.600 und 115.200. Beim Auslesen wird der Wert in 4 byte hexadezimal übertragen. Das niederwertigste Byte kommt zuerst. 0x80 0x25 0x00 0x00 = 2580 hex = 9.600 dez
bauds Identisch zu „baud“ jedoch bleibt der Wert auch nach einem erneuten Einschalten erhalten.
spax Über diese Variable können Sie den Zeichenabstand bei Texten angeben. Standardmäßig ist der Wert auf 0 eingestellt.
spay Neben dem Zeichenabstand ist auch noch der Zeilenabstand variabel einstellbar.
thc Legt die Farbe für das Zeichnen von Objekten auf dem Touchpanel fest. Beispiel: thc=RED
thdra Wenn Sie diese Variable auf „1“ setzen, können Sie direkt auf dem Bildschirm zeichnen und zwar mit der Farbe, die Sie in thc eingestellt haben. Standardmäßig ist thdra Variable auf 0 gesetzt.
ussp Der Wert in „ussp“ bestimmt die Dauer bis zum Aktivieren des Sleep-Modus, falls keine Aktivität auf der seriellen Schnittstelle erfolgt. Sie können Werte von 0 bis 65.535 Sekunden eingeben. 0 ist standardmäßig eingestellt und deaktiviert den autmatischen Sleep-Modus. Im Sleep-Modus werden trotzdem Daten vom Nextion zum Host-Controller gesendet.
thsp Diese Variable ist von der Funktion ähnlich wie „ussp“ allerdings bezieht sich die Überwachung nicht auf die Aktivität der seriellen Schnittstelle, sondern auf das Touch-Panel. Beispiel: Ist „thsp“ auf 10 Sekunden eingestellt, schaltet der Nextion in den Sleep-Modus, wenn 10 Sekunden keine Touch-Aktion erfolgte.
thup Wenn der Nextion in den Sleep-Modus fällt, kann durch Berühren des Bildschirms wieder geweckt werden. Dazu muss allerdings diese Variable vorher auf „1“ gesetzt werden. Standardmäßig ist ihr Wert 0 und das Anklicken bleibt wirkungslos.
sendxy In der Regel werden bei einem Touch-Event nur die Daten gesendet, die im Code oder durch das Aktivieren der ID-Übertragung festgelegt wurden. Wenn Sie allerdings „sendxy“ auf 1 setzen, werden auch die aktuellen Bildschirmkoordinaten gesendet. Das Format sieht dabei folgendermaßen aus:

  • 0x67 — Kennung für die Rückgabe von Koordinaten
  • byte 2 und 3 — x-Koordinate
  • byte 4 und 5 — y-Koordinate
  • byte 6 — Aktion (1 = gedrückt, 0 = losgelassen)
  • byte 7 bis 9 — Terminierung: 0xff 0xff 0xff
delay Wenn Sie in diese Variable einen Wert schreiben, pausiert das Nextion-Display für diese Zeit. Es werden aber trotzdem Daten empfangen, im Puffer abgespeichert und nach Ablauf der Zeit verarbeitet.
sleep Mit sleep=1 können Sie direkt in den Sleep-Modus wechseln und mit sleep=0 wieder in den aktiven Betrieb zurückkehren.
bkcmd Über „bkcmd“ können Sie auswählen, wann der Nextion Rückgabewerte sendet:

  • 0: Es erfolgt keine Rückgabe
  • 1: Rückgaben werden nur im Erfolgsfall erstellt
  • 2: Nur bei Fehlern erfolgt eine entsprechende Rückmeldung (Standard)
  • 3: Es erfolgt im Fehler- und im Erfolgsfall eine Rückgabemeldung
rand Mit „rand“ steht eine Zufallsvariable zur Verfügung. Sie können damit z. B. Anzeigen im Demomodus testen, wenn Sie bei einer Number-Komponente n0.val=rand angeben. Allerdings werden standardmäßig Werte zwischen 0 und 4.294.967.295 erzeugt. Sie können diesen Bereich mit dem randset-Befehl einschränken.
sys0, sys1, sys2 Diese drei 4-Byte-Variablen stehem dem Anwender zur freien Verfügung. sys0, sys1 und sys2 müssen nicht extra erzeugt werden und können, da sie global sind auf allen Seiten genutzt werden.
rtc0 bis rtc5 Nur Enhanced-Modelle: In den Variablen rtc0 bis rtc5 sind die Werte für die Echtzeituhr enthalten. Die Aufteilung ist:

  • rtc0: Jahr
  • rtc1: Monat
  • rtc2: Tag
  • rtc3: Stunde
  • rtc4: Minute
  • rtc5: Sekunde
pio0 bis pio7 Je nach Konfiguration durch den cfgpio-Befehl können Sie über diese Variablen die Werte der GPIO-Pins setzen oder einlesen.
pwm4 bis pwm7 Wenn einer der IO-Pins 4 bis 7 über den cfgpio-Befehl als PWM-Ausgang konfiguriert wurde, können Sie über die Variablen pwm4 bis pwm7 das Tastverhältnis einstellen. Bei pwm4=0 ist das Signal 0, weil die Einschaltdauer 0 % ist, bei pwm4=50 wäre z. B. ein symmetrisches Rechtecksignal die Folge und bei pwm4=100 wäre das Signal dauerhaft auf 1.
pwmf Über „pwmf“ ist die PWM-Frequenz wählbar. Dabei können Sie Werte zwischen 1 (1 Hz) und 65.535 wählen. Für alle als PWM-Ausgang definierten Pins ist die Frequenz gleich.
wup Über die „wup“-Variable wird festgelegt, welche Seite nach einem Wakeup dargestellt wurde. Standardmäßig hat wup den Wert 255, das bedeutet, dass die aktuelle Seite auch wieder dargestellt wird. Bei „wup=3“ wird z. B. nach einem Wakeup die Seite mit der id=3 angezeigt.