Blackbox Firmware Features
Achtung! Mit dem Flashen der Openslot Firmware erlischt ein eventueller Garantieanspruch vollständig! Es gibt keinen Weg zurück, wurde die Blackbox einmal überschrieben gibt es keine Möglichkeit mehr den Originalzustand wieder her zu stellen!
Rundenzeiten
Die Firmware zählt selbstständig die gefahrenen Runden pro Spieler und hält dessen beste und letzte Rundenzeit fest. Diese Zähler werden beim Rennstart über den Startbutton (an der Blackbox oder über das CLI) zurückgesetzt. Das CLI versetzt die Blackbox in einen Monitoring Mode, damit die aktuellen Daten permanent gesendet werden und live auf dem CLI Monitor erscheinen.
Tankverhalten (Blackbox erhält Rückmeldung von Pitlane Firmware!)
Das Openslot CLI aktiviert das erweiterte Tankverhalten. Ist dies nicht gewünscht muss das CLI mit dem Parameter "--nofuel" gestartet werden (in diesem Fall übernehmen wie in der originalfirmware die Autos selbst die Tanklogik, "TA" an der Blackbox muss dazu auch eingeschaltet sein).
Das neue Tankverhalten (Pitlane Modifikation nötig): Beim Rennstart starten alle Spieler mit 100% Tankfüllung (ausser es wurde über die Spielerprofile ein anderer Füllstand definiert). Allen Spielern welche zu früh starten wird der Tank zu 50% abgesaugt, das verhindert nervige Rennstarts und "bestraft" die betreffenden Spieler dadurch dass diese sehr früh tanken müssen. Abhängig von der Geschwindigkeit (wie weit der Gashebel gedrückt wird) verringert sich der Tankinhalt im Rennverlauf. Defensive Fahrweise verbraucht also weniger Sprit als offensive Fahrweise - wie bei richtigen Verbrennungsmotoren auch :)
Kommunikationsprotokoll zwischen Software (PC CLI) und Firmware
Die Kommunikation erfolgt über die normale RS232 Schnittstelle mit den Parametern 57600 BAUD, 8 Datenbits, 1 Stoppbit (8N1).
Im Normalfall funktioniert die Kommunikation so, dass die Firmware auf Befehle antwortet und Events selbstständig übermittelt. Im Livemodus sendet die Firmware auch ohne Anfrage einmal pro Sekunde für jedes Auto den Tankfüllstand inklusive der aktuellen Rennzeit. Ereignisse müssen nicht durch Anfrage geholt werden, diese werden von der Firmware direkt gesendet:
- !RACE PREPARE\n - Starttaste gedrückt, das Rennen wird vorbereitet ("Gasregler" deaktiviert)
- !COUNTDOWN\n - Starttaste zweites Mal gedrückt, der Countdown zum Rennstart wurde gestartet
- !RACE START\n - Das Rennen beginnt
- ~[car]:[clock]\n - Jumpstart für Auto [car] zum Zeitpunkt [clock]. Beispiel:~2:F9E\n
- !SHORTCUT\n - Die Bahn ist auf Grund eines Kurzschlusses abgeschaltet worden, erneute Freigabe über die Paniktaste am CLI
- !PANIC\n - Die Firmware wurde in den Panikmodus versetzt, Fahren nicht möglich
- !RESUME\n - Der Panikmodus oder die Notabschaltung bei Kurzschluss wurde beendet
- L:[lane]:[laps]:[car]:[time]:[clock]\n - Auto [car] hat die Ziellinie auf Spur [lane] zum Zeitpunkt [clock] passiert. Totale Rundenzahl [laps] und letzte Rundenzeit [time].
- F:[car]:[value]:[clock]\n - Nur im Livemode pro Auto einmal pro Sekunde, Auto [car] hat den Tankfüllstand [fuel] zum Zeitpunkt [clock]
Folgende Befehle an die Firmware sind derzeit verfügbar:
- P[parameter][value][addr]\n - Die Firmware sendet ein PRG Datenpaket auf die Bahn, kodiert mit dem Parameter [parameter], dem Wert [value] und der Zieladresse [addr].
Achtung: es erfolgt keine Überprüfung auf Plausibilität, es wird OK oder BUSY zurückgegeben. - L[car][value]\n - Stellt ein Geschwindigkeitslimit [value] (0-15) für das Auto [car] ein
- S[car][value]\n - Stellt ein Geschwindigkeitsminimum [value] (0-15) für das Auto [car] ein
- F[onoff]\n - Schaltet die Tanklogik ein oder aus (standard = eingeschaltet)
- F[onoff]:[divisor]\n - Schaltet die Tanklogik ein oder aus und setzt einen neuen FuelDivisor (standard = eingeschaltet, Divisor dezimal 25)
- *[onoff]\n - Schaltet die LiveInfo (das automatische Senden der Tankfüllstände) ein oder aus (standard = ausgeschaltet)
- #\n - Das gleiche als würde der Startknopf gedrückt werden
- +\n - Den Panikmodus ein und ausschalten (TOGGLE)
- I\n - Informationen abrufen -> Firmare sendet Version und für alle Autos: Speedlimit, Minimumgeschwindigkeit, Tankfüllstand, Jumpstartzeit
Parameterwerte:
[car] Slot 0-5
[addr] Adresse 0-7
[value] Hexadezimalwert 0-F
[parameter] Hexadezimalwert 0-F
[onoff] 0=Aus, 1=An
[divisor] Hexadezimalwert 0-FF
[lane] Bezeichnet die Spur beim überfahren eines Sensors:
1=linke Spur (AA), 2=Wechsel auf rechte Spur (AB), 3=rechte Spur (BB), 4=Wechsel auf linke Spur (BA)
[clock] ist die aktuelle SystemClock angegeben als Hexadezimalwert der vergangenen
0.5 Millisekunden seit Rennstart! 1 Sekunde = 2000 = 7D0
[time] ist eine Zeitangabe. Angegeben als Hexadezimalwert der Anzahl von 0.5 Millisekunden.
1 Sekunde = 2000 = 7D0