Monitor (CLI)
Überblick
Die Monitoring Software
Das Programm "slotCli.py" ist das Herzstück der Bahn. Ein Betrieb ist zwar auch ohne möglich doch fährt man blind, denn Rundenzeiten, die Anzahl der Runden und den Tankinhalt gibt die Software aus. Doch die Software kümmert sich noch um mehr, ein Rennstart kann hiermit ausgelöst werden und die Autos können mit persönlichen Einstellungen versehen werden.
Der initiale Aufruf erfolgt mit dem Befehl "./slotCli.py --live".
Dies öffnet das live monitoring wie oben im Bild dargestellt.
Ein typischer Ablauf würde dann so aussehen:
Mit dem Tasten 1-6 kann man die Namen der Mitspieler eintragen (5-6 für Ghostcarbezeichnungen)
Mit L oder T wird ein Laplimit oder ein Timelimit für das Rennen definiert.
Mit ENTER kann die Startsequenz ausgelöst werden.
Wenn der Name eines Spielers eingetragen wird dann schaut slotCli nach ob für diesen Spieler schon ein Profil vorhanden ist. Wenn dies der Fall ist dann werden die persönlichen Playersettings ins Auto geflashed. Wenn das nicht der Fall ist dann werden die Defaulteinstellungen geflahed.
Was ist der Unterschied?
Ein Spieler ohne Profil bekommt Default Werte. Diese sind relativ langsame Einstellungen für das Auto.
Dies macht es den Beginnern leichter sich an das Auto und an die Bahn zu gewöhnen.
Wenn ein gutes Gefühl für das Auto vorhanden ist können diese Werte durch persönliche Profile erhöht werden.
Defaultwerte:
cat profiles/default
[Settings]
Name=unnamed
Fuel=100
Accel=11
Limit=12
Brake=15
Das Maximum für Accel, Limit, Brake liegt bei 15.
Ein Beispiel für einen Profil mit maximalwerten:
[Settings]
Name= >> HELLRAISER <<
Fuel=100
Accel=15
Limit=15
Brake=15
Kommandozeilenparameter
Es ist auch möglich Autosettings direkt zu flashen. Dazu muss die slotCli.py im LiveModus im Hintergrund laufen. Dazu kan die SlotCli.py direkt aufgerufen werden.
./slotCli.py -h Usage: slotCli.py [options]
Options:
--version show program's version number and exit
-h, --help show this help message and exit
--live Run Live monitor on console
--nofuel Disable Openslot fuel management
--pit Pitlane entry acts as finish line too
--learn Run Learning mode for [slot]
--teach=[filename] Playback teach file
--slot=[1-6] Required for programming a car directly
--fuel=[0-15] Set maximum CAR fuel level
--brake=[0-15] Set CAR brake strength
--accel=[6-15] Set CAR acceleration
--blink=[on|off] Set car lights blinking state
--limit=[0-15] Controlled SPEED LIMIT (15 = no limit)
--drive=[0-15] Controlled SPEED MINIMUM (0 = disabled)
--test
--dev=[/dev/ttyUSB0] Communication port
Ein Beispielaufruf wäre dann:
./sloCli.py --slot=1 --limit=15 --drive=15
Die effektiven Car Settings
Doch wie funktioniert das mit den verschiedenen Settings?
So setzten sich die effektiven Settings der Autos zusammen:
Openslot CU Settings auf der Bahn:
Fuel
Limit
Car Firmeware Settings
Fuel
Accel
Brake
Achtung: Es gibt zweimal "Fuel".
Wenn das Fuel-Management über Openslot gemacht werden soll dann ist wichtig dass die car settings für Fuel immer auf 0 gesetzt werden.
Sonst blinken die nicht richtig wenn die Openslot die kommandos dazu gibt.
Wenn das Fuel-Management nicht ueber Openslot geregelt wurde dann muss das als Start Parameter beim Aufrufs mit angegeben werden.
Die Autos werden dann mit 100% Tank geflashed.
Wenn also die PitLane noch nicht modifiziert wurde muss slotCli.py mit dem Parameter --nofuel gestartet werden. Dies deaktiviert openslot eigene Spritmanagement.
Zusammenspiel Accell + Limit:
--limit = Auto akzeptiert maximal X als Maximalen Speedwert, auch wenn der Controller voll durchgedrückt wird
--accel= wird in der firmware des Autos selbst gespeichert, Beschleunigungswert
Bedienung im live Monitoring (Hotkeys)
1-6 player names
q,w,e,r,t,z speed limit for each player restun start seq space = panic/resume a+s = speed ghost car 1(player5) y+x + speed ghost car 2(player6)
SHIFT 7 also / flashed alle Autos durch, das kann vor Rennstart oder bei Bedarf gemacht werden.
Manchmal verlieren die Autos ihre Settings, ein neu flashen schafft wieder klare Verhältnisse.
Player 1-6 werden durchgeflashed, wenn es User Settings gibt werden diese natürlich berücksichtigt.
c = beenden
L = laplimit T = Timelimit