|
|
|
Autor |
Nachricht |
![](images/red_right.gif) |
|
Beiträge: 160
Wohnort: Emden
Geburtstag: 30.08.
|
|
So 03.12.06 17:27 Outgauge
|
|
Hi,
habe eine kurze Frage gibt es ein Bsp in C/C++ (kein VB) oder auch in Java wie ich die OutGauge ansprechen kann? Ich meine nicht
http://www.lfsforum.net/showthread.php?t=7321
das hier, sondern wie ich es in C/C++ oder Java ausprogrammieren kann! Dh. ein kleines Beispiel, wie ich zb die Geschwindigkeit auslesen kann. Bin in Sachen Programmierung noch neu.
Bin für jede Hilfe dankbar!
mfg
d.i.b
PS: Oder kennt eine eine OpenSource Outgauge?
|
|
|
|
![](images/pl.gif) |
|
Mo 04.12.06 14:48
|
|
Ein Beispiel kann ich dir jetzt nicht bieten, da ich nur mit InSim arbeite, aber vielleicht ja ein bisschen Hilfestellung:
OutGauge Mode 0 :0-off 1-driving 2-driving+replay
OutGauge Delay 1 :minimum delay between packets (100ths of a sec)
OutGauge IP 0.0.0.0 :IP address to send the UDP packet
OutGauge Port 0 :IP port
OutGauge ID 0 :if not zero, adds an identifier to the packet
Da kannst du ja die ganzen Einstellungen machen, also IP, port für die ankommenden Daten, also wohl 127.0.0.1 und Port z.B. 29999 der sich in LFS verbreitet hat
Dann baust du dir einen UDP Socket auf, mit Winsock C++ intern oder du nimmst eine Library "zur Hilfe" wie ich diese:
http://www.alhem.net/Sockets/ verwende.
Nun musst du dir einen Reader Socket erstellen, der auf den Port und die IP "hört" die du in LFS definiert hast.
Jetzt kommt im eingestellten Intervall dies Paket:
Code: |
unsigned int Time; // time in milliseconds (to check order)
char Car[4]; // Car name
word Flags; // Combination of OG_FLAGS, see below
byte Gear; // Reverse:0, Neutral:1, First:2...
byte SpareB;
float Speed; // M/S
float RPM; // RPM
float Turbo; // BAR
float EngTemp; // C
float Fuel; // 0 to 1
float OilPress; // BAR
float Spare1;
float Spare2;
float Spare3;
float Throttle; // 0 to 1
float Brake; // 0 to 1
float Clutch; // 0 to 1
char Display1[16]; // Usually Fuel
char Display2[16]; // Usually Settings
int ID; // (optional ID - if specified in cfg.txt)
|
Da solltest du die Größe Abfragen um sicherzustellen, dass du das richtige Paket hast, auch die 0 im 8 byte des ankommenden char arrays könntest du zur Sicherheit nutzen
Klar sollte allerdings sein, dass du damit nur die Geschwindigkeit deines Autos bzw das, wo der Focus drauf ist, bekommen kannst.
Dafür musst du eben recht wenig tun um die Pakete zu bekommen und auswerten zu können.
Was ich dir sonst C++ spezifisch noch sagen soll weiß ich nicht, ist halt die Frage ob du die ganzen Sprachenspezifischen Elemente kannst, weißt wie du eine Klasse verwenden kannst, ableitest und solche Dinge, ansonsten wirste es mit den Informationen auf jeden Fall recht schwer haben.
|
|
|
|
![](images/pl.gif) |
Beiträge: 160
Wohnort: Emden
Geburtstag: 30.08.
|
|
Mo 04.12.06 16:58
|
|
Hi,
danke für die Informationen, aber eine Frage habe ich noch! Wo ist der Unterschied zwischen Outgauge und InSim?
mfg
d.i.b
|
|
|
|
![](images/pl.gif) |
|
Mo 04.12.06 17:20
|
|
Nunja, guck dir die Hilfe insim.txt im Docs ordner von LFS an, ohne das wirst du auch kaum arbeiten können.
Outgage ist für Dashboards gedacht, da du Informationen in einem Packet für dein Wagen bekommst, also Tempo, Drehzahl, Gang usw, aber sonst auch nichts.
InSim dagegen ist eine weit mächtigere Schnittstelle, du bekommst zu so gut wie allen Ereignissen (Rundenzeiten, Splitzeiten...) Pakete, genaueres kannst du eben in der besagten Datei nachschauen.
Einen ganz kleinen Teil von Insim zu nutzen wäre aber auch für dich gut, da du damit Outgage ohne vorigen Zugriff auf die Config Datei so aktivieren kannst, wie du möchtest
Achso, mit InSim bekommst du eben auch alle Daten der anderen Fahrzeuge.
|
|
|
|
![](images/pl.gif) |
Beiträge: 160
Wohnort: Emden
Geburtstag: 30.08.
|
|
Mo 04.12.06 21:04
|
|
danke,
ich sehe es mir an!
|
|
|
|
![](images/pl.gif) |
|
|
|