Home arrow Visualisierungs Plugin
Visualisierungs Schnittstelle
Echtzeit Visualisierungs Equipment LCDHype (Programmierer: ViRuSTriNiTy)

ohne Hardware:


mit Hardware (z.B. Logitech’s G15 Tastatur):



Portanzeige in der Mitte, Stuhlpossition links, zu erreichende Possition rechts.

Ich wurde öfters gefragt, ob ich nicht ein kleines Fenster machen könnte, das den Status der Portausgänge des jeweiligen Interfaces darstellen würde. Ich habe über diesen Vorschlag lange nachgedacht und bin zum Schluss gekommen noch einen großen Schritt weiterzumachen. Man betritt nämlich mit diesem Gebiet automatisch die sogenannte “Gauge” Sektion. Diese unermüdlichen Communitymitglieder zerlegen reale Flugzeug/Auto Anzeigegeräte, wie z.B. einen Umdrehungsmesser, und steuern diese mit kleinen Elektromotoren an. Um mit Spielen kompatibel zu sein, werden hier ebenfalls viele Plugins erzeugt.
Dachdem X-Sim für “Cross-Simulator-Software” steht, baue ich immer zuerst auf ausgereifte Module auf, die dann über eine geschriebene Schnittstelle miteinander verbunden werden. An dieser Stelle stelle ich euch nun die LCDHYPE-Schnittstelle vor.

Was ist LCDHype:
LCD-Hype Homepage:
http://www.lcdhype.de/
Lcdhype ist die größte Freeware Seite, wenn es um Anzeigemodule geht. Ursprünglich soll damit der Zustand des Rechners angezeigt werden, was für PC-Modder sehr interressant ist um Temperaturen etc. darzustellen.
Als Beispiel hier mal meine abgeleitete Dracol-Version möglicher Anzeigen mit der G15 Tastatur:


Wer das sieht, schmeißt meist seine Logitech Software vom Rechner, die Adaption zu Motherboardmonitor und Speedfan etc. inclusive.

Es gibt drei Arten von Möglichkeiten:

1. Softwareemulation auf dem PC-Monitor (ohne Hardware)
2. Kauf eines fertigen LCD Modules
3. Selbstanschluss einen beliebigen LCD Modules mit standard Schnittstellen

Anzeigemodule:
Grundsätzlich muss man unterscheiden zwischen Textdisplays und Grafikdisplays . (was man nimmt bleibt jedem einzelnen Überlassen)
Wie man oben sehr gut sehen kann, gibt es käuflich erwerbliche LCD Anzeigen (z.B. USB), die von LCDHype unterstützt werden. Aber viel größer ist die Auswahl, wenn man bei Reichelt, Conrad Elektronik, Pollin oder anderen Elektrohändlern nach HD44780 kompatiblen Controlern. Ebenso werden viele Derivate unterstützt. Diese Module gibt es offen, in verschiedenen Größen zu kaufen und man muss meist Adapter zusammenlöten, die dann an den Parallelport angeschlossen werden (Sehr viele Anleitungen im LCDHype Forum). Für Modder gibt es Anleitungen, wie man regelbare Hintergrundbeleuchtungen in den Verschiedenen Farben hinbekommt.
Bei der von mit verwendeten Logitech Tastatur kommt als vorteil hinzu, das sich die Screens mit den vier Tasten unter dem Display durchschalten lassen ohne das Spiel zu verlassen etc. ...

Emulation:
LCDHype bietet ein Vorschaufenster, das auch bis 4x vergrößerbar ist. Will man es als Hardwareersatz einsetzen, muss mit der rechten Maustaste das automatische Schliessen des Fensters verhindert werden, und es sollte immer im Vordergrund angezeigt werden. Als Modul sollte für mein Beispielscript die Logitech G15 ausgewählt werden (funktioniert auch ohne Hardware).

Was ist zu tun ?
Als erstes muss die LCDHype Software heruntergeladen werden und installiert werden. Dann wählt man unter Einstellungen die Startoptionen und das jeweilige angeschlossene LCD-Display aus. Wenn keines vorhanden ist, wählt man für mein Logitech Script z.B. die G15 Tastatur aus. Man benötigt den Force-Profiler 1.6 und Force-Sender 2.0.1 im neusten Beta-Packet. Im Verzeichniss “other Stuff” befindet sich die lcdhype-xsim.dll, welche in das Pluginverzeichniss von LCDHype kopiert werden muss. Das Beispielscript “x-sim.sd” wird zusammen mit dem Ordner “gfx” in das “script” Verzeichnis von LCDHype kopiert. Das Script kann nun in LCDHype geladen werden. (Knöpfe oben)
Sollte wieder erwarten das LCD funktionieren, kann es zum programmieren der Anzeige gehen:

Das Scripten:
Der absolute Vorteil von LCDHype ist zugleich für einige ein großer Nachteil. Es muss dem Programm mitgeteilt werden, wie und in welcher Art die Daten von X-Sim dargestellt werden sollen. Man muss sich mit der eigens dafür entwickelten Befehlssprache befassen. Als Beispiel dazu liefere ich ein Beispielscript für die G15 Tastatur mit. Eigentlich ist es wirklich nicht schwer, jedoch trauen sich die meisten nicht ran. Am besten man versucht vorhandene Scripte am Anfang nur leicht abzuändern oder kopiert diese heraus. Beispiele dazu finden sich dazu genügend auf der LCDHype Seite.

Ein Script als Beispiel:

#Header
/Common Header Info/
%CleanUp.ClearInputBuffer(All)
%CleanUp.ClearVRAM()
%LCD.Gfx_SetTextArea(0,0,160,43)
%DefVar(buttons=0)
%Param.FastWrite(1)
%Common.SetPriority(50)
%LCD.Gfx_LoadBitmap(gfx\joystick2.bmp,0,0,0,0,160,43,0,NONE)
%Param.RenderMode(Full)

#EndHeader


#GfxMode

%LCD.Gfx_SetFont('Tahoma',7,1)
%LCD.Gfx_SetOverlayMode()
%Common.CreateNewLine(1,45,1)"X"
%Common.CreateNewLine(1,45,11)"Y"
%Common.CreateNewLine(1,45,21)"Z"
%Common.CreateNewLine(1,100,1)"RX"
%Common.CreateNewLine(1,100,11)"RY"
%Common.CreateNewLine(1,100,21)"RZ"
%Common.CreateNewLine(1,60,32)"Slider"
%Format.Bar(Horizontal,30,4,0,234,%UsePlugin('lcdhype-xsim.dll',GetJoyAxisX),1,0,55,4)
%Format.Bar(Horizontal,30,4,0,234,%UsePlugin('lcdhype-xsim.dll',GetJoyAxisY),1,0,55,14)
%Format.Bar(Horizontal,30,4,0,234,%UsePlugin('lcdhype-xsim.dll',GetJoyAxisZ),1,0,55,24)
%Format.Bar(Horizontal,30,4,0,234,%UsePlugin('lcdhype-xsim.dll',GetJoyAxiRX),1,0,115,4)
%Format.Bar(Horizontal,30,4,0,234,%UsePlugin('lcdhype-xsim.dll',GetJoyAxiRY),1,0,115,14)
%Format.Bar(Horizontal,30,4,0,234,%UsePlugin('lcdhype-xsim.dll',GetJoyAxiRZ),1,0,115,24)
%Format.Bar(Horizontal,30,4,0,234,%UsePlugin('lcdhype-xsim.dll',GetJoSlider),1,0,88,35)

#EndGfxMode

Im Header werden Variablen und Hintergrundbilder initialisiert, unter GfxMode werden die Zeilen dargestellt. (an Possition x,y)
Es lassen sich Anzeigebalken verwenden (Hier %FormatBar()) und graphische Zeichnungen, wie z.B. LineTo ...
Zu jedem Befehl gibt es mit Rechtsklick eine Hilfe. Diese ist sehr ausführlich.
Für X-Sim wird mit
%UsePlugin('lcdhype-xsim.dll',GetJoyAxisX) auf ein Plugin zugegriffen.
Statt GetJoyAxisX stehen viele weitere Funktionen zur Verfügung. Im Beispielscript sind alle angewandt.

Unterstützte Kommandos für das X-Sim Plugin für Force-Profiler und Force-Sender (auf Schreibweise achten, sonst kommt ein “invalid” zurück):

%UsePlugin('lcdhype-xsim.dll', ->hier kommt das jeweilige Kommando rein<- )

Joystickabfragen:
“GetJoyAxisX”
“GetJoyAxisY”
“GetJoyAxisZ”
“GetJoyAxiRX”
“GetJoyAxiRY”
“GetJoyAxiRZ”
“GetJoSlider”

Stuhlabfragen:
“GetChairAxX” (Aktuell X-Achse Poti)
“GetChairAxY” (Aktuell Y-Achse Poti)
“GetSollAxiX” (Sollwert X)
“GetSollAxiY” (Sollwert Y)

Effektebox-Werte:
“EffectNum01” (Werte wie im Force Profiler rechts oben, 1-19 sind Yoda, 20-40 sind Spieleplugins vom Force-Sender)
bis
“EffectNum40”

Portausgaben / Ventilstatus
“ExtPortbit1”
bis
“ExtPortbit8”

Pro Spiel kann man sich hier also ein Script basteln, das dann den Namen etc. der Effekte darstellt und die passenden Werte in Echtzeit danebenstellt.
Manchmal kann man sogar den Speed-Wert als grafische Anzeige verwenden und das Cockpit ausblenden.
Postet eure Scripte (egal ob 100% fertig oder nicht) bitte ins Forum sonst hat keiner was davon !!
Wichtig: Die Daten kommen aus dem Force-Profiler 1.6 oder aus dem überarbeiteten Force-Sender 2.0.1. Beide tauschen fehlende Daten über Netzwerk miteinander aus und ergänzen sich somit. Ist die Darstellung zu langsam, kann die FPS Rate in LCDHype erhöht werden, aber nicht alle Displays sind unbedingt so schnell wie die Ports schalten.