Autor Thema: DeviceLink und OpenCockipts  (Gelesen 1401 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Artist

  • il2bugtracker.com
  • Flieger
  • ****
  • Beiträge: 336
DeviceLink und OpenCockipts
« am: 20.Februar.2011, 17:44 »
Was bisher geschah:
Artist hatte mit YaDeLi ein "Yet another DeviceLink for IL-2" gebaut.

Daraufhin hatte Deichwart vorgeschlagen
Zitat
Könntest du eigentlich auch eine Schnittstelle programmieren um damit Instrumente anzusteuern? Ich denke da an die Sachen von OpenCockpits. Im alten Forum hat ein User das mal gemacht, aber der ist wohl untergetaucht. Ich habe mich auch schon mal dran versucht, bin aber gescheitert.... Er hatte damals "einfach" die Daten vom DeviceLink ausgelesen und dann an die Software von OpenCockpits weitergeleitet.
und Artist geantwortet
Zitat
Klar geht das, aber nur offline. Im Onlinemodus ist das Auslesen der flugzustandsrelevanten Instrumente (Höhe, Geschwindigkeit, etc.) gesperrt...
Die Opencockpits kommen mir ein wenig Spanisch vor (ja, ist ein Kalauer, ja) und meines ist doch stark eingerostet. Wenn Du mir eine Schnittstelle gibst (in reinem C oder C++ und bitte ohne DotNet, MFC oder andere Blähungen) in die ich die von IL-2 ausgelesene Werte schicken kann, kann ich ja mal schauen. Die iocdll.dll sieht ja ganz vielversprechend aus, aber, wie gesagt: Mein Spanisch...
Deichwart meinte dann daraufhin:
Zitat
Tja. öhm... *hust* ... da ist ja das Problem. Ich nix C oder C++ ... eher C-- ;) Für PHP reicht es derzeit, aber das hilft ja nicht weiter. Welche Infos brauchst du denn? Ich würde versuchen mich mal schlau zu machen. Elektronik wäre nicht so das Problem, da kenne ich mich aus und weiß, wo ein Lötkolben heiß wird.

Offline Artist

  • il2bugtracker.com
  • Flieger
  • ****
  • Beiträge: 336
Re: DeviceLink und OpenCockipts
« Antwort #1 am: 20.Februar.2011, 17:51 »
Ich vermute, dass Opencockpits eine dll hat, die Funktionen bietet, die man mit Parametern aufrufen kann: Je nachdem welches Instrument man mit welchen Werte füttern will... Ich vemute ja, dass die iocdll.dll für sowas da ist... Wenn dem so ist, ist es kein Problem, die Werte aus IL-2 abzufragen (nur offline! Nicht multiplayerfähig!) und weiterzureichen...

Da ich keine Hardware von opencockpits habe (und auf absehbare Zeit auch nicht haben werde), kann ich sowas schwer ausprobieren und testen...

Artist

Offline Deichwart

  • Global Moderator
  • Flieger
  • *****
  • Beiträge: 598
Re: DeviceLink und OpenCockipts
« Antwort #2 am: 20.Februar.2011, 18:27 »
Hmm... ok, wir sammeln mal und spenden dir eine OC-Hardware-Set zum testen :D

Ich versuche die Tage mal was herauszufinden.

Offline z0ttel

  • Hallenfeger
  • **
  • Beiträge: 46
Re: DeviceLink und OpenCockipts
« Antwort #3 am: 20.Februar.2011, 18:58 »
Zitat von: "Artist"
Ich vermute, dass Opencockpits eine dll hat, die Funktionen bietet, die man mit Parametern aufrufen kann: Je nachdem welches Instrument man mit welchen Werte füttern will... Ich vemute ja, dass die iocdll.dll für sowas da ist... Wenn dem so ist, ist es kein Problem, die Werte aus IL-2 abzufragen (nur offline! Nicht multiplayerfähig!) und weiterzureichen...

Da ich keine Hardware von opencockpits habe (und auf absehbare Zeit auch nicht haben werde), kann ich sowas schwer ausprobieren und testen...

Artist

Evtl. habe ich die Intention nicht ganz verstanden, aber das geht doch alles schon? Gut, das ganze funktioniert wie gesagt nur offline, aber gerade hier lassen sich die aktuellen Werte doch via UDP->Devicelink aus dem Spiel auslesen. Man bräuchte lediglich eine Anwendung, die das Devicelink-Interface via UDP abhorcht und die Daten dann OpenCockpits-gerecht (was immer das auch sein mag) zur Verfügung zu stellen.

Alternativ baut man sich eine kleine Hardware mit Ethernetinterface auf, welche die UDP-Daten (Digital- und Analogwerte) direkt an die Instrumente gibt.

Offline Deichwart

  • Global Moderator
  • Flieger
  • *****
  • Beiträge: 598
Re: DeviceLink und OpenCockipts
« Antwort #4 am: 20.Februar.2011, 20:29 »
Zitat von: "z0ttel"
Alternativ baut man sich eine kleine Hardware mit Ethernetinterface auf, welche die UDP-Daten (Digital- und Analogwerte) direkt an die Instrumente gibt.


Da sagst du gerade was:
Es gab doch mal ein Prg., das die Daten übers Netzwerk bekommen hat und diese dann auf einem Monitor (Darstellung wie ein Instrumenten-Pult) dargestellt hat.

Allerdings wären "echte" Anzeiger noch ne Spur cooler....

Offline Artist

  • il2bugtracker.com
  • Flieger
  • ****
  • Beiträge: 336
Re: DeviceLink und OpenCockipts
« Antwort #5 am: 20.Februar.2011, 21:16 »
Ja z0ttel,
Zitat von: "z0ttel"
Evtl. habe ich die Intention nicht ganz verstanden [...] die Daten dann OpenCockpits-gerecht (was immer das auch sein mag) [...]
ganau darum geht es: OpenCockpits-gerecht (was immer das auch sein mag). Was ist Opencockpit gerecht? Und wohin übergibt man es? DDE, dll, netzwerk? Nahezu alle Informationen dazu sind auf Spanisch.... Und meines ist nach vielen Jahren nicht mehr gut genug.

Artist

PS: Sage mal Deichwart, hast Du denn Opencockpit Hardware?

Offline Deichwart

  • Global Moderator
  • Flieger
  • *****
  • Beiträge: 598
Re: DeviceLink und OpenCockipts
« Antwort #6 am: 20.Februar.2011, 21:41 »
Ne, leider nicht. Würde ich mir dann aber mal anschaffen - wenn sowas geht.

Ich hab im auf der deutschen HP (opencockpit.de) eine Anleitung gefunden, die etwas Einblick in die Materie bringt:

http://http://hier4.de/sturmovik/Opencockpits-AnleitungV2.1.0.pdf

Demnach arbeiten die wirklich über ein Netzwerk. Die Daten werden von der SIOC-Karte dann für die Anzeiger umgesetzt.

Offline Deichwart

  • Global Moderator
  • Flieger
  • *****
  • Beiträge: 598
Re: DeviceLink und OpenCockipts
« Antwort #7 am: 20.Februar.2011, 21:44 »
auf oc.com gibt es einige Anleitungen auf Englisch zum SIOC:

http://http://www.opencockpits.com/modules.php?name=Downloads&d_op=viewdownload&cid=51

Offline Artist

  • il2bugtracker.com
  • Flieger
  • ****
  • Beiträge: 336
Re: DeviceLink und OpenCockipts
« Antwort #8 am: 21.Februar.2011, 12:26 »
Hallo Deichwart,

mal kurz die Info gescannt, die Du gefunden hast: Ja, es wird immer wieder von Server, IP und Port gesprochen, aber nirgendwo beschrieben, mit welcher Befehlsyntax ein selbstgeschriebenes Proggy SIOC ansprechen kann und (auch nicht zu verachten) wie SIOC das selbstgeschriebene Programm anspricht (z.B. für bei einem betätigten Schalter). Das ganze beschäftigt sich hauptsächlich mit dem Microsoft Flight Simulator, der offenbar eine ganz besondere Art hat Informationen preiszugeben und Kommandos entgegenzunehmen und die Opencockpit-Leute haben dafür eine eigene Scriptsprache entwickelt...

Zwar bin ich mir sicher, dass es irgendwie geht, aber ich möchte da zu diesem Zeitpunkt (Feb 2011) aus zwei Gründen nicht einsteigen:
1. Es ist noch immer nicht klar (und offizell bestätigt) ob und in welcher Weise Cliffs of Dover DeviceLink (o.ä.) unterstützt.
2. Ich habe CoD zwar bestellt (auch um Oleg für IL-2 zu danken) möchte es erst für mich ausprobieren, bevor ich mich in eine diesbezügliche, freizeitverschlingende Entwicklung stürze

Und ohne Opencockpit-Hardware zu besitzen, ist eine vernünftige Entwicklung nicht wirklich möglich.

Also, Deichwart: Ich schlage vor, wir warten mal 1 und 2 ab. Dann sehen wir weiter.

Wenn Du mir allerdings genau ansagen kannst, dass ich für die Übertragung der IAS an SIOC 'nur'  :wink1:  den String "SET IAS 234" per UDP (oder HTTP, oder wasweißich) an port XYZ senden muss, oder ich dazu 'nur' (ebenfalls :wink1:)  die Funktion "setIAS(Value)" in der DLL abcd.dll aufrufen muss (und ob der Wert in kmh, mph oder kph übergeben werden muss) - dann könnte ich sowas evtl. ohne größeren Aufwand meinerseits bauen...

Artist

Offline Deichwart

  • Global Moderator
  • Flieger
  • *****
  • Beiträge: 598
Re: DeviceLink und OpenCockipts
« Antwort #9 am: 21.Februar.2011, 16:47 »
Ok, klingt vernünftig und ist vollkommen verständlich.

Sobald ich wieder etwas Zeit habe, forsche ich weiter und werde das in diesem Thread "notieren".

Offline z0ttel

  • Hallenfeger
  • **
  • Beiträge: 46
Re: DeviceLink und OpenCockipts
« Antwort #10 am: 21.Februar.2011, 20:09 »
Ich vermute fast, dass SIOC mit FSUIPC (http://www.schiratti.com/dowson.html) spricht - soweit ich weiss, ist dass die FS-Mod, um FS-Daten ins Netzwerk zu streamen...

Siehe dazu auch http://homepage.mac.com/alfora/fs/fsuipc/index.html : "FSUIPC erlaubt, externen Programmen mit dem Microsoft Flugsimulator zu kommunizieren und bestimmte Dinge zu kontrollieren."

Offline Artist

  • il2bugtracker.com
  • Flieger
  • ****
  • Beiträge: 336
Re: DeviceLink und OpenCockipts
« Antwort #11 am: 25.Februar.2011, 22:41 »
Sieht (erstmal) nicht gut aus mit Device Link und CoD:
Zitat
Frage: Dear Oleg, could you please tell us something about how gauge output is handled for the simpit owners/builders? [...] If so, is multilayer supported with gauge output?
Damit ist, soweit ich das verstehe, DeviceLink gemeint...

Zitat
Antwort (von Oleg selbst!): It isn'tready yet. Will be in a patch I think.
Quelle: Im 1C forum

Offline Deichwart

  • Global Moderator
  • Flieger
  • *****
  • Beiträge: 598
Re: DeviceLink und OpenCockipts
« Antwort #12 am: 26.Februar.2011, 11:47 »
Ja, deute ich auch so. Nun ist halt die Frage: warten auf CoD oder noch was für IL-2 4.x entwerfen? Momentan fehlt mir die Zeit mich damit intensiv auseinander zu setzen.

So gesehen würde ich erstmal warten. Wobei CoD erstmal eh kein Thema für mich werden wird.

Offline Artist

  • il2bugtracker.com
  • Flieger
  • ****
  • Beiträge: 336
Re: DeviceLink und OpenCockipts
« Antwort #13 am: 27.Februar.2011, 16:29 »
Zitat von: "Deichwart"
Ja, deute ich auch so. Nun ist halt die Frage: warten auf CoD oder noch was für IL-2 4.x entwerfen? Momentan fehlt mir die Zeit mich damit intensiv auseinander zu setzen.
Jupp, mir auch...

Zitat von: "Deichwart"
So gesehen würde ich erstmal warten. Wobei CoD erstmal eh kein Thema für mich werden wird.
D'accord - wobei: Ich habe mir CoD schon bestellt (CE) und hoffe, dass es mehr als 4 Geräte unmittelbar unterstützt - falls nicht, muss ich eben warten, bis es etwas DeviceLink-Ähnliches unterstützt...

Offline Deichwart

  • Global Moderator
  • Flieger
  • *****
  • Beiträge: 598
Re: DeviceLink und OpenCockipts
« Antwort #14 am: 26.Dezember.2011, 19:58 »
Seit einigen Tagen reizt mich das Thema "Instrumente" wieder. Ich hab heute mal etwas rumgegoogelt und was interessantes gefunden. Ist nun nicht die Lösung, aber eine Sache, die so einige meiner Gedanken bestätigte.

http://www.hw-group.com/products/hercules/index_en.html#udp

Dort das Programm runterladen und starten (läuft ohne Installation).
Auf einem zweiten Rechner läuft gerade IL-2, es findet ein Flug statt.
Vor dem Start habe ich in der conf.ini folgendes eingefügt:
[DeviceLink]
port=21100
IP=192.168.1.100
Die IP ist dabei die IP, die der Rechner, auf dem IL-2 läuft, im Netzwerk hat.

Im Programm den Reiter "UDP" auswählen und oben rechts die entsprechenden Daten eingeben. Dann auf "Listen" klicken und schon hat man eine Verbindung zum UDP-Server von IL-2 hergestellt.

Mit den Befehlen, wie in der devicelink.txt aus dem Spieleverzeichnis beschrieben, kann man dann bestimmte Daten abfragen. Als Beispiel habe ich "R /40" unten eingetragen und auf "Send" geklickt. IL-2 antwortete "A/40\717.92" mit der derzeitigen Flughöhe von "717.92 Meter"


Offline Stab/ZG26-Sashke

  • Flieger
  • ****
  • Beiträge: 280
Re: DeviceLink und OpenCockipts
« Antwort #15 am: 26.Dezember.2011, 23:50 »
weis nicht obs hier schon erwähnt wurde:
Für flusis wie z.b. MS Flight sim  bei denen kein wettbewerb besteht, sind solche basteleien völlig normal;
Daher gibts auch im handel bücher, die diese dinge Harware u Software seitig erklären (mit bauanleitungen)

Offline Deichwart

  • Global Moderator
  • Flieger
  • *****
  • Beiträge: 598
Re: DeviceLink und OpenCockipts
« Antwort #16 am: 27.Dezember.2011, 09:14 »
Für flusis wie z.b. MS Flight sim  bei denen kein wettbewerb besteht

Was meinst du mit "bei denen kein Wettbewerb besteht"?

Die fertigen Lösungen für den M$ FS kenne ich, aber ich mag den FS nicht so gerne. Und da liegt es nahe, für IL-2 was zu machen.

Derzeit gehen meine Ansätze in Richtung Mikrocontroller...

Offline Artist

  • il2bugtracker.com
  • Flieger
  • ****
  • Beiträge: 336
Re: DeviceLink und OpenCockipts
« Antwort #17 am: 27.Dezember.2011, 13:00 »
Deichwart,

genau das, was das Tool macht, mache ich bei YaDeLi auch: UDP-Pakete (nach Angabe von DeviceLink.txt) verschicken und die Antworten auslesen. Womit wir wieder bei meinem Beitrag #8 in diesem Thread wären: Ich kann alle Werte auslesen, muss aber wissen, in welcher Form auf welchem Kanal ich sie weitergeben soll. Ich kann sie Dir per UDP oder TCP an irgendeine IP-Adresse schicken, über serielle / parallele / usb Schnittstellen ausgeben, an einen Webserver weitergeben, Dir per E-Mail schicken :), oder meinetwegen auch ausdrucken  ;)... Ich  muss nur wissen in welchen Format und wohin (SIOC ist da entweder sehr, sehr undurchsichtig oder viel zu MSFS spezialisiert).

Wenn Du einen Mikrocontroller gefunden hast und mir dessen Schnittstellenbeschreibung lieferst, kann ich ihn bestimmt füttern.

Artist

PS: Gut: Bei 4.11 soll auch die Sichtsteuerung 6dof über DeviceLink möglich werden
PPS: Schlecht: Bei CloD gibt es nach wie vor kein DeviceLink.

Offline Deichwart

  • Global Moderator
  • Flieger
  • *****
  • Beiträge: 598
Re: DeviceLink und OpenCockipts
« Antwort #18 am: 27.Dezember.2011, 13:19 »
Ich teste gerade etwas mit Atmel AVRs rum. Ich programmiere sie in der Sprache "Bascom", eine Basic-Sprache. Auf meinem Programmierboard steckt gerade ein Atmega8.

Man kann einen uC über den Baustein ENC28J60 ins Netz bringen, aber da steige ich (noch) nicht ganz durch.

Vielleicht wäre der Datenaustausch über die serielle Schnittstelle einfacher... ich google mal etwas. 

Offline Artist

  • il2bugtracker.com
  • Flieger
  • ****
  • Beiträge: 336
Re: DeviceLink und OpenCockipts
« Antwort #19 am: 27.Dezember.2011, 14:41 »
Am simpelsten für die Kommunikation ist natürlich 'Netz': Da kann man auf alle Schichten des OSI-Modells zugreifen, bzw. aufbauen und die eingeführten Protokolle verwenden (UDP, TCP, etc.). Serielle und parallele Schnittstellen sind zum einen etwas komplexer (weil hardwarenah) zu programmieren (habe ich schon mal gemacht) und zweitens (viel entscheidender!) eine aussterbende Gattung (mein neuer Spielerechner z.B. hat sowas schon gar nicht mehr - gerade nochmal nachgeguckt  :D).

Ein Nachteil von 'Netz' ist allerdings, das es nicht wirklich echtzeitfähig ist (wie alle paketorientierten Verbindungsarten). Andererseits ist das in einem kleinen Privatnetz für Flugsimulation nicht wirklich ein Kriterium - insbesondere wenn schon das Abfragen der Telemetriedaten über ein Netz geschieht (DeviceLink).
« Letzte Änderung: 27.Dezember.2011, 14:44 von Artist »