|
Eine Zieldurchfahrt ist ein komplexer Prozess.
Zuerst betätigt ein Magnet in der Schiene, einen Reedkontakt im Fahrzeug um ihm mit zu teilen, dass es seine Kennung senden soll, sobald die "Leiter" frei sind.
Dann betätigt der Magnet im Auto den Reedkontakt der Schiene. Dies wird vom Terminal erkannt und es sendet zwei Busfreigabepakete ($AA).
Das Standardterminal gibt 2 ms nach Senden des 2 Paketes den Bus frei.
Alle Autos deren Reedkontakt betätigt wurde senden nun ihre Kennung mit Hilfe der Autopakete ($4x).
Damit es nicht zu Datenkollisionen kommt geschieht dies in einem festen Zeitraster. Wenn das erste Auto das Ziel durchfährt erfolgt seine Antwort beim Standardterminal etwa 7 ms nach Erhalt des zweiten Busfreigabepaketes. Das zweite Auto antwortet, wenn es das Ziel durchfahren hat etwa 10 ms nach Erhalt des zweiten Busfreigabepaketes. Das Dritte nach etwa 12 ms. Die anderen habe ich nicht gemessen.
Hat das Terminal dieses erkannt, so sendet es Zieldurchfahrtpakete ($EE) die angeben, welche Fahrzeuge gerade die Ziellinie überqueren.
Nach der Zieldurchfahrt werden nun auch alle 300ms Platzierungspakete ($D3) und Rundenzeitenpakete ($D4) übertragen.
Während die Platzierungspakete wieder die Daten aller Autos enthalte enthält das Rundenzeitpaket nur die Zeit des Fahrzeuges, das als letzte das Ziel durchfuhr. Durchfuhren mehrere Fahrzeuge gleichzeitig ds Ziel so wird für jedes ein Rundenzeitpaket gesendet.
(Nur B-Terminal) Wird das Rennen über die Starttaste gestartet, so wird zuerst ein Rundenzählerpaket ($D5) zweimal gesendet, damit jeder weiss wób auf oder abgezählt wird und ggf. wieviele Runden zu fahren sind.
(Nur B-Terminal) Dann folgt ein Reglerpaket ($FF) bei dem alle Geschwindigkeiten auf 0 gesetzt sind.
Zum Abschluss werden je zwei Resetpakete ($D0) und Startpakete ($DD) gesendet.
(Nur B-Terminal) Ob ein Rennen mit oder ohne Berücksichtigung des Benzinstandes gefahren wird ist dem Benzinstandpaketen ($D6) zu entnehmen und wird vor dem Start nicht gesondert übertragen.
Sobald die Mode-Taste gedrückt wurde, werden keine weiteren Reglerpakete ($FF) mehr gesendet.
Nach dem Einstellen von Pit bzw. bas Modus wird zweimal ein Rundenzählerpaket ($D5) übertragen und die Benzinstandpakete ($D6) geben an ob das nächste Rennen ein "Pit" oder ein "bas" Rennen sein wird.
Nach dem Einstellen von Runden- und Fahrzeuganzahl wird zweimal ein QualifyingPaket ($DB), mit diesen Parameter gefolgt von zwei Rundenzählerpaketen ($D5), die die Zählrichtung auf hochzählen setzen, übertragen.
Die Benzinverwaltung erfolgt im Terminal deshalb wird kein Paket versendet, das den Benzinstartwert angibt. Allerdings wird der neue Wert im nächsten Benzinstandpaket ($D6) sichtbar.
Die Bremseneinstellun hingegen wird mit einem Bremsenpaket ($D7) an ein Auto in der Box geschickt. Das Paket wird nur an die Box geschickt nicht an die normalen Schienen.
Die Benzinverwaltung erfolgt wie erwähnt im Terminal deshalb wird kein Paket versendet, das die allgemeine Tankgrösse spezifiziert.
Versendet nach dem Drücken der Select Taste Anzeigeeechselpakete ($DE). Sie enthalten keine Information, ausser dass sich die Anzeige ändern soll.
Der gegenwärtige Benzinstand wird zyklisch etwa alle 500 ms übertragen. Ein Benzinstandpaket ($D6) enthält den Benzinstand aller Fahrzeuge. Der Benzinstand wird als Anzahl der grünen Leds in der Tankanzeige angegeben.
Das Ruckeln bei fast leerem Tank wird erzeugt indem die Geschwindigkeit des Fahrzeuges bei jedem zweiten zyklichen Reglerpaket ($FF) auf Fahrstufe 2 gesetzt wird. Allerdings ruckelt das Auto nur bei Fahrstufen über 4.
Im Normalfall wird die Abnahme der Benzinmenge durch die Reglerstellung bestimmt. Nicht so, wenn man nur noch eine Led leuchten hat. In dem Fall ist mit der vierten Zieldurchfahrt Schluss unabhängig von der Fahrweise.
|