WgP Hilfe für WgP-Compiler Version 4.30              (C) 2002 - 2007 Wintergalen Elektronik






numerische Variablen
(integer)



String Variablen(text)


defvar

definiert eine Variable


defstr

definiert eine Stringvariable

setvar

weist einer Variable einen Wert zu


setstr

weist einem String Daten zu

addvar

addiert einen Wert zu einer Variable


addstr

fügt Daten an einen String an

subvar

subtrahiert einen Wert von einer Variable


strtovar

wandelt Strings in numerische Variablen

calc

führt eine mathematische Funktion aus


vartostr

wandelt numerische Variablen in Strings




getstrlen

gibt die Länge eines Strings zurück




find

sucht nach Text in einem String




bytetostr

schreibt Bytes in einen String






Timer



Portsteuerung


retjumptimer1

definiert und aktiviert den Timer


din

definiert einen Port als Input

settimer

setzt das Timerintervall


dout

definiert einen Port als Output

timerstop

stopt den Timer


on

schaltet einen Port auf High / Pullup on

timergo

startet den Timer nach timerstop


off

schaltet einen Port auf Low / Pullup off




portin

gibt den Status eines Ports zurück






Verzweigungen
Programmsprünge



Verzweigungen
Programmsprünge


::Marke

definiert eine Sprungmarke


toggle

leitet die toggle-Anweisung ein

jump

führt einen Programmsprung aus


offtoggle

definiert den zweiten togglepunkt

retjump

führt eine Unterroutine aus


endtoggle

beendet die toggle-Anweisung

return

beendet retjump


cleartoggle

löscht den Togglestatus aller Tasten

if

leitet eine Bedingung ein


clearkeytoggle

löscht einen einzelnen Togglestatus

endif

beendet die if-Anweisung


setkeytoggle

setzt einen einzelnen Togglestatus

press

fragt ab, ob eine Taste gedrückt ist


ontoggle

leitet die ontoggle-Anweisung ein

endpress

beendet die press-Anweisung


endontoggle

beendet die ontoggle-Anweisung

holdpress

wartet bis eine Taste losgelassen wird









Delayfunktionen



Schleifenfunktionen


delay

unterbricht den Programmablauf


count

definiert die count-Anweisung




endcount

beendet die count-Anweisung






Schnittstellen
funktionen



Registerfunktionen


setbaud

setzt die Baudrate für die RS232-Schnittst.


out

schreibt in ein Register

setsetting

setzt die Settings für die RS232-Schnittst.


in

liest den Inhalt eines Registers

send

sendet Daten auf die RS232-Schnittstelle


bitset

setzt Bit´s in einem Register

strtobuffer

definiert den Inputbuffer für die RS232


bitclear

löscht Bit´s in einem Register

wgpsend

sendet Daten auf die WgP-Schnittstelle




strtowgpbuffer

definiert den Inputbuffer für die WgP




usrsend

sendet Daten auf die USR-Schnittstelle




strtousrbuffer

definiert den Inputbuffer für die USR









Speicherfunktionen



Spezialfunktionen


memwrite

schreibt in den EEPROM-Speicher


extkeyclear

löscht den internen Tastendruck

memread

liest aus dem EEPROM-Speicher


setkey

aktiviert den internen Tastendruck

progmemwrite

scheibt in den Programmspeicher


getextkey

gibt die aktuelle interne Taste zurück

progmemread

liest aus dem Programmspeicher


function

ruft eine Unterroutine auf

getproglen

gibt die Länge des Programms zurück


getfirmware

gibt die aktuelle Firmware zurück











Displayfunktionen



Displayfunktionen


calibrate

kalibriert den Touch


text

gibt einen Text aus

clear

löscht das Display


pixel

gibt ein Pixel aus

drawmode

setzt die Zeicheneigenschaft für Texte


line

zeichnet eine Linie

align

setzt die Ausrichtung von Objekten


rect

zeichnet ein Rechteck

linedistance

setzt den Zeilenabstand


rectfill

zeichnet ein ausgefülltes Rechteck

textstyle

setzt die Schriftart


rectclear

zeichnet ein Rechteck, löscht den Inhalt

linestyle

setzt die Linienart für Linen / Rechecke


setrect

definiert ein Rechteck

rectradius

setzt den Radius für Rechtecke


srect

zeichnet ein vordefiniertes Rechteck

backcolor

setzt die Hintergrundfarbe


srectfill

zeichnet ein ausgefülltes vordef. Rechteck

contrast

ändert den Contrast


srectclear

zeichnet vordef. Rechteck, löscht Inhalte

backlight

ändert/schaltet die Hintergrundbeleuchtung


bitmap

gibt ein Bitmap aus

autolight

automatisiert die Hintergrundbeleuchtung


touchclear

löscht alle Touchfelder

autolightoff

automatisiert die Hintergrundbeleuchtung


touch

definiert ein Touchfeld

colorentry

definiert eine Farbe


stouch

def. ein Touchfeld mit den setrect Maßen






interne
Compilerbefehle





#include

fügt eine Datei in den Quelltext ein


#dtl_5_7_bw

Setzt Compilereinstellungen für DTL-5,7bw

#setmaxdata

teilt die Speichergröße der Steuerung mit


#stp_18

Setzt Compilereinstellungen für STP-18

#define

definiert ein define, ersetzt Texte


#autosave

Speichert die Daten beim compilieren

#setprogtime

ändert die Programmierzeit (für alte STP18)




#setmaxvar

definiert die max. Anzahl von Variablen




#setmaxstr

definiert die max. Anzahl von Strings














Kommandozeilenaufruf





Datei erstellen

Erstellt ein Programmierdatei











numerische Variablen

numerische Variablen sind vom Typ INTEGER (16bit) und können Werte
von -32768 bis +32768 annehmen.

Hard
ware




defvar

definiert eine Variable

V 1.0

Syntax 1:

defvar Variable = Wert


Beispiel:

defvar Status = 0


<Übersicht>

definiert die Variable Status und weist ihr den Wert 0 zu.





setvar

weisst einer Variable einen Wert zu

V 1.0

Syntax 1:
Syntax 2:
Alternative:

setvar Variable = Wert
setvar Variable = Variable
setvar kann entfallen (z.B.: Variable = Wert)


Beispiel:

setvar Status = 20
Status = 20


<Übersicht>

weist der Variable Status den Wert 20 zu.





addvar

führt eine Addition aus

V 1.0

Syntax 1:
Syntax 2:

addvar Variable , Wert
addvar Variable , Variable


Beispiel:

defvar Status = 0
addvar Status , 20


<Übersicht>

addiert 20 zur Variable Status.





subvar

führt eine Substraktion aus

V 1.0

Syntax 1:
Syntax 2:

subvar Variable , Wert
subvar Variable , Variable


Beispiel:

defvar Status = 0
subvar Status , 20


<Übersicht>

subtrahiert 20 von der Variable Status.





calc

führt eine Rechenoperation aus

V 1.0

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:
Alternative:

calc Variable = Wert Operation Wert
calc Variable = Wert Operation Variable
calc Variable = Variable Operation Wert
calc Variable = Variable Operation Variable
calc kann entfallen (z.B.: Variable = Wert Operation Wert)


verfügbare Operationen:

+ Addition
- Subtraktion
* Multipikation
/ Division
| Oder
& Und
% Rest einer Division


Beispiel:

defvar Ergebnis = 0
defvar Input = 10
calc Ergebnis = Input * 5


<Übersicht>

multipliziert Input mit 5 und speichert das Resultat in Ergebnis.








Stringvariablen (text)

Strings dienen zur Speicherung von Zeichenfolgen bzw. Texten.
Sie können in verschiedenen Längen definiert werden und somit
verschieden lange Zeichenketten speichern.

Hard
ware


ACHTUNG: Das erste Zeichen wird in Stelle 0 (null) gespeichert.


defstr

definiert eine Stringvariable

V 1.0

Syntax:

defstr String, Wert


Beispiel:

defstr Buffer, 10


<Übersicht>

definiert die Variable Buffer mit einer max. Zeichenlänge von 10 Zeichen.





setstr

weisst einem String eine Zeichenkette / Zeichen zu

V 1.0

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:
Alternative:

setstr String = Wert
setstr String = Text
setstr String = Variable
setstr String = String
setstr kann entfallen (z.B.: String = Text)


Beispiel 1:

defstr Buffer, 10
setstr Buffer = "Hallo"



weist dem String Buffer den Text Hallo zu.


Beispiel 2:

defstr Buffer, 10
setstr Buffer = 65



<Übersicht>

weist der ersten Stelle im String Buffer den ascii-wert 65 zu.
Der String enthält somit das Zeichen "A".





addstr

fügt an einem String eine Zeichenkette an

V 1.0

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:

addstr String , Wert
addstr String , Text
addstr String , Variable
addstr String , String


Beispiel 1:

defstr Buffer, 20
setstr Buffer = "test"
addstr Buffer , "Hallo"



Ergebnis: Buffer = "testHallo"


Beispiel 2:

defstr Buffer, 20
setstr Buffer = "test"
addstr Buffer , 65


<Übersicht>

Ergebnis: Buffer = "testA"





strtovar

wandelt eine Stelle eines Strings in einen Wert um

V 1.0

Syntax 1:
Syntax 2:

strtovar Variable , String (Wert)
strtovar Variable , String (Variable)


Beispiel:

defvar Stelle = 0
defstr Buffer , 10
setstr Buffer = "ABCDEF"
strtovar Stelle, Buffer (2)


<Übersicht>

Ergebnis: Stelle = 67





vartostr

wandelt eine Variable in einen String um

V 2.0

Syntax:

vartostr String , Variable (Wert)



Der Wert einer Variable wird in einen String umgewandelt.
Die in Klammern angegebene Zahl definiert die Anzahl Stellen
der Ausgabe. Wird eine 0 (null) angegeben, enthält das Ergebnis
nur soviele Stellen wie nötig.


Beispiel 1:

defvar Zahl = 12
defstr Buffer , 10
vartostr Buffer , Zahl (0)
send Buffer



Ergebnis: Buffer = "12", mit send wird 12 auf die Schnittstelle ausgegeben.


Beispiel 2:

defvar Zahl = 12
defstr Buffer , 10
vartostr Buffer , Zahl (4)
send Buffer


<Übersicht>

Ergebnis: Buffer = "0012"





getstrlen


gibt die Anzahl Zeichen im angegeben String zurück


V 1.0

Syntax:


getstrlen Variable , String



Beispiel:



defvar Len = 0
defstr Buffer , 10
setstr Buffer = "ABCDEF"
getstrlen Len, Buffer



<Übersicht>

Ergebnis: Len = 6





find

sucht eine Zeichefolge in einem String

V 1.4

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:

find Variable , String (Wert)
find Variable , String (Text)
find Variable , String (Variable)
find Variable , String (String)


Beispiel:

defvar Stelle = 0
defstr Buffer , 10
setstr Buffer = "ABCDEF"
find Stelle, Buffer ("CD")




<Übersicht>

Ergebnis: Stelle = 2
wird die Zeichefolge nicht gefunden, ist das
Ergebnis = -1 !





bytetostr

setzt / ersetzt Bytes in einem String

V 3.3

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:

bytetostr String, Variable (Wert)
bytetostr String, Variable (Variable)
bytetostr String, Wert (Wert)
bytetostr String, Wert (Variable)


Beispiel:

defstr demo, 10

bytetostr demo, 65 (0)

send demo


<Übersicht>

In den String demo wird in die Stelle 0 ein A (65) geschrieben.







Timer

Der Quelltext im Timer wird, wenn der Timer aktiviert wurde, in regelmäßigen
Abständen aufgerufen. So können leicht Zähler oder regelmäßige Abfragen von
Statusmeldungen programmiert werden.

Hard
ware




retjumptimer1

Definiert die Sprungmarke für den Timer und aktiviert ihn.

V 1.0

Syntax:

retjumptimer1 Marke

Die Sprungmarke muß mit einer return Anweisung abgeschlossen werden.


Beispiel:

retjumptimer1 Timer
::Main

jump Main

::Timer
   send "test"
return



<Übersicht>

Ergebnis:
die send "test" Anweisung wird in regelmäßigen Abständen ausgeführt.





settimer

Definiert das Zeitintervall in dem der Timer ausgelöst wird

V 1.0

Syntax:

settimer Wert

Wert = 7200 entspricht 1 sek. (standard)
Wert = 3600 entspricht 0.5 sek.
Das Ausführen des Befehl setzt den Zähler des Timers auf Null.


Beispiel:

settimer 3600
retjumptimer1 Timer
::Main

jump Main

::Timer
   send "test"
return



<Übersicht>

Ergebnis:
die send "test" Anweisung wird alle 0.5 sek. ausgeführt.





timerstop

Stoppt den Timer

V 1.0

Syntax:

<Übersicht>

timerstop





timergo

Timer läuft weiter nach timerstop

V 1.0

Syntax:

<Übersicht>

timergo








Portsteuerung

Der WgP-Basiscontroller verfügt über 24 I/O Port, welche frei definiert
werden können. In den Steuerungen (z.B. STP18-Alu) werden die Ports zur
Ansteuerung der Hintergrundbeleuchtung der Tasten verwendet.
Standardmäßig sind alle Ports als Input definiert.

Hard
ware




din

Definiert einen Port als Eingang

V 1.0

Syntax 1:
Syntax 2:

din Wert
din Variable


Beispiel:

din 1



<Übersicht>

Ergebnis:
Port 1 wird als Input definiert





dout

Definiert einen Port als Ausgang

V 1.0

Syntax 1:
Syntax 2:

dout Wert
dout Variable


Beispiel:

dout 1



<Übersicht>

Ergebnis:
Port 1 wird als Input definiert





on

schaltet einen Port auf High (Ein)

V 1.0

Syntax 1:
Syntax 2:

on Wert
on Variable

Achtung: Ist ein Port als Input definiert, aktiviert der on Befehl den
internen "Pullup-Widerstand". Damit wird der Port auf High-Potential
gelegt und kann dann über z.B. einen Taster gegen Masse geschaltet werden
um eine Funktion mit dem press Befehl auszuwerten.


Beispiel 1:

dout 1
on 1



Port 1 wird als Output definiert und auf High geschaltet. (Taste leuchtet)


Beispiel 2:

din 1
on 1



<Übersicht>

Port 1 wird als Input definiert und der interne Pullup-Widerstand eingeschaltet.





off

schaltet einen Port auf Low (Aus).

V 1.0

Syntax 1:
Syntax 2:

off Wert
off Variable

Achtung: Ist ein Port als Input definiert, deaktiviert der off Befehl den
internen "Pullup-Widerstand".


Beispiel 1:

dout 1
off 1



Ergebnis:
Port 1 wird als Output definiert und auf Low geschaltet.


Beispiel 2:

din 1
off 1



<Übersicht>

Port 1 wird als Input definiert und der interne Pullup-Widerstand ausgeschaltet.





portin

gibt den Status eines Ports zurück

V 1.0

Syntax 1:
Syntax 2:

portin Variable , Wert
portin Variable , Variable


Beispiel:

defvar tmp = 0
portin tmp, 1



<Übersicht>

Gibt den Status des Port 1 zurück. Ist der Port High, so ist tmp = 1.
Ist der Port Low, so ist tmp = 0.







Verzweigungsfunktionen

Verschiedene Verzweigungsfunktionen stehen zur Verfügung. Dabei kann eine
Verweigung zwangsweise (jump) oder Bedingungsabhängig ausgeführt werden (if)

Hard
ware




::Marke

Definiert eine Sprungmarke

V 1.0

Syntax:

::Marke


Beispiel:

::Main
   send "test"
jump Main




<Übersicht>

Main wird als Sprungmarke definiert. Mit dem jump Main Befehl wird das Programm
immer ab der ::Main Marke ausgeführt. (Endlosschleife) Der send "test" Befehl
wird also ununterbrochen ausgeführt.





jump

Führt einen Programmsprung aus

V 1.0

Syntax:

jump Marke


Beispiel:

::Main
   send "test"
jump Main




<Übersicht>

Main wird als Sprungmarke definiert. Mit dem jump Main Befehl wird das Programm
immer ab der ::Main Marke ausgeführt. (Endlosschleife) Der send "test" Befehl
wird also ununterbrochen ausgeführt.





retjump

Führt einen Programmsprung aus und kehrt nach erreichen der return Anweisung
wieder zur Absprungstelle zurück.

V 1.0

Syntax:

retjump Marke

Achtung: Jede retjump Anweisung muß auf eine Marke springen, welche mit
einer return Anweisung endet. (Unterprogramm)


Beispiel:

::Main
   retjump Unterprogramm
   send "1"
jump Main

::Unterprogramm
   send "test"
return





<Übersicht>

Mit der retjump Anweisung wird das Unterprogramm ausgeführt. Es wird test auf
die Schnittstelle geschrieben. Danach kehrt das Programm wieder zur
retjump Anweisung zurück und schreibt dann eine 1 auf die Schnittstelle.
Es wird also immer test1 auf die Schnittstelle geschrieben.





return

Definiert den Rücksprungpunkt für die retjump Anweisung

V 1.0

Syntax:

return


Beispiel:

::Main
   retjump Unterprogramm
   send "1"
jump Main

::Unterprogramm
   send "test"
return





<Übersicht>

Mit der retjump Anweisung wird das Unterprogramm ausgeführt. Es wird test auf
die Schnittstelle geschrieben. Danach kehrt das Programm wieder zur
retjump Anweisung zurück und schreibt dann eine 1 auf die Schnittstelle.
Es wird also immer test1 auf die Schnittstelle geschrieben.





if

verzweigt das Programm unter Berücksichtigung einer Bedingung

V 1.0

Syntax 1:
Syntax 2:




verfügbare Bedingungen:

if Variable Bedingung Wert
if Variable Bedingung Variable

Achtung: jede if Anweisung muß mit endif beendet werden. Ist die Bedingung
erfüllt, wird der Quelltext zwischen if und endif ausgeführt.


< kleiner
> größer
= gleich
== gleich
<= kleiner / gleich
>= größer / gleich
!= nicht, unwahr
|| oder
&& und


Beispiel:

defvar tmp = 0

::Main
   portin 1, tmp

   if tmp = 1
      send "high"
   endif

   if tmp = 0
      send "low"
   endif
jump Main



<Übersicht>

Ist der Status von Port 1 = 1, wird high auf die Schnittstelle ausgegeben.
Ist der Status von Port 1 = 0, wird low auf die Schnittstelle ausgegeben.





endif

beendet die if Anweisung

V 1.0

Syntax:

endif


Beispiel:

defvar tmp = 0

::Main
   portin 1, tmp

   if tmp = 1
      send "high"
   endif

   if tmp = 0
      send "low"
   endif
jump Main



<Übersicht>

Ist der Status von Port 1 = 1, wird high auf die Schnittstelle ausgegeben.
Ist der Status von Port 1 = 0, wird low auf die Schnittstelle ausgegeben.





press

fragt ab, ob eine Taste gedrückt ist

V 1.0

Syntax 1:
Syntax 2:

press Wert
press Variable

Achtung: jede press Anweisung muß mit endpress beendet werden.


Beispiel:

#include "include_stp18v2.wgp"

::Main

press ;Taste_01
   send "test"
endpress

jump Main


<Übersicht>

wird die Taste_01 gedrückt, wird test auf die Schnittstelle ausgegeben.





endpress

beendet die press Anweisung

V 1.0

Syntax:

endpress


Beispiel:

#include "include_stp18v2.wgp"

::Main

press ;Taste_01
   send "test"
endpress

jump Main


<Übersicht>

wird die Taste_01 gedrückt, wird test auf die Schnittstelle ausgegeben.





holdpress

wartet an dieser Stelle, wenn die angegebene Taste gedrückt ist,
bis die Taste wieder losgelassen wird.

V 1.2

Syntax 1:
Syntax 2:

holdpress Wert
holdpress Variable


Beispiel:

#include "include_stp18v2.wgp"

::Main

press ;Taste_01
   send "test"
holdpress ;Taste_01
endpress

jump Main





<Übersicht>

wird die Taste_01 gedrückt, wird test auf die Schnittstelle ausgegeben.
Das Programm wartet bei holdpress ;Taste_01, bis die Taste wieder losgelassen
wird. Dadurch wird ein ständiges Ausführen der send Anweisung verhindert.
Erst ein erneutes Drücken der Taste führt die send Anweisung wieder aus.





toggle

fragt ab, ob eine Taste gedrückt ist und führt im Wechsel zwei verschiedene
Anweisungen aus.

V 1.1

Syntax:

toggle Wert

Achtung: jede toggle Anweisung muß mit offtoggle und endtoggle enthalten.


Beispiel:

#include "include_stp18v2.wgp"

::Main

toggle ;Taste_01
   send "test1"
   holdpress ;Taste_01
offtoggle ;Taste_01
   send "test2"
   holdpress ;Taste_01
endtoggle

jump Main




<Übersicht>

wird die Taste_01 das erste Mal gedrückt, wird test1 auf die Schnittstelle
ausgegeben. Beim zweiten Mal Drücken wird test2 ausgegeben, dann wieder test1 usw.





offtoggle

offtoggle ist ein Teil der toggle Anweisung

V 1.1

Syntax:

offtoggle Wert


Beispiel:

#include "include_stp18v2.wgp"

::Main

toggle ;Taste_01
   send "test1"
   holdpress ;Taste_01
offtoggle ;Taste_01
   send "test2"
   holdpress ;Taste_01
endtoggle

jump Main


<Übersicht>

wird die Taste_01 gedrückt, wird test auf die Schnittstelle ausgegeben.





endtoggle

endtoggle beendet die toggle Anweisung

V 1.1

Syntax:

endtoggle


Beispiel:

#include "include_stp18v2.wgp"

::Main

toggle ;Taste_01
   send "test1"
   holdpress ;Taste_01
offtoggle ;Taste_01
   send "test2"
   holdpress ;Taste_01
endtoggle

jump Main


<Übersicht>

wird die Taste_01 gedrückt, wird test auf die Schnittstelle ausgegeben.





cleartoggle

setzt den Toggle-Status aller Tasten zurück

V 1.1

Syntax:

cleartoggle




<Übersicht>

cleartoggle löscht den Status aller Tasten, d.h. wird eine Taste gedrückt,
so wird bei der toggle Anweisung der erste Teil ausgeführt, also der
Quelltext nach der toggle Anweisung.





clearkeytoggle

setzt den Toggle-Status einer bestimmten Taste zurück

V 1.3

Syntax 1:
Syntax 2:

clearkeytoggle Wert
clearkeytoggle Variable







<Übersicht>

clearkeytoggle löscht den Status einer bestimmten Taste, d.h. wird die Taste
gedrückt, so wird bei der toggle Anweisung der erste Teil ausgeführt, also der
Quelltext nach der toggle Anweisung. Nützlich ist dies z.B., um den Status der
Pic-Mute Taste zurückzusetzten, wenn eine Quelle angewählt wurde, da die meisten
Projektoren auch intern die Mute Funktion zurücksetzten.





setkeytoggle

setzt den Toggle-Status einer bestimmten Taste.

V 2.0

Syntax 1:
Syntax 2:

setkeytoggle Wert
setkeytoggle Variable




<Übersicht>

setkeytoggle setzt den Status einer bestimmten Taste, d.h. wird die Taste
gedrückt, so wird bei der toggle Anweisung der zweite Teil ausgeführt, also der
Quelltext nach der offtoggle Anweisung.





ontoggle

führt den folgenden Quelltext aus, wenn der Togglestatus der Taste gesetzt ist

V 1.1

Syntax:

ontoggle Wert

Achtung: jede ontoggle Anweisung muß mit endontoggle beendet werden.


Beispiel:

#include "include_stp18v2.wgp"

ontoggle ;Taste_01
   on ;Led_01
endontoggle

::Main

toggle ;Taste_01
   on ;Led_01
   holdpress ;Taste_01
offtoggle ;Taste_01
   off ;Led_01
   holdpress ;Taste_01
endtoggle

jump Main



<Übersicht>

War die Led_01 an, also der togglestatus = 1, so wird beim Einschalten
der Steuerung dieser Zustand wieder hergestellt.





endontoggle

beendet ontoggle

V 1.1

Syntax:

endontoggle


Beispiel:

#include "include_stp18v2.wgp"

ontoggle ;Taste_01
   on ;Led_01
endontoggle

::Main

toggle ;Taste_01
   on ;Led_01
   holdpress ;Taste_01
offtoggle ;Taste_01
   off ;Led_01
   holdpress ;Taste_01
endtoggle

jump Main



<Übersicht>

War die Led_01 an, also der togglestatus = 1, so wird beim Einschalten
der Steuerung dieser Zustand wieder hergestellt.







delayfunktionen

halten ein Programm für eine bestimmte Zeit an.

Hard
ware




delay

unterbricht den Programmablauf für eine bestimmte Zeit.

V 1.0

Syntax 1:
Syntax 2:

delay Wert
delay Variable

Zeit: wert * 10ms (100 = 1sek.)

ACHTUNG: während einer delay Anweisung wird der Timer gestopt


Beispiel:

::Main
   send "test"
   delay 100
jump Main


<Übersicht>

Die send Anweisung wird 1x in der sek. ausgeführt.







Schleifenfunktionen

Schleifenfunktionen dienen zum mehrfachen Ausführen einer Anweisung.
Dabei kann auf den Inhalt der Zählervariablen zugegriffen werden.

Hard
ware




count

Definiert einen automatischen Zähler bzw. eine Schleifenfunktion

V 1.0

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:

count Variable = Wert - Wert
count Variable = Wert - Variable
count Variable = Variable - Wert
count Variable = Variable - Variable


Beispiel:

defvar ascii = 0
count ascii = 65 - 70
   send ascii
endcount


<Übersicht>

Ausgabe auf die Schnittstelle: ABCDEF





endcount

beendet die count Anweisung

V 1.0

Syntax:

endcount


Beispiel:

defvar ascii = 0
count ascii = 65 - 70
   send ascii
endcount


<Übersicht>

Ausgabe auf die Schnittstelle: ABCDEF







Schnittstellenfunktionen

Schnittstellenfunktionen werden benötigt, um Daten auf die diversen
Schnittstellen zu schreiben oder zu lesen.

Hard
ware




setbaud

setzt die Baudrate für die RS232-Schnittstelle

V 2.0

Syntax:

setbaud Wert

erlaubt: 300 - 115200


Beispiel:

setbaud 19200
send "Hallo"


<Übersicht>

Hallo wird mit 19200 Buad auf die RS232-Schnittstelle geschrieben.





setsetting

setzt die Parameter für die RS232-Schnittstelle

V 2.0

Syntax:

setsetting "N,8,1"

möglich: "N/O/E , 7/8 , 1/2"


Beispiel:

setsetting "O,8,2"
send "Hallo"



<Übersicht>

Hallo wird mit odd Parität und 2 Stopbits auf die RS232-Schnittstelle geschrieben.





send

sendet Daten auf die RS232-Schnittstelle (Sub-D9 Stecker)

V 1.0

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:

send Text
send Wert
send String
send Variable


Beispiel 1:

send "Hallo"



Hallo wird auf die RS232-Schnittstelle geschrieben.


Beispiel 2:

defstr Test, 10
test = "Hallo"
send test


<Übersicht>

Hallo wird auf die RS232-Schnittstelle geschrieben.





strtobuffer

definiert einen String als RS232-Inputbuffer

V 1.0

Syntax:

strtobuffer String


Beispiel:

defstr Buffer , 10
defvar len = 0
strtobuffer Buffer

::Main
   getstrlen len, Buffer
   if len > 0
      send Buffer
      Buffer = ""
   endif
jump Main





<Übersicht>

alle Zeichen welche über die RS232-Schnittstelle
eingehen, werden im String Buffer gespeichert.
Mit getstrlen wird festgestellt, ob im String Buffer ein
Zeichen ist. Wenn ja wird das Zeichen wieder ausgegeben. (Echo)





wgpsend

sendet Daten auf die WgP-Schnittstelle (Sub-D9 Buchse)

V 1.3

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:

wgpsend Text
wgpsend Wert
wgpsend String
wgpsend Variable


Beispiel 1:

wgpsend "Hallo"


<Übersicht>

Hallo wird auf die WgP-Schnittstelle geschrieben.





strtowgpbuffer

definiert einen String als WgP-Inputbuffer

V 2.3

Syntax:

strtowgpbuffer String


Beispiel:

defstr Buffer , 10
strtowgpbuffer Buffer




<Übersicht>

alle Zeichen welche über die WgP-Schnittstelle
eingehen, werden im String Buffer gespeichert.
siehe auch strtobuffer.





usrsend

sendet Daten auf die USR-Schnittstelle (interner Anschluß, TTL-Pegel)

V 2.4

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:

usrsend Text
usrsend Wert
usrsend String
usrsend Variable


Beispiel 1:

usrsend "Hallo"


<Übersicht>

Hallo wird auf die USR-Schnittstelle geschrieben.





strtousrbuffer

definiert einen String als USR-Inputbuffer

V 2.4

Syntax:

strtousrbuffer String


Beispiel:

defstr Buffer , 10
strtousrbuffer Buffer




<Übersicht>

alle Zeichen welche über die USR-Schnittstelle
eingehen, werden im String Buffer gespeichert.
siehe auch strtobuffer.








Registerfunktionen

ermöglicht das direkte Ansprechen von Registern des Prozessors.
Diese Funktionen sollten NUR von fachkundigen Benutzern genutzt werden !

Hard
ware




out

schreibt in ein Register

V 1.0

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:

out Wert, Wert
out Wert, Variable
out Variable, Wert
out Variable, Variable


Beispiel:

out 4B, 10


<Übersicht>

schreibt 10 in das Register 4B





in

liest den Inhalt eines Registers

V 1.0

Syntax 1:
Syntax 2:

in Variable, Wert
in Variable, Variable


Beispiel:

defvar tmp = 0
in tmp, 4B


<Übersicht>

weist tmp den Wert des Registers 4B zu





bitset

setzt einzelne Bits eines Registers

V 2.0

Syntax:

bitset Wert, Wert1

(Wert = Wert | Wert1)


Beispiel:

bitset 4B, 0b11110000


<Übersicht>

setzt Bits im Register 4B





bitclear

löscht einzelne Bits eines Registers

V 2.0

Syntax:

bitclear Wert, Wert1

(Wert = Wert & Wert1)


Beispiel:

bitclear 4B, 0b00000000


<Übersicht>

löscht alle Bits im Register 4B








Speicherfunktionen

ermöglichen das Lesen / Schreiben in verschiedene Speicher.

Hard
ware




memwrite

schreibt in den EEPROM-Speicher

V 1.0

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:

memwrite Wert, Wert
memwrite Wert, Variable
memwrite Variable, Wert
memwrite Variable, Variable

mögliche Werte: 0 - 255
ACHTUNG: 190 - 255 wird intern genutzt.
ACHTUNG: max. 100.000 Schreibvorgänge, danach evtl. defekt der Steuerung.
         Vorsicht bei Schleifenfunktionen !

0  -189: Userdaten
190-199: reserve
200-233: Toggle Statusspeicher
235:     Remote/Master Funktion
244:     H-Byte Programmlänge
245:     L-Byte Programmlänge
246:     Anzahl analoger Tasten
247:     Offset analoger Tasten
248:     WgP-Port Sendtime
249:     Entprellzeit für analoge Tasten
250:     Boottime (0 = 3sek, >0 = 200ms) -> Schnellstart der Steuerung.


Beispiel:

memwrite 250, 1


<Übersicht>

schreibt 10 in den EEPROM-Speicher an die Adresse 250. (SChnellstart)





memread

liest den EEPROM-Speicher

V 1.0

Syntax 1:
Syntax 2:

memread Variable, Wert
memread Variable, Variable

siehe auch memwrite.


Beispiel:

defvar tmp = 0
memread tmp, 250


<Übersicht>

liest den Inhalt der Adresse 250. (Schnellstart)





progmemwrite

schreibt in den Programm-Speicher

V 3.0

Syntax 1:
Syntax 2:
Syntax 3:
Syntax 4:

progmemwrite Wert, Wert
progmemwrite Wert, Variable
progmemwrite Variable, Wert
progmemwrite Variable, Variable

mögliche Werte: 0 - max. Speicherplatz
ACHTUNG: Programm kann überschrieben werden.
ACHTUNG: max. 100.000 Schreibvorgänge, danach evtl. defekt der Steuerung.
         Vorsicht bei Schleifenfunktionen !


Beispiel:

progmemwrite 5000, 1


<Übersicht>

schreibt 1 in den Programm-Speicher an die Adresse 5000.





progmemread

liest den Programm-Speicher

V 3.0

Syntax 1:
Syntax 2:

progmemread Variable, Wert
progmemread Variable, Variable

siehe auch progmemwrite.


Beispiel:

defvar tmp = 0
progmemread tmp, 5000


<Übersicht>

liest den Inhalt der Adresse 5000 im Programmspeicher.





getproglen

gibt die Länge des aufgespielten Programms zurück.

V 1.0

Syntax:

getproglen Variable


Beispiel:

defvar tmp = 0
getproglen tmp


<Übersicht>

ermittelt die Programmlänge, um evtl. im Anschluß Daten zu speichern.








Spezialfunktionen


Hard
ware




extkeyclear

löscht die von der WgP oder USR Schnittstelle oder durch setkey ausgelöste
pressfunktion

V 1.3

Syntax:

extkeyclear


Beispiel:

setkey 50

::Main
   press 50
      send "taste 50"
      extkeyclear
   endpress
jump Main




<Übersicht>

mit setkey wird die press 50 Anweisung aktiviert. extkeyclear löscht
nach send den Status, so daß die pressfunktion nicht noch einmal ausgeführt
wird.





setkey

löst eine pressfunktion aus.

V 3.1

Syntax 1:
Syntax 2:

setkey Wert
setkey Variable


Beispiel:

setkey 50

::Main
   press 50
      send "taste 50"
      extkeyclear
   endpress
jump Main




<Übersicht>

mit setkey wird die press 50 Anweisung aktiviert. extkeyclear löscht
nach send den Status, so daß die pressfunktion nicht noch einmal ausgeführt
wird.





getextkey

gibt die aktuelle interne Taste zurück.

V 3.4

Syntax 1:

getextkey Variable


Beispiel:

defvar taste
setkey 50

getextkey taste
send taste


<Übersicht>

setzt die interne Taste auf 50 und liest diesen Wert dann wieder aus.





function

ruft eine Unterroutine auf und weist Variablen zu

V 3.2

Syntax:

function Sprungmarke (Zuweisungen)


Beispiel:

defvar x = 0
defvar y = 0
defvar color = 0
defstr name, 20

clear 0
align 3
setrect 60,20

function Button (x=50, y=60, name="Hallo", color=1)

::Main


jump Main


::Button
   srect color, x, y
   text color, x, y, name
return



<Übersicht>

weist in der funktion den Variablen werte zu und ruft dann das Unterprogramm
Button auf.





getfirmware

gibt die Aktuelle Firmware zurück

V 3.3

Syntax:

getfirmware String


Beispiel:

defstr version, 20

getfirmware version

send version


<Übersicht>

weist dem String version die aktuelle Firmware zu








interne Compilerbefehle

Diese Befehle dienen dazu, dem Compiler diverse Angaben zu übermitteln,
welche dann mit in dem Compile-Prozess eingebunden werden.
Auch können Daten über Speichergröße usw. der Steuerung mitgeteilt werden.
Intere Befehle erkennt man daran, daß sie mit # beginnen.

Hard
ware




#include

fügt eine Datei in den aktuellen Quelltext ein

V 1.0

Syntax 1:


Syntax 2:


Syntax 3:

#include "datei.wgp"
Der Path ist der Path des Quelltext.

#include "c:\test\datei.wgp"
Der Path ist fest angegeben

#include ">datei.wgp"
Der Path ist der Path der unter WgP->Pfade angegeben wurde





<Übersicht>

Die mit #include angebene Datei wird in den Quelltext genau an
die Stelle eingefügt, wo auch der #include Befehl steht.
Werden #include Dateien geändert, ist es wichtig, die Datei vor dem
compilieren des Hauptprogramms zu speichern.





#setmaxdata

Setzt die max. Datenanzahl für die Steuerung (std. = 500)

V 1.0

Syntax:

#setmaxdata = 32000


<Übersicht>

Die max. Speichergröße wird auf 32000 bytes (32KB) gesetzt.





#define

Definiert einen Bezeichner, welcher im Programm durch einen Ausdruck ersetzt wird

V 1.0

Syntax:

#define = ;Bezeichner (;Ausdruck)


Beispiel:

#define = ;taste_01 (;12)

::Main
   press ;taste_01
      send "test"
   endpress
jump Main



<Übersicht>

Ergebnis:
press ;taste_01 wird durch press 12 ersetzt.





#setprogtime

Ändert die Programmierzeit für alte STP18

V 1.0

Syntax:

#setprogtime = 30


<Übersicht>






#setmaxvar

Ändert die max. Anzahl von erlaubten Variablen

V 1.0

Syntax:

#setmaxvar = 29


<Übersicht>

Die max. Anzahl von erlaubten Variablen wird auf 29 gesetzt.
Die Anzahl richtet sich nach der jeweiligen Steuerung.





#setmaxstr

Ändert die max. Anzahl von erlaubten Stringvariablen

V 1.0

Syntax:

#setmaxstr = 5


<Übersicht>

Die max. Anzahl von erlaubten Stringvariablen wird auf 5 gesetzt.
Die Anzahl richtet sich nach der jeweiligen Steuerung.





#dtl_5_7_bw

Setzt den Compiler auf die für das Display wichtigen Einstellungen


Syntax:

#dtl_5_7_bw


Änderungen:

max. Variblen = 100
max. Strings = 10
max. Speicherplatz = 32 KB


Anpassung der Baudratengenerierung.



<Übersicht>






#stp_18

Setzt den Compiler auf die für das Display wichtigen Einstellungen


Syntax:

#stp_18


Änderungen:

max. Variblen = 29
max. Strings = 5
max. Speicherplatz = 32 KB


Anpassung der Baudratengenerierung.



<Übersicht>






#autosave

Speichert das Programm beim compilieren / programmieren


Syntax:

#autosave



<Übersicht>







































Kommandozeilenaufruf

Biete die Möglichkeit, den Compiler über die Kommandozeile aufzurufen

Hard
ware




Programmdatei erstellen

Erstellt eine Programmierdatei über die Kommandozeile

V 1.00




Syntax:

Wgp.exe Para1 Para2 Para3 Para4



Para1 = Dateiname der zu kompilierenden Datei



Para2 = -d



Para3 = Ausgabeendung, z.b. hex



Para4 = (optional) Dateipfad der neuen Datei, wird dieser Parameter nicht

angegeben, wird die Datei in das Ausführungsverzeichnis geschrieben.





Beispiel 1:

Wgp.exe test.wgp -d hex


Beispiel 2:

Wgp.exe test.wgp -d bin c:\test





ACHTUNG:

Unter Menü: WgP → Settings muß Kommandozeilenaufruf zulassen aktiviert werden.


<Übersicht>








Displayfunktionen

für den graphischen Bildaufbau der DTL-Serie stehen verschiedene Funktionen
zur Verfügung.

Hard
ware




ZUR BEACHTUNG:

Alle Parameter wie color, x-pos, y-pos usw. können sowohl als Werte als
auch als Variablen angegeben werden.


Beispiel 1:

defvar color = 0
clear color


Beispiel 2:

clear 0


Beispiel 3:

defstr Str, 20
clear 0
Str = "Hallo"
text 1,50,50,Str





calibrate

startet die Kalibrierroutine für den Touch

V 3.2

Syntax:

calibrate


Beispiel:

calibrate


<Übersicht>

startet die Kalibrierroutine für den Touch, die Ergebnisse werden im
dauerhaft im DTL gespeichert





clear

löscht den Inhalt des Displays

V 3.2

Syntax:


clear color

clear setzt auch die aktuelle Hintergrundfarbe mit dem angegebenen Wert


Beispiel:

clear 0


<Übersicht>

löscht das Display mit der angegebenen Farbe.





drawmode

legt die Überscheibeigenschaft für Texte fest

V 3.2

Syntax:

drawmode mode

0 = Normal (Hintergrund wird gelöscht mit der aktuellen Hintergrundfarbe)
1 = OR     (Hintergrund bleibt bestehen, Text wird überlagert)


Beispiel:

drawmode 1


<Übersicht>

aktiviert den OR-Mode





align

legt die Aufhängepunkte / Nullpunkte für Texte und definierte
Rechtecke (srect) fest

V 3.2

Syntax:

align mode

0 = oben/links  1 = oben/mitte  2 = links/mitte  3 = mitte Objekt
    +                 +                       
     [ ]             [ ]             +[ ]             [+]


Beispiel:

align 3


<Übersicht>

definiert den Nullpunkt für die betroffenen Objekte als Mitte Objekt.





linedistance

legt den Zeilenabstand bei Verwendung der Zeilenfunktionen bei Text
fest.

V 3.2

Syntax:

linedistance wert


Beispiel:

clear 0
align 0
linedistance 15
text 1,0,20,"Hallo[0d]Welt"
linedistance 40
text 1,80,20,"Hallo[0d]Welt"


<Übersicht>

setzt verschiedene Zeilenabstände





textstyle

legt die Schriftart für die Textfunktion fest

V 3.2

Syntax:

textstyle wert

Die Schriftarten für die einzelnen DTL´s finden Sie in der jeweiligen
Anleitung.


Beispiel:

clear 0
align 0
textstyle 2
text 1,0,50,"Hallo"
textstyle 4
text 1,80,50,"Hallo"


<Übersicht>

setzt verschiedene Schriftarten





linestyle

legt das Aussehen für Linien und Rechtecken fest

V 3.2

Syntax:

linestyle wert

Die Linienarten für die einzelnen DTL´s finden Sie in der jeweiligen
Anleitung.


Beispiel:

clear 0
align 0
linestyle 2
line 1,0,0,50,50


<Übersicht>

setzt die Linienart und zeichnet eine Linie





rectradius

legt den Radius für die Ecken bei Rechtecke fest

V 3.2

Syntax:

rectradius wert

Diese Funktion ist nicht bei allen DTL´s verfügbar !


Beispiel:

clear 0
align 0
linestyle 0
rectradius 10
rect 1,0,0,50,50


<Übersicht>

setzt die Linienart und den Radius und zeichnet ein Rechteck





backcolor

setzt die Farbe für den Hintergrund

V 3.2

Syntax:

backcolor wert


Beispiel:

backcolor 0


<Übersicht>

setzt 0 als Hintergrundfarbe





contrast

setzt die Contrasteinstellung

V 3.2

Syntax:

contrast wert

Für die verschiedenen DTL´s können die Einstellungen stark abweichen


Beispiel:

clear 0
contrast 260
text 1,50,50,"test"


<Übersicht>

setzt den Contrast auf 260





backlight

schaltet die Hintergrundbeleuchtung ein / aus.

V 3.2

Syntax:

backlight wert

Bei einigen DTL´s kann das Backlight gedimmt werden.


Beispiel:

backlight 0
delay 100
backlight 255


<Übersicht>

schaltet das backlight aus, dann wieder an.





autolight

schaltet die Hintergrundbeleuchtung nach einer definierten Zeit aus.

V 3.2

Syntax:

autolight wert

Die Zeit bis zum ausschalten verlängert sich, wenn Graphic-Befehle
gesendet werden. (wert = wert * 10sek., max = 255)


Beispiel:

autolight 1



<Übersicht>

schaltet das backlight nach 10 sek. aus. Ein Berühren des Touch schaltet
das Licht wieder ein.





autolightoff

schaltet die Hintergrundbeleuchtung nach Ablauf von autolight auf diesen Wert.

V 3.45

Syntax:

autolightset wert


Beispiel:

autolightoff 100


<Übersicht>

schaltet das backlight auf 100 nach Ablauf der autolight Zeit.





colorentry

definiert einzelne Farben bei Color-DTL´s

V 3.2

Syntax:

colorentry farbe, R,G,B


Beispiel:

colorentry 7,255,255,255
clear 7


<Übersicht>

definiert für den Farbton 7 die Farbe weiß.





text

gibt Text auf das Display aus

V 3.2

Syntax:

text color, x-pos, y-pos, text

der Aufhängepunkt des Text hängt von dem mit align angegebenen Modus ab.

Zeilenfunktionen:
[0b] = halbe Zeile nach oben
[0c] = eine Zeile nach oben
[0d] = eine Zeile nach unten
[0e] = halbe Zeile nach unten


Beispiel 1:

clear 0
text 1,100,100,"Text"


Beispiel 2:

clear 0
align 3
setrect 60,35
srect 1,100,100
text 1,100,100,"[0b]Beamer[0d]Ein"


<Übersicht>

zeichnet ein Rechteck. Schreibt Beamer 1/2 Zeile höher, geht dann eine
Zeile nach unten und schreibt Ein. Dadurch steht der Text in der Mitte
des Rechteck.





pixel

gibt ein Pixel auf das Display aus

V 3.2

Syntax:

pixel color, x-pos, y-pos


Beispiel:

clear 0
pixel 1,100,100


<Übersicht>

zeichnet ein Pixel an die Position 100,100





line

zeichnet eine Linie

V 3.2

Syntax:

line color, xs, ys, xe, ye

s = start, e = ende


Beispiel:

clear 0
line 1,10,10,100,100


<Übersicht>

zeichnet eine Linie von den Koordinaten 10,10 nach 100,100





rect

zeichnet ein Rechteck

V 3.2

Syntax:

rect color, xs, ys, xe, ye

s = start, e = ende


Beispiel:

clear 0
rect 1,10,10,100,100


<Übersicht>

zeichnet ein Rechteck von den Koordinaten 10,10 nach 100,100





rectfill

zeichnet ein ausgefülltes Rechteck

V 3.2

Syntax:

rectfill color, xs, ys, xe, ye

s = start, e = ende


Beispiel:

clear 0
rectfill 1,10,10,100,100


<Übersicht>

zeichnet ein ausgefülltes Rechteck von den Koordinaten 10,10 nach 100,100





rectclear

zeichnet ein Rechteck und löscht den Inhalt im Rechteck

V 3.2

Syntax:

rectclear color, xs, ys, xe, ye

s = start, e = ende

Der Inhalt wird mit der backcolor Farbe überschrieben


Beispiel:

clear 0
rectfill 1,10,10,100,100
rect 2,20,20,30,30
rectclear 2,40,40,50,50


<Übersicht>

zeichnet verschiedene Rechtecke und zeigt die Funktionen von rect,
rectfill und rectclear.





setrect

definiert ein Rechteck vor

V 3.2

Syntax:

setrect x, y

x und y geben die Seitenlänge an. Das vordefinierte Rechteck kann
zu jeder Zeit wieder geändert werden.


Beispiel:

clear 0
align 3
setrect 50,30
srect 1,50,50
srect 1,100,100


<Übersicht>

legt den Nullpunkt in die Mitte des Objekts. Dann wird ein Rechteck
definiert mit den Seitenlängen 50 x 30 pixel. Das definierte Rechteck
wird dann an den Koordinaten 100,100 mit der Farbe 1 gezeichnet.
Ein weiteres Rechteck der gleichen Größe wird an den Koordinaten 150,150
gezeichnet.





srect

zeichnet ein vordefiniertes Rechteck

V 3.2

Syntax:

srect color, x-pos, y-pos


Beispiel:

clear 0
align 3
setrect 50,30
srect 1,50,50
srect 1,100,100


<Übersicht>

legt den Nullpunkt in die Mitte des Objekts. Dann wird ein Rechteck
definiert mit den Seitenlängen 50 x 30 pixel. Das definierte Rechteck
wird dann an den Koordinaten 100,100 mit der Farbe 1 gezeichnet.
Ein weiteres Rechteck der gleichen Größe wird an den Koordinaten 150,150
gezeichnet.





srectfill

zeichnet ein vordefiniertes Rechteck und füllt es aus

V 3.2

Syntax:

srectfill color, x-pos, y-pos


Beispiel:

clear 0
align 3
setrect 50,30
srect 1,50,50
srectfill 1,100,100


<Übersicht>

legt den Nullpunkt in die Mitte des Objekts. Dann wird ein Rechteck
definiert mit den Seitenlängen 50 x 30 pixel. Das definierte Rechteck
wird dann an den Koordinaten 100,100 mit der Farbe 1 gezeichnet.
Ein weiteres ausgefülltes Rechteck der gleichen Größe wird an den Koordinaten
150,150 gezeichnet.





srectclear

zeichnet ein vordefiniertes Rechteck und löscht den Inhalt

V 3.2

Syntax:

srectclear color, x-pos, y-pos


Beispiel:

clear 0
align 3
setrect 60,60
srectfill 1,50,50
setrect 30,30
srectclear 2,50,50


<Übersicht>

zeichet ein gefülltes Rechteck und zeichet darin ein Rechteck, dessen
Inhalt gelöscht wird.





bitmap

gibt ein bw-bitmap aus

V 3.2

Syntax:

bitmap color, bitmapnummer, x-pos, y-pos

Achtung: Bitmaps müssen vorher auf das DTL überspielt werden.
Nutzen Sie dafür die Funktion Bitmap unter dem Menüpukt Display.

Der Aufhängepunkt des Bitmaps hängt von dem mit align angegebenen Modus ab.


Beispiel:

clear 0
align 3
bitmap 1,0,100,100


<Übersicht>

zeichet ein Bitmap mit der Farbe 1 und der Nummer 0





touchclear

löscht alle definierten Touchfelder um sie neu zu definieren

V 3.2

Syntax:

touchclear


Beispiel:

touchclear


<Übersicht>

alle Touchfelder werden gelöscht.





touch

definiert ein Touchfeld

V 3.2

Syntax:

touch taste, xs, ys, xe, ye


Beispiel:

clear 0
touchclear
rect 1,10,10,50,50
touch 50,10,10,50,50

::Main
   press 50
      send "touch"
   holdpress 50
   endpress
jump Main


<Übersicht>

zeichnet ein Rechteck und definiert in gleicher Größe ein Touchfeld.
In der Mainroutine wird der Tastendruck ausgewertet.





stouch

definiert ein Touchfeld in der größe des vordefinierten Rechtecks (setrect)

V 3.2

Syntax:

stouch taste, x-pos, y-pos


Beispiel:

clear 0
touchclear
setrect 60,40
srect 1,60,60
stouch 50,60,60

::Main
   press 50
      send "touch"
   holdpress 50
   endpress
jump Main


<Übersicht>

zeichnet ein Rechteck und definiert in gleicher Größe ein Touchfeld.
In der Mainroutine wird der Tastendruck ausgewertet.







WgP-Port Beschreibung




P = Commando vom PC, W = Antwort vom WgP-Controller, [ ] = 1 Byte !


t
(Tastendruck)

P: [t][Taste]
ruft eine Taste auf. (Taste= 0: Taste loslassen)

V 2.00

v
Version

P: [v]
gibt die WgP-Firmware Version aus (26 Zeichen):
z.B.: "WgP-Version 08/2004 V2.40"

V 1.40

*
Programmieren

P: [*]
W: [/]
P: [H-Byte Proglen]
P: [L-Byte Proglen]
P: [Daten1][Daten2] ....

V 1.00

*
Programmieren

P: [*]
W: [/]
P: [H-Byte Proglen]
W: [>]
P: [L-Byte Proglen]
W: [>]
P: [Daten1]
W: [>]
P: [Daten2]
W: [>]
usw.

V 2.81

?
Verify

P: [?]
W: [/]
delay 100 ms
W: [H-Byte Proglen]
W: [L-Byte Proglen]
W: [Daten1][Daten2] ....

V 2.81

r
Reset

P: [r]

V 3.20

l
Programmlänge
programmieren

P: [l]
W: [/]
P: [H-Byte Proglen]
P: [L-Byte Proglen]

V 3.30

+
Speicherstelle
programmieren

P: [+]
W: [/]
P: [H-Byte Speicherstelle]
P: [L-Byte Speicherstelle]
P: [Daten]
W: [*]

V 3.30

<Übersicht>