ECMDScript: Unterschied zwischen den Versionen
Habo (Diskussion | Beiträge) (→Beispiele für ECMD Script) |
Habo (Diskussion | Beiträge) (→ECMD Scripting) |
||
Zeile 3: | Zeile 3: | ||
Scripting soll dazu dienen ohne Änderung an der Firmware Scripte zu ermöglichen. | Scripting soll dazu dienen ohne Änderung an der Firmware Scripte zu ermöglichen. | ||
− | Dafür gibt es | + | Dafür gibt es diese Befehle mit entsprechenden Parametern: |
− | # wait | + | # wait MILLISEKUNDEN |
− | # set | + | # set VARIABLE WERT |
− | # get | + | # get VARIABLE |
− | # inc | + | # inc VARIABLE |
− | # dec | + | # dec VARIABLE |
− | # if | + | # if ( VERGLEICH OPERATOR KONSTANTE ) then ECMD |
− | # call | + | # call DATEI |
# exit | # exit | ||
− | # goto | + | # goto ZEILENNUMMER |
− | # rem | + | # rem BELIEBIGER_TEXT |
− | # echo | + | # echo BELIEBIGER_TEXT |
− | Erläuterungen zu den Befehlen sind in der [[Ecmd Reference]] | + | * VERGLEICH kann eine VARIABLE oder ein ECMD sein |
+ | ** zur Unterscheidung wird der VARIABLE ein % vorangestellt | ||
+ | * OPERATOR kann folgendes sein: eq ne OK ! == != > < >= <= | ||
+ | ** Textvergleiche sind: eq und ne | ||
+ | ** bei ! und OK wird die KONSTANTE irgnoriert, muss aber dennoch angegeben werden | ||
+ | * DATEI muss aus dem Dateisystem kommen, komprimierte Dateien aus dem inline System ist aber nicht möglich | ||
+ | * Die ZEILENNUMMER gibt eine Zeilennummer aus der DATEI an. Andere Werte oder Konstellationen sind unsinnig | ||
+ | * Die Leerzeichen sind wichtig. Insbesondere bei 'if' | ||
+ | * Die Anzahl der VARIABLEN ist begrenzt, das kann aber in der Menuconfig geändert werden | ||
+ | * Die Länge einer Zeile ist begrenzt auf den ECMD Buffer. (ca 50 Zeichen) | ||
+ | |||
+ | Weitere Erläuterungen zu den Befehlen sind in der [[Ecmd Reference]] | ||
== Beispiele für ECMD Script Aufrufe == | == Beispiele für ECMD Script Aufrufe == |
Version vom 26. Juni 2009, 23:18 Uhr
ECMD Scripting
Scripting soll dazu dienen ohne Änderung an der Firmware Scripte zu ermöglichen.
Dafür gibt es diese Befehle mit entsprechenden Parametern:
- wait MILLISEKUNDEN
- set VARIABLE WERT
- get VARIABLE
- inc VARIABLE
- dec VARIABLE
- if ( VERGLEICH OPERATOR KONSTANTE ) then ECMD
- call DATEI
- exit
- goto ZEILENNUMMER
- rem BELIEBIGER_TEXT
- echo BELIEBIGER_TEXT
- VERGLEICH kann eine VARIABLE oder ein ECMD sein
- zur Unterscheidung wird der VARIABLE ein % vorangestellt
- OPERATOR kann folgendes sein: eq ne OK ! == != > < >= <=
- Textvergleiche sind: eq und ne
- bei ! und OK wird die KONSTANTE irgnoriert, muss aber dennoch angegeben werden
- DATEI muss aus dem Dateisystem kommen, komprimierte Dateien aus dem inline System ist aber nicht möglich
- Die ZEILENNUMMER gibt eine Zeilennummer aus der DATEI an. Andere Werte oder Konstellationen sind unsinnig
- Die Leerzeichen sind wichtig. Insbesondere bei 'if'
- Die Anzahl der VARIABLEN ist begrenzt, das kann aber in der Menuconfig geändert werden
- Die Länge einer Zeile ist begrenzt auf den ECMD Buffer. (ca 50 Zeichen)
Weitere Erläuterungen zu den Befehlen sind in der Ecmd Reference
Beispiele für ECMD Script Aufrufe
wait 100 ; wartet 100ms echo hello world ; gibt 'hallo welt' aus set 1 0 ; setzt Variable 1 auf 0 set 2 6 ; setzt Variable 2 auf 0 inc 1 ; incrementiert Variable 1 get 1 ; liefert den Wert von Variable 1 zurück get 2 ; liefert den Wert von Variable 2 zurück if ( whm eq 0:23 ) then echo hello ; führt das ECMD "whm" aus und vergleicht textuell mit "0:23", ; wenn wahr dann wird "echo hello" ausgeführt if ( %1 < 3 ) then date ; ist der Inhalt von Variable 1 kleiner als 3, dann wird "date" ausgeführt
Beispiele für ECMD Script in Dateien
Dazu auf einem "NICHT INLINE" Dateisystem ein Script ablegen z.b. test1.es
Hinweise:
- UNIX Zeilenumbruch in Dateien
- Dateiendung ".es"
- nicht im inline vfs ablegen, da die inline Dateien gezipped sind
- Aufruf mit "call <scriptdateiname>"
Beispiel 1:
echo run script! wait 100 echo do inc set 1 5 echo do get get 1 exit