Slotbaer / SCX Digital / SCX-Digital Protokoll-Abläufe
 

Auf dieser Seite werfen wir einen Blick auf die Datenpakete, die im Rahmen bestimmter Abläufe gesendet werden.

Der Aufbau der Pakete wird auf einer anderen Seite beschrieben.

Einfach nur Fahren.

Das Fahren wird über Reglerpakete ($FF) gesteuert. Sie wiederholen sich alle 102 ms oder wenn auch immer eine Änderung einer Reglerstellung erkannt wird. Jedes Paket enthält die Daten für alle Regler.

Die zyklischen Reglerpakete werden fast immer gesendet. Nur während den Einstellungen die mit der Mode Taste vorgenommen werden, setzten die Reglerpakete aus.

Auto programmiern.

Nach dem die Program Taste gedrückt wurde, werden die Reglerpakete ($FF) normal weiter gesendet, allerdings wird die Geschwindigkeit bei allen Fahrzeugen auf 0 gesetzt.

Sobald man die Taste des Reglers drückt, der das Fahrzeug steuern soll wird das Zuweisungspaket ($CC) zweimal gesendet.

Licht an/aus

Das Schalten dieser Taste verändert ein Bit in den Reglerpaketen ($FF), deshalb ist ein spezielles Lichtpaket nicht nötig.

Juniormodus an/aus

Das Schalten dieser Taste verändert die Zuweisung von Reglerstellung zu Fahrstufe. Dies ist eine reine Terminal Funktion, das Auto weiss nichts vom Juniormodus, es bekommt einfach keine Fahrstufen über 8 mehr. Deshalb ist ein spezielles Juniorpaket nicht nötig.

Zieldurchfahrt

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.

Rennstart

(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.

Mode Taste (B-Terminal)

Sobald die Mode-Taste gedrückt wurde, werden keine weiteren Reglerpakete ($FF) mehr gesendet.

Pit und bas Modi.

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.

qua Modus.

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.

car Einstellungen

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.

rac Einstellung

Die Benzinverwaltung erfolgt wie erwähnt im Terminal deshalb wird kein Paket versendet, das die allgemeine Tankgrösse spezifiziert.

res Einstellung

Versendet nach dem Drücken der Select Taste Anzeigeeechselpakete ($DE). Sie enthalten keine Information, ausser dass sich die Anzeige ändern soll.

Benzinstand (B-Terminal)

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.

Benzinstand - Reserve (B-Terminal)

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.

Benzinstand - Leer (B-Terminal)

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.

Boxengasse (B-Terminal)

Boxengasse und Kurs sind durch einen Widerstand von 10 Ohm verbunden. Die Boxengasse hat eine zusätzlich eigene Verbindung zum Terminal.

In der Boxengasse werden nur die Reglerpakete ($FF), das Bremsenpaket ($D7) und die Pakete, die der "Boxendurchfahrt" dienen, gesendet.

Wenn ein Wagen in die Box fährt läuft in der Boxengasse, das gleiche ab, wie sonst bei einer Zieldurchfahrt. Allerdings werden auf dem Kurs nur die Zieldurchfahrtpakete ($EE) die angeben, welche Fahrzeuge gerade die Ziellinie überqueren, übertragen. Die anderen "Handshake Pakete" sind auf die Boxengasse beschränkt.

Das Nachtanken wird vom Terminal verwaltet. Während des Tankvorgangs haben die ReglerPakete ($FF) immer eine Geschwindigkeit von 0.