Zeitmessprotokoll » Historie » Revision 5
« Zurück |
Revision 5/19
(Vergleich)
| Weiter »
Steffen Christgau, 28.04.2017 10:46
Zeitmessprotokoll¶
Neben der Unterstützung für Software-Protokollen von Hardware-Herstellern, wie Omega oder Tag Heuer, zwecks Unterstützung von Zielkameras oder hoch-präzisen Uhren bietet Aquarius ein Software-Protokoll mit dem sich Zeitmessung umsetzen lässt. Das Protokoll lässt sich unabhängig vom Transportmedium (TCP/IP, serielle Schnittstelle) unter Datei -> Verbindungseinstellungen
einrichten.
Datenformat¶
Daten werden im Protokoll zeilenweise übertragen. Als Zeilenumbruch werden sowohl CR-LF-Sequenzen (vgl. ASCII-Code) und einzelne LF-Zeichen akzeptiert. Gesendet werden immer CR-LF-Sequenzen.
Eine Zeile, die an Aquarius gesendet wird, besteht aus einem Kommando und optionalen Argumenten. Argumente werden durch Leerzeichen voneinander getrennt sowie vom Kommando getrennt. Argumente bestehen aus Schlüssel-Wert-Paaren. Dem Namen (Schlüssel) des Argumente folgt ein "=", darauf der jeweilige Wert.
Beispiel: COMMAND arg1=value1 arg2=value2
Antworten (sofern vorgesehen) werden von Aquarius ebenfalls zeilenweise gesendet. Eine Leerzeile folgt einer mehrzeiligen Antwort und deren Ende zu signalisieren.
Groß- und Kleinschreibung ist grundsätzlich relevant.
Kommandos¶
Status-Abfrage¶
Mit dem Kommando STATUS
(keine Argumente) werden die gestarteten Läufe und die gestarteten Boote abgefragt. Die Antwort enthält so viele Zeilen (ohne abschließende Leerzeile) wie gestartete Boote vorliegen. Neben der Laufnummer werden die (individuelle) Startzeit, Startbahn und Startnummer der Boote übermittelt. Die Startzeit wird im Format hh:mm:ss.ddd
(ddd = Tausendstel der Sekunde) übertragen. Die Angaben sind durch ein einzelnes Leerzeichen voneinander getrennt.
Beispiel (Pfeile am Beginn der Zeile signalisieren die Richtung der Daten, Aquarius links, Client rechts):
< STATUS > 12 1 1 12:00:53.934 > 12 2 2 12:00:53.934 > 12 3 3 12:00:53.934 >Hier starten im Lauf mit der Nummer 12, drei Boote auf den Bahnen 1 bis 3 mit identischen Startnummern. Startzeit für alle Boote ist kurz nach 12:00 Uhr. Eine Sortierung der Datensätze ist nicht definiert. Die Leerzeile signalisiert das Ende der Datensätze.
Zeitmessdaten senden¶
Um Zeiten an Aquarius zu senden, muss das Kommando TIME
abgesetzt werden. Es können die folgenden Argumente angegeben werden, die alle optional sind:
- time: Tageszeit für die Zeitmessdaten. Wird diese Argument nicht angegeben, wird die aktuelle Zeit auf dem empfangenden Aquarius-Rechner verwendet.
- bib: Startnummer des Boots, für das die Zeit aufgezeichnet werden soll.
- lane: Startbahn des Boots, für das die Zeit aufgezeichnet werden soll.
- comp: Nummer des Laufs, für den die Zwischenzeit gelten soll.
- split: Nummer der Zwischenzeit. 0 bedeutet Start, 1 die erste Zwischenzeit und so fort. Das Ziel hat die Nummer 64.
- dist: Streckenmarke (in Meter), an der die Zeit gemessen worden ist. Bei einem 2000-Meter-Rennen mit drei Zwischenzeiten liegt die erste Zwischenzeit bei Streckenmarke 1500, die dritte bei 500. Bei einem Rennen über 1000 Meter mit einer Zwischenzeit liegt die erste (und einzige) Marke ebenfalls bei 500 Meter. So genügt es, die feste Position statt der variablen Zwischenzeitnummer zu übertragen.
- Die Startnummer (bib) hat Vorrang gegenüber der Bahn (lane) wenn beide angegeben werden.
- Wenn die Zwischenzeitnummer (split) und Distanz (dist) gleichzeitig angegeben werden, hat die Zwischenzeitnummer Vorrang.
- Zeit muss im Format hh:mm:ss.ddd (d = Tausendstel) angegeben werden
Auf dieses Kommando wird keine Antwort gesendet.
Beispiele:
- Neue Zielzeit (automatisch ermittelt) für undefiniertes Boot
< TIME
- explizite Zeitangabe für ein Boot
< TIME time=17:00:00.100 split=1 bib=27 comp=8
Startnummer 27 hat in Lauf 8 die erste Zwischenzeit um sehr kurz nach 17 Uhr überquert. - mit Streckenmarke und Bahn
< TIME time=17:00:00.100 dist=1500 lane=3 comp=8
Das Boot auf Bahn 3 hat in Lauf 8 die Streckenmarke bei 1500 Meter um sehr kurz nach 17 Uhr überquert.
Von Steffen Christgau vor mehr als 8 Jahren aktualisiert · 5 Revisionen