Datenbefehle

Datenbefehle


get

get cmp.val
get "string"
get 1234

Der get-Befehl veranlasst das Senden von Daten über die serielle Schnittstelle. Dabei sind unterschiedliche Formate möglich:

Beispiele:
get n0.val: Veranlasst die Übertragung des Wertes der Number-Komponente "n0".
get "test": Sendet den String "test". Diese Möglichkeit ist eigentlich nur sinnvoll, wenn er im Kontext eines Events verwendet wird.
get 20: Sendet die 20 (hex:14) in einem Block von 4 Bytes (0x14 0x00 0x00 0x00). Bei der byteweisen Übertragung wird das niederwertige Byte zuerst gesendet.
get 1234: Sendet die 1234 (hex: 4D2) in einem Block von 4 Bytes (0xD2 0x04 0x00 0x00).

Der Übertragung wird allerdings noch eine Formatierung vorangestellt: 0x70 bei einem String und 0x71 bei einem byteweisen Format.

 
Beispiel-Befehl vom Host: get t0.txt 0xff 0xff 0xff Holt den Text-Value der Komponente t0.
Die Antwort wird in diesem Fall mit dem Wert 0x70 beginnen, dann folgen die Zeichen des Strings und den abschließenden 3 Terminierungszeichen.

print

print cmp.val
print "string"
print 1234

Der print-Befehl veranlasst das Senden von Daten über die serielle Schnittstelle. Der ist nahezu identisch zum get-Befehl, nur das Formatierungszeichen fehlt. Auch hier sind unterschiedliche Formate möglich:

Beispiele:
print n0.val: Veranlasst die Übertragung des Wertes der Number-Komponente "n0".
print "test": Sendet den String "test". Diese Möglichkeit ist eigentlich nur sinnvoll, wenn er im Kontext eines Events verwendet wird.
print 20: Sendet die 20 (hex:14) in einem Block von 4 Bytes (0x14 0x00 0x00 0x00). Bei der byteweisen Übertragung wird das niederwertige Byte zuerst gesendet.
print 1234: Sendet die 1234 (hex: 4D2) in einem Block von 4 Bytes (0xD2 0x04 0x00 0x00).
 
Beispiel-Befehl vom Host: print n0.val 0xff 0xff 0xff Holt den Zahlen-Value der Komponente n0.

printh

printh hex hex

Der printh-Befehl veranlasst das Senden zweier hexadezimaler Bytes, die im Parameter im String-Format eingegeben werden

Beispiel:
printh 12 a2: Veranlasst die Übertragung von 0x12 und 0xa2 in der Reihenfolge der Eingabe.
 
Beispiel-Befehl vom Host: printh a0 ff 0xff 0xff 0xff Sendet die beiden Bytes 0xa0 und 0xff ohne abschließende Terminierung.

cov

cov quelle,ziel,laenge

Der cov-Befehl konvertiert eine String-Variable in ein Integer-Format und umgekehrt. Die Anzahl der Zeichen wird über den 3. Parameter "laenge" angegeben. Dieser bezieht sich allerdings immer auf den String (s. Beispiele). Ist er 0 wird automatisch die Länge des Strings gewählt:

Beispiele:
cov t0.txt,n0.val,0: Wenn t0.txt den Inhalt "1234" enthält, beträgt der Wert von n0.val im Anschluss die Integer-Zahl "1234". Wäre der Inhalt von t0.txt "123.45" wäre n0.val im Anschluss 123, weil das Komma nicht konvertierbar ist. Ist kein Zeichen konvertierbar (z. B. "test") dann ist das Ergebnis 0.
cov n0.val,t0.txt,3: In diesem Fall ist die Konvertierung umgekehrt und der Integerwert n0.val wird in eine Zeichenkette gewandelt, die 3 Zeichen lang ist. Hätte n0.val den Wert "12345", so würde die Text-Komponente nach diesem Befehl den String "123" anzeigen. Ist das Format der Quelle und des Ziel gleich, scheitert die Konvertierung.
 
Beispiel-Befehl vom Host: cov t0.txt,n0.val,0 0xff 0xff 0xff

randset

randset min,max

Der Nextion arbeitet mit einer ganzen Reihe interner Variablen, die von außen gelesen bzw. gesetzt werden können. Dazu finden Sie hier ausführliche Informationen. Eine dieser Variablen ist "rand", die bei jedem Zugriff eine Zufallszahl zwischen 0 und 4294967295 erzeugt. Für viele Anwendungen ist dieser Bereich jedoch zu groß und deshalb könnne Sie ihn mit dem Befehl randset min,max beschränken

Beispiel:
randset 10,200: Setzt den Wert der Zufallsvariable "rand" auf 10 bis 200 (inklusive)
 
Beispiel-Befehl vom Host: randset 20,100 0xff 0xff 0xff

strlen

strlen string,variable

Der Befehl "strlen" ermittelt die Länge eines Strings (1. Parameter) und speichert sie als Integer in einer Variablen (2. Paramater). Dabei kann es sich um eine interne Variable handeln oder um die val-Eigenschaft einer Komponente. Der Wert muss immer in einer Variablen gespeichert werden. Er wird nach erfoglreicher Ausführung nicht über die serielle Schnittstelle als Rückgabewert übertragen.

Beispiel:
strlen t0.txt,n0.val: Ermittelt die Länge des Textes der Komponente "txt" und zeigt sie in der Number-Komponente "n0" an.
 
Beispiel-Befehl vom Host: strlen t0.txt,laenge 0xff 0xff 0xff: Die Länge des Textes von t0 wird in der internen Variable "laenge" gespeichert.

repo

Nur Enhanced-Modelle

repo integer,adresse
repo string,adresse

Der Befehl "repo" steht für "Read EEPROM" und erlaubt das gezielte Auslesen von Speicherstellen in eine Integer-Variable oder eine Zeichenkette. Die Länge ist bei einer Integer fest auf 4 Byte fixiert, bei einem String wird die Länge durch den Ziel-String bestimmt.

Beispiele:
repo t0.txt,100: Ist zum Zeitpunkt der Befehlsauführung der Text von t0.txt z. B. 5 Zeichen lang, werden 5 + 1 Zeichen ab Speicherstelle 100 aus dem EEPROM gelesen und der Variabeln t0.txt zugeordnet.
repo n0.val 100: In diesem Fall werden 4 Byte beginnend bei Speicherstelle 100 gelesen und der Variablen n0.val zugewiesen.
 
Beispiel-Befehl vom Host: repo t0.txt,200 0xff 0xff 0xff

wepo

Nur Enhanced-Modelle

wepo integer,adresse
wepo string,adresse

Der Befehl "wepo" steht für "Write EEPROM" und erlaubt das gezielte Beschreiben von Speicherstellen aus einer Integer-Variablen oder einer Zeichenkette. Die Länge ist bei einer Integer fest auf 4 Byte fixiert, bei einem String wird die Länge durch den Quell-String bestimmt.

Beispiele:
wepo t0.txt,100: Der Inhalt von t0.txt z. B. + 1 Zeichen wird in den EEPROM-Speicher ab Adresse 100 geschrieben.
wepo n0.val 100: In diesem Fall wird der Wert von n0.val als 4 Byte lange Integerzahl beginnend bei Speicherstelle 100 ins EEPROM geschrieben.
 
Beispiel-Befehl vom Host: wepo t0.txt,200 0xff 0xff 0xff

rept

Nur Enhanced-Modelle

rept adresse,laenge

Der Befehl "rept" sendet eine Anzahl von Bytes (laenge) direkt in einem Ablauf zum Host. Dieser Befehl ist sehr gut für das blockweise Übertragen von EEPROM-Inhalten geeignet.

Beispiel:
rept 100,10: Es werden 10 Byte aus dem EEPROM beginnend bei Adresse 100 über die serielle Schnittstelle gesendet.
 
Beispiel-Befehl vom Host: rept 200,100 0xff 0xff 0xff

wept

Nur Enhanced-Modelle

wept adresse,laenge

Das Gegenstück zum rept-Befehl ist das wept-Kommando. In diesem Fall wird eine gegebene Anzahl von Bytes (laenge) ins EEPROM geschrieben. Dabei ist der folgenden Ablauf zu beachten:

Erst ca. 5 ms nach Ausführen des wept-Befehls ist das EEPROM im Nextion bereit, Daten zu speichern. Der Nextion sendet dann die Sequenz: “0xFE 0xFF 0xFF 0xFF" als Ready-Signal über die serielle Schnittstelle. Dieses Signal sollte abgefragt werden, um erst danach mit dem Senden zu beginnen. Wurde der wept-Befehl ausführt, kann er nicht vorzeitig beendet werden. Erst nach dem die eingestellt Anzahl von Bytes empfangen wurden, kehrt der Nextion in den normalen Befehlsmodus zurück.

Beispiel:
wept 100,10: Der Nextion speichert die nächsten 10 Bytes, die über die serielle Schnittstelle vom Host gesendet werden als Binärdaten im EEPROM ab Adresse 100.
 
Beispiel-Befehl vom Host: wept 200,10 0xff 0xff 0xff