GT6N Funktionsweise

  • Der GT6N ist das erste Standard-Fahrzeug in LOTUS. Die Bedienung wird zu einem Großteil im Spiel anhand der Echtzeithilfe verständlich. Für alles andere gibt es diesen Lexikon-Eintrag.

    1 Strom

    text

    2 Fahren

    text

    3 IBIS und Anzeige

    Im Folgenden wird die Bedienung des IBIS-Gerätes beschrieben.


    3.1 Besonderheiten bei der In-/Außerbetriebnahme

    Nachdem der Richtungswender aus der 0-Position in die I-, V- oder R-Position geschaltet wird, schaltet sich das IBIS ein. Als erstes blinkt kurz "Linie/Kurs: 00000", dann folgt kurz darauf die Kleinfunk-Statusmeldung. Diese kann mit "Löschen" weggedrückt werden. Dann blinkt erneut "Linie/Kurs: 00000". Es kann unmittelbar mit den Ziffer-Tasten eine Linie und ein Kurs eingegeben werden (s.u.), oder mit "Löschen" die Linieneingabe abgebrochen werden. Nun befindet sich das IBIS im normalen Betriebsmodus. Sobald eine Linie ungleich 0 eingegeben wird, verlässt das IBIS den Kleinfunk.


    Wenn eine Linie/Kurs = 0 eingegeben wird, dann setzt sich das IBIS komplett zurück, alle Codes und Nummern werden auf 0 gesetzt und es wird in den Kleinfunk gewechselt.


    Wird der Richtungswender auf 0 gesetzt, dann gibts zwei Möglichkeiten: Wenn zuletzt Linie/Kurs = 0 gesetzt waren, schaltet sich das IBIS nach einer Weile komplett ab. Sofern dies nicht der Fall war, schaltet sich das IBIS in eine Art Ruhemodus und behält die eingegebenen Daten.

    3.2 Display

    In der oberen Zeile werden entweder die aktuelle Haltestelle (noch nicht implementiert), das aktuelle Ziel oder Statusmeldungen angezeigt. Auch wird diese Zeile während einer neuen Eingabe verwendet.


    In der unteren Zeile werden die aktuellen Einstellungen angezeigt:

    • Gelb: Liniennummer
    • Blau: Kursnummer (noch nicht implementiert)
    • Rot: Route
    • Grün: Zielcode
    • Magenta: Linien-Sonderzeichen-Code (sofern nicht 0) oder während sich das Fahrzeug im Kleinfunk Betriebshof befindet (KFB).

    3.3 Tasten

    Bisher werden die folgenden Tasten unterstützt:

    • Eingabe: Während einer aktiven Eingabe führt diese Taste zur Übernahme des eingegebenen Codes in das System. Außerdem können hiermit Statusmeldungen "weggedrückt" werden.
    • Löschen: Bricht eine aktive Eingabe ab. Außerdem können hiermit Statusmeldungen "weggedrückt" werden.

    Der Ziffernblock ist teilweise doppelt belegt:

    • Während einer Eingabe "gilt" die Ziffern-Belegung
    • Wenn gerade keine Eingabe erfolgt, dann sind die Zweitbelegungen aktiv:
    • Linie/Kurs: Nach dem Drücken wird ein bis zu fünfstelliger Code eingegeben. Die ersten drei Ziffern sind hierbei die Liniennummer, gefolgt von der zweistelligen Kursnummer. Soll kein Kurs eingegeben werden, dann werden hier zwei Nullen eingegeben. Diese Kursziffern müssen aber immer mit eingegeben werden. Bestätigt wird die neue Linie-Kurs-Nummer mit "Eingabe", abgebrochen werden kann die Eingabe mit "Löschen".
    • Ziel: Nach dem Drücken wird ein bis zu dreistelliger Code für die Zielanzeige eingegeben. Sofern danach mit "Eingabe" bestätigt wird, folgt die Eingabe des zweistelligen Sonderzeichen-Codes für die Linienanzeige. Soll die Linienanzeige ohne Sondernzeichen erfolgen, muss hier lediglich mit "Eingabe" bestätigt werden. Abgebrochen werden kann die Eingabe jederzeit mit "Löschen".

    3.4 Beispiel

    3.4.1 Erstmalige Eingabe

    • Richtungswender auf "I" (sofern noch nicht geschehen) ==> IBIS schaltet sich ein, die Startmelodie ertönt und die Meldung "Kleinfunk" erscheint
    • Kleinfunk-Meldung mit "Löschen" wegdrücken ==> Es blinkt "LINIE/KURS: 00000"
    • Falls doch nicht "LINIE/KURS: 00000" blinkt und die obere Zeile leer ist, dann die Taste "1 / Linie Kurs" drücken, nun sollte "LINIE/KURS: 00000" blinken
    • Zahlencode eingeben, z.B. "1200" für die Linie 12 und den Kurs 00 (kein Kurs).
    • Falls Du Dich vertippt hast, dann "Löschen" drücken und erneut "1 / Linie Kurs".
    • "Eingabe" drücken ==> Anzeigen zeigen die Liniennummer "12" und, dahinter ist die Anzeige leer.
    • "4 / Ziel" drücken ==> es blinkt "ZIEL: 000".
    • Den Zielcode eingeben, z.B. eine 3 für "S Hackescher Markt". (in der Berliner FIS-Gruppe) oder "Ostend Buchenstr." (in der Diorama FIS-Gruppe).
    • "Eingabe" drücken ==> Anzeigen zeigen das ausgewählte Ziel an.
    • Entweder erscheint die Meldung "Falsches Ziel", dann ist das Ziel nicht enthalten oder womöglich keine FIS-Gruppe eingestellt
    • Oder es blinkt "SONDERZEICHEN: 00"
    • Dann entweder die Nullen mit "Eingabe" bestätigen oder einen Sonderzeichen Code eingeben und dann "Eingabe" drücken.

    3.4.2 Neueingabe Linie

    • "1 / Linie Kurs" drücken ==> "LINIE/KURS: #####" blinkt (zuvor eingegebene Linie/Kurs)
    • Nummer eingeben
    • "Eingabe"

    3.4.3 Neueingabe Ziel

    • "4 / Ziel" drücken ==> "ZIEL: 000" blinkt
    • Nummer eingeben
    • "Eingabe" ==> "SONDERZEICHEN: 00" blinkt
    • ggf. Sonderzeichen-Code eingeben, danach "Eingabe"

    3.4.4 Neueingabe Linien-Sonderzeichen

    • "4 / Ziel" drücken ==> "ZIEL: ###" blinkt (zuvor eingegebenes Ziel)
    • Eingabe drücken ==> Ziel verändert sich nicht, "SONDERZEICHEN: 00" blinkt
    • Sonderzeichen eingeben
    • Eingabe drücken

    4 Entwickler-Informationen

    4.1 Repaints

    Beim Repainten ist lediglich zu beachten, dass es drei Texturen gibt, die üblicherweise geändert werden, je eine für den A, den C und den B-Teil: EXT_A_1.bmp, EXT_C_1.bmp und EXT_B_1.bmp.


    Das Mapping vom A-Teil sieht exemplarisch folgendermaßen aus:


    • A: Oberseite der "Nase"
    • B: Dach überm Fahrer
    • C: Innenseite der Dachkanten
    • D: Haltestangen

    Beim B-Teil ist alles um 180 verdreht, weshalb sich oben die linke Seite und unten die rechte Seite befindet.


    Die Templates befinden sich im OpenSource-Ordner im LOTUS-Verzeichnis, ich habe hier die "Originale" in 4096er-Auflösung hinterlegt, nach dem Bearbeiten reduziere ich für LOTUS die Auflösung stets auf 2048 x 2048 und schärfe nach.


    Soll über die Fenster geklebt werden, muss eine weitere Austauschtextur pro Wagenteil angelegt werden, deren Alphakanal als Transparenz interpretiert wird. Die auszutauschenden Texturen sind EXT_A_1_Werbung.bmp, EXT_C_1_Werbung.bmp und EXT_B_1_Werbung.bmp.

    4.2 Schnittstelleninformationen IBIS / Bordrechner

    4.2.1 Geometrie

    Die Größe und Ausrichtung des IBIS kann folgender Grafik entnommen werden; die Z-Achse zeigt dabei in Richtung des Betrachters, das IBIS liegt gewissermaßen "auf dem Boden":



    4.2.2 Slot-Information

    Die Modul-Klasse ist "IBIS_GT6N"

    4.2.3 Script-Kommunikation

    Das IBIS sendet die Aufforderungen an Innen- und Außenanzeigen mittels Broadcasts, die unter der BusID "PIS" verteilt werden:

    • LINE (integer): Sendet als Value die Liniennummer (ohne irgendwelche Kurs- oder Sonderzeichen-Information!), die an den äußeren Zielanzeigen angezeigt werden soll. Die Aktualisierung der Außenanzeige wird hiermit angefordert.
    • TERMINUS_LISTINDEX (integer): Sendet als Value den Index (nicht den Code!) der soeben gewählten Ziel-Haltestelle, die an den Außenanzeigen angezeigt werden soll. Die Aktualisierung der Matrix wird hiermit angefordert.
    • SPECIALCHAR (integer): Sendet als Value den Sonderzeichen-Code. Das Umwandeln desselben in einen Sonderzeichen-String erfolgt erst in der Matrix. Die Aktualisierung der Matrix wird nicht angefordert! Erst eine der oberen Messages löst die Aktualisierung der Matrix aus.

    Der Befehl zum Ein- und Ausschalten des Gerätes wird empfangen über eine explizite Message (kein Broadcast!):

    • MAINSWITCH (integer): Value = 0 schaltet das Gerät aus, Value = 1 schaltet es ein.

    Sollen abweichende Systeme von Steuergerät/Anzeigen eingebaut werden, können ohne Probleme weitere Broadcast-Befehle eingefügt werden; durch die Broadcast-Charakteristik müssen diese nicht mit dem GT6N-Hauptscript kompatibel sein oder von diesem berücksichtigt werden.

    4.3 Schnittstelleninformationen Außenanzeigen

    Bei den Anzeigen wird stets unterschieden zwischen einer Master-Anzeige, welche die gesamte Script-Logik und die Schreib-Befehle enthält, und Slave-Anzeigen, die keinerlei innere Logik enthalten, sondern lediglich von der Master-Matrix den Textur-Index erhalten, so dass sie dieselbe Textur wie die Master-Anzeige verwenden (und somit dasselbe anzeigen).

    4.3.1 Geometrie

    Die Anzeigen sind flach und auf den Mittelpunkt der eigentlichen Matrix ausgerichtet. Sie sind so ausgerichtet wie die Front-Matrix. Wichtig ist, dass sie etwas zu breit und etwas zu hoch für den Anzeigen-Kasten vom GT6N sind, damit keine Lücken entstehen und sie auch auf anderen Fahrzeugen eingesetzt werden können.


    (die Z-Koordinaten der Linien-Anzeige sind identisch mit denen der kompletten Zielanzeige)

    4.3.2 Slot-Informationen

    Die Modul-Klassen sind "TERMINUSDISPLAY", "TERMINUSDISPLAY_SLAVE" und "LINEDISPLAY_SLAVE".

    4.3.3 Script-Kommunikation (Master)

    Die Steuerung der Anzeige erfolgt über den Empfang von Broadcast-Befehlen unter der BusID "PIS":

    • LINE (integer): Empfängt als Value die Liniennummer (ohne irgendwelche Kurs- oder Sonderzeichen-Information!). Es findet unmittelbar eine Umwandlung in einen String unter Berücksichtigung des aktuellen Sonderzeichen-Codes auf Basis der FIS-Gruppe und dann die Aktualisierung der Anzeige statt.
    • TERMINUS_LISTINDEX (integer): Empfängt als Value den Index (nicht den Code!) der soeben gewählten Ziel-Haltestelle. Die entsprechenden Strings werden der FIS-Gruppe entnommen und es findet auf deren Basis unmittelbar eine Aktualisierung der Anzeige statt.
    • SPECIALCHAR (integer): Empfängt als Value den Sonderzeichen-Code. Es findet keine Aktualisierung der Anzeige statt.

    Die Helligkeit der Beleuchtung wird ebenfalls über einen Broadcast-Befehl empfangen - unter der BusID "GEN":

    • LIGHT (single): Die Helligkeit der Anzeigen-Beleuchtung wird als Value empfangen und wird in die zuständige Variable geschrieben.

    4.4 Source-Elemente

    4.4.1 Script-Sourcecode

    Der gesamte Sourcecode des GT6N-Scripts befindet sich im OpenSource-Ordner im LOTUS-Verzeichnis.

    4.4.2 Kupplung

    Das Mesh und die Textur der GT6N-Kupplung befindet sich im Anhang dieses Artikels.

    4.4.3 Pantograph

    Das Mesh des GT6N-Pantographen befindet sich ebenfalls im Anhang dieses Artikels. Die nötigen Texturen sind die A- und die C-Außen-Textur, die man im Repaint-Template findet.