ECMDScript: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
 
Zeile 1: Zeile 1:
 
ECMD Scripting soll dazu dienen ohne Änderung an der Firmware Scripte zu ermöglichen.
 
ECMD Scripting soll dazu dienen ohne Änderung an der Firmware Scripte zu ermöglichen.
  
Dafür gibt es diese Befehle mit entsprechenden Parametern:
+
Dafür gibt es Befehle mit entsprechenden Parametern
  
# wait MILLISEKUNDEN
+
== ECMD Script Befehle ==
# 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
 
  
Autostart: Wird "Script auto start" aktiviert, wird die angegebene Datei z.b. "auto.es" automatisch aus
+
* wait MILLISEKUNDEN
dem VFS ausgeführt. Auch hier ist kein inline-vfs möglich.
+
* 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
  
 
* keiner der Werte für VERGLEICH, OPERATOR oder KONSTANTE darf Leerzeichen enthalten, da anhand der Leerzeichen der Ausdruck geparst wird
 
* keiner der Werte für VERGLEICH, OPERATOR oder KONSTANTE darf Leerzeichen enthalten, da anhand der Leerzeichen der Ausdruck geparst wird
Zeile 33: Zeile 32:
  
 
Weitere Erläuterungen zu den Befehlen sind in der [[Ecmd Reference]]
 
Weitere Erläuterungen zu den Befehlen sind in der [[Ecmd Reference]]
 +
 +
== Autostart ==
 +
Wird "Script auto start" aktiviert, wird die angegebene Datei z.b. "auto.es" automatisch aus
 +
dem VFS ausgeführt. Auch hier ist kein inline-vfs möglich, da auch der "call" Aufruf benutzt wird.
  
 
== Beispiele für ECMD Script Aufrufe ==
 
== Beispiele für ECMD Script Aufrufe ==

Aktuelle Version vom 6. März 2010, 21:55 Uhr

ECMD Scripting soll dazu dienen ohne Änderung an der Firmware Scripte zu ermöglichen.

Dafür gibt es Befehle mit entsprechenden Parametern

ECMD Script Befehle

  • 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
  • keiner der Werte für VERGLEICH, OPERATOR oder KONSTANTE darf Leerzeichen enthalten, da anhand der Leerzeichen der Ausdruck geparst wird
  • 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"
    • Zahlenvergleiche sind: "==" "!=" ">" "<" ">=" "<="
    • Logische Vergleiche sind: "OK" und "!"
      • bei logischen Vergleichen wird die KONSTANTE ignoriert, dort muss aber dennoch irgendwas angegeben werden (z.b. X)
  • 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, sonst kann nicht richtig geparset werden. 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

Autostart

Wird "Script auto start" aktiviert, wird die angegebene Datei z.b. "auto.es" automatisch aus dem VFS ausgeführt. Auch hier ist kein inline-vfs möglich, da auch der "call" Aufruf benutzt wird.

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