Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Wallbraun touch Screen
#1
Tach zusammen!

Kann mir mal einer erklären, warum diese Abfrage nicht funktioniert.

#Header
%DefVar(KeyX,0)
%DefVar(KeyY,0)
%DefVar(WorkAround,0)

#EndHeader

#TextMode
%Assign(KeyX,%Shr(%Shl(%System.Input(ReadCode),8),18))
%Assign(KeyY,%Shr(%Shl(%System.Input(ReadCode),22),22))
%Assign(WorkAround,%Shr(%System.Input(ReadCodeEncoded),28))

%Common.Compare(%WorkAround() = 3)Then{
%Common.Compare((%KeyY() >= 70) AND (%KeyY() <= 80))Then{

%Common.Compare((%KeyX() >= 16) AND (%KeyX() <= 26))Then{ '1'}/Prev/
%Common.Compare((%KeyX() >= 34) AND (%KeyX() <= 48))Then{ '2'}/Play/
%Common.Compare((%KeyX() >= 52) AND (%KeyX() <= 62))Then{'3' }/Pause/
%Common.Compare((%KeyX() >= 70) AND (%KeyX() <= 80))Then{'4' }/Stop/
%Common.Compare((%KeyX() >= 90) AND (%KeyX() <= 99))Then{ '5' }/Next/
}}
#EndTextMode

#GfxMode

%KeyX(),%KeyY()
#EndGfxMode

Ich stehe da etwas auf dem Schlauch...

Wie der Titel schon sagt, es geht um den Touchscreen. Das Display als solches läuft. firmware ist3.0.2.5 LUIse.dll ist vom 13.10.08

Danke Thomas
Wenn man erstmal verstanden hat wie es funktioniert, kapiert man auch wie es in der Anleitung gemeint war!
#2
was geht denn nicht? die grafische auzsgabe aktualisiert sich nicht? stichwort textarea? *G*
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#3
Naja, hilft schon mal etwas weiter!

Aber warum bleibt der Y-Wert 0? Muß dabei zugeben, ich komme mit der Bit-Schieberei nicht so richtig klar. X wird korrekt zurückgegeben.

#Header
%DefVar(KeyX,0)
%DefVar(KeyY,0)
%Graph.SetTextArea(0,0,320,240)
#EndHeader

#TextMode
%Assign(KeyX,%Shr(%Shl(%System.Input(GetCode),8),18))
%Assign(KeyY,%Shr(%Shl(%System.Input(GetCode),22),22))


#EndTextMode

#GfxMode
%Graph.SetPixel(%KeyX(),%KeyY(),1)
%KeyX(),%KeyY()
#EndGfxMode

Bin für weitere Tips dankbar
Wenn man erstmal verstanden hat wie es funktioniert, kapiert man auch wie es in der Anleitung gemeint war!
#4
weil du mit getcode arbeitest und nicht readcode. somit hast du nach dem ersten getcode schon den x,y wert aus dem buffer gelöscht und der 2. aufruf liefert 0.

ansonsten müsste es doch eignetlich shift mit 23 anstatt 22 heissen.
Current stable version of LCDHype: 0.7.6
New plugin: Notepad++ Bookmark Manager
New music: Nordwise - Empire transition
#5
Hallo,

habe mal ne frage zu diesem Script, sobald ich für Getcode, Readcode eingebe, reagiert das Display anscheinend nicht auf neue Touchcodes??

#Header
%Common.SetPriority(100)
%Graph.SetTextArea(0,0,320,240)
%DefVar(KeyX=0)
%DefVar(KeyY=0)
%DefVar(WorkAround=0)
%DefVar(AktPressed=0)
%DefVar(page=1)
%DefVar(i=12)
#EndHeader

#TextMode
%Assign(KeyX,%Shr(%Shl(%System.Input(ReadCode),8),18))
%Assign(KeyY,%Shr(%Shl(%System.Input(ReadCode),22),22))
%Assign(WorkAround,%Shr(%System.Input(ReadCodeEncoded),28))
%Common.Compare(%WorkAround() = 3)Then
{
%Common.Compare(%AktPressed() = 0)Then
{
%Assign(AktPressed,1)
%Common.Compare((%KeyY() >= 1) AND (%KeyY() <= 40))Then{

%Common.Compare((%KeyX() >= 6) AND (%KeyX() <= 100))Then{ %Assign(page, 1) }
%Common.Compare((%KeyX() >= 101) AND (%KeyX() <= 200))Then{ %Assign(page, 2) }
%Common.Compare((%KeyX() >= 201) AND (%KeyX() <= 320))Then{ %Assign(page, 3) }

}
}
}
Else
{
%Assign(AktPressed,0)
}

/Ende Slash/
#EndTextMode

#GfxMode

' Page ' %page()
%Assign(i, 12)
%If(%page() = 1) {
}
.
.
.
#6
Hallo Speedrunner II,
ich besitze auch ein V3 Touch von Wallbraun und habe die Touchabfrage wie im unteren Beispiel gelößt.

#Header

%DefVar(Port1=0)
%DefVar(Port2=0)
%DefVar(Port3=0)
%DefVar(outvalue=0)

/Keys abfragen/

%CleanUp.ClearInputBuffer(All)
%DefVar(add=0)
%DefVar(pos=0)
%DefVar(Key=0)


/Slash/

%DefVar(KeyX=0)
%DefVar(KeyY=0)
%DefVar(WorkAround=0)
%DefVar(AktPressed=0)

/Ende Slash/

%Common.SetPriority(1000)
%Param.InvertMode(1)
%LCD.Gfx_LoadBitmap(S2_sensoren.bmp,0,0,0,0,320,240,0,NONE)
%LCD.ContrastControl(1)
%LCD.Contrast(150)



#EndHeader

#TextMode

%CleanUp.TextArea(All)

/Slash Koordinaten in Variablen übertr./
/Alle Areas nur jeden X Durchlauf updaten/

%Assign(KeyX,%Shr(%Shl(%System.Input(ReadCode),8),18))
%Assign(KeyY,%Shr(%Shl(%System.Input(ReadCode),22),22))
%Assign(WorkAround,%Shr(%System.Input(ReadCodeEncoded),28))


%Common.Compare(%WorkAround() = 3)Then
{
%Common.Compare(%AktPressed() = 0)Then
{
%Assign(AktPressed,1)
%Common.Compare((%KeyY() >= 0) AND (%KeyY() <= 20))Then{

%Common.Compare((%KeyX() >= 25) AND (%KeyX() <= 70))Then{ %Common.ChangeScreen(0,1)}/PC-Info/
%Common.Compare((%KeyX() >= 75) AND (%KeyX() <= 120))Then{ %Common.ChangeScreen(0,2)}/Sensoren/
%Common.Compare((%KeyX() >= 125) AND (%KeyX() <= 170))Then{ %Common.ChangeScreen(0,3)}/Speicher/
%Common.Compare((%KeyX() >= 175) AND (%KeyX() <= 220))Then{ %Common.ChangeScreen(0,4)}/Online/
%Common.Compare((%KeyX() >= 225) AND (%KeyX() <= 270))Then{ %Common.ChangeScreen(0,5)}/Wetter/
%Common.Compare((%KeyX() >= 275) AND (%KeyX() <= 320))Then{ %Common.ChangeScreen(0,6)}/Winamp/
}
}


}
Else
{
%Assign(AktPressed,0)
}

/Ende Slash/

#EndTextMode

#GfxMode

/%CleanUp.TextArea(All)/

/Keys abfragen/

%Assign(Key,%System.Input(GetCode))


/WINAMP go/

/Programm TP/ %Common.Compare((%KeyX() >= 5) AND (%KeyX() <= 25))Then{ %System.Execute('C:\Program Files (x86)\Winamp\Winamp.EXE',,0) }


/Lichtsteuerung Zeitabhängig von 18Uhr bis 21:59Uhr , die Stunden 18 bis 21 werden abgefragt und die Minuten fallen weg/

%Common.Compare(%System.GetDateTime(h) >= 0)Then{%Common.Compare(%System.GetDateTime(h) <= 23)Then{%Assign(Port1,0)}
%Common.Compare(%System.GetDateTime(h) >= 0)Then{%Common.Compare(%System.GetDateTime(h) <= 23)Then{%Assign(Port2,0)}
%Common.Compare(%System.GetDateTime(h) >= 0)Then{%Common.Compare(%System.GetDateTime(h) <= 23)Then{%Assign(Port3,1)}

%Assign(outvalue,%Inc(%Inc(%Mul(%Port2(),2),%Mul(%Port3(),4)),%Port1()))

%LCD.Outports(%outvalue())

#EndGfxMode


Forum Jump:


Users browsing this thread: 1 Guest(s)