EC135 V5.10 Joystick Inputs

15 Mär 2022 14:21 #4597 von HellG
EC135 V5.10 Joystick Inputs wurde erstellt von HellG
Hi,
in unserem Cockpit haben wir keinen Joystick angeschlossen, sondern lesen die Positionen direkt aus der Hardware aus überschreiben damit folgende Werte:
                sim/joystick/yoke_pitch_ratio
                sim/joystick/yoke_roll_ratio
                sim/joystick/yoke_heading_ratio
mit den jeweiligen Overrides gesetzt. Das funktioniert auch ganz gut. Nur das Collective bekomme ich nicht unter Kontrolle: Die Maschine hebt sofort unkontrolliert ab, selbst wenn ich mein eigenes Plugin gar nicht laufen lasse. Bisher hatten wir dafür
                sim/cockpit2/engine/actuators/prop_ratio[0]
aber das scheint nicht mehr zu funktionieren. Auch die Software der Controls, die ein eigenes Plugin verwendet, funktioniert mit der neuen Version nicht mehr. In welche DataRef muss ich meine Collective Stellung schreiben, um die Maschine wieder fliegen zu können?

Gruß HellG
 

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

15 Mär 2022 17:35 #4598 von rotorsim
rotorsim antwortete auf EC135 V5.10 Joystick Inputs
Wir überschreiben
sim/flightmodel/engine/POINT_pitch_deg_use[0]

Bedauerlicherweise kann man anders als für die anderen Achsen den Collective nur durch Override beeinflussen. Das ist wohl in X-Plane fest verknüppelt. Die Dataref braucht direkt den Anstellwinkel in Grad. Ich weiß aber nicht, ob das dann mit unserem override kollidiert. 

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

16 Mär 2022 21:37 - 16 Mär 2022 21:48 #4604 von HellG
HellG antwortete auf EC135 V5.10 Joystick Inputs
Ok, das verstehe ich noch nicht so ganz:
Für Heading, Pitch und Roll gibt es Override Schalter (override_joystick_pitch/roll/heading) mit denen eigene Werte nach in joystick_heading/pitch/roll_ratio schreiben kann. Wenn ich den Override nicht setze, wird immer der Wert aus joy_mapped_axis_value[1,2,3] genommen. Wird die Zuordnung der Collective-Achse in der ACF-Datei gemacht, oder wie ist das gelöst? Das Problem ist doch, dass ich das Collective (joy_mapped_axis_value[5]) nicht von außen überschreiben kann, sondern allenfalls einer anderen Joystickachse zuweisen kann. Wenn ihr aber POINT_pitch_deg_use[0] überschreibt, mit welchem Wert überschreibt ihr den denn? Bei der 5.03 wird die Variable auch gesetzt, aber nur wenn sich auch der Wert in der Joystickachse verändert hat, so dass ich, wenn ich keine Achse zurordne diese einfach überschreiben könnte. Hier funktioniert aber auch noch mein Mechanismus mit dem Schreiben von prop_ratio[0] (0...1), wobei sich POINT_pitch_deg_use[0] linear von 0 bis 17.3 verändert.

Ich habe das Thema Joystick Inputs vor ein paar Jahren schon mal ziemlich ausführlich untersucht und damals auch Laminar vorgeschlagen, doch eine Möglichkeit zu schaffen um über das SDK Joystick Inputs ganz vorne in die Verarbeitungskette bei joystick_axis_values einzuschleusen. Dies hätte den Vorteil, dass dann alle Mappingfunktionen zur Verfügung ständen. Leider war das Tyler damals zu aufwendig, um es mal eben so zu implementieren.

Sobald die V5.10 auch unter Linux läuft werde ich mich nochmal eingehender damit beschäftigen.
 

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

16 Mär 2022 21:49 #4606 von HellG
HellG antwortete auf EC135 V5.10 Joystick Inputs
Nachtrag:
ich denke in X-Plane werden die Werte aus joy_mapped_axis_value[] nur dann in die jeweilige DataRef geschrieben, wenn auch joy_mapped_axis_avail[] für die jeweilige Achse auf 1 steht. So ist es zumindest möglich, wenn die entsprechende Joystickachse nicht zugeordnet ist, oder sich nicht verändert, das jeweilige Ziel zu überschreiben. Dafür muss man allerdings wissen, welches die jeweilige Ziel-DataRef ist. Für Heading, Pitch und Roll sind das die Joystickachsen, aber für das Collective ist das leider nicht so klar.

Könnte es außerdem sein, dass ihr die joystick_override_<heading/pitch/roll> auch über das Plugin setzt? Bei meinem ersten Versuch unter Linux sah das im DataRefTool fast so aus.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

21 Mär 2022 17:07 #4623 von HellG
HellG antwortete auf EC135 V5.10 Joystick Inputs

Wir überschreiben
sim/flightmodel/engine/POINT_pitch_deg_use[0]

 

Ok, aber womit? Mit welchem Wert wir diese DataRef beschrieben? Ich habe keinen Joystick, den ich auf Collective mappen könnte (das Menü in X-Plane ist tatsächlich leer) und trotzdem hebt der Heli ab mit POINT_pitch_deg_use[0]=17.29999999
Wenn ihr den Wert aus einer Joystick DataRef nehmt (z.B. joy_mapped_axis_value[5]) hier mein Vorschlag: legt doch eine eigene (r/w) DataRef an, in die der Wert aus joy_mapped_axis_value[x] immer dann geschrieben wird, wenn joy_mapped_axis_avail[x]=1 ist. Und danach macht ihr mit der DataRef was immer ihr wollt und schreibt sie dann nach POINT_pitch_deg_use[0]. So könnte ich von außen die DataRef überschreiben, so lange kein Joystick angeschlossen ist und eigene Daten sendet. Oder ist eure Verarbeitungskette noch komplizierter?

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

24 Mär 2022 13:39 - 24 Mär 2022 13:41 #4625 von HellG
HellG antwortete auf EC135 V5.10 Joystick Inputs
Hi,
ich habe nochmal mit einem Entwickler beim Hersteller unserer Helicopter Controls (Brunner Elektronik AG) gesprochen und erfahren, welche DataRefs die zur Zeit in ihrem Plugin nutzen. In Zukunft wird es allerdings auch die Möglichkeit geben, die Achsen der Controls auf beliebige DataRefs oder Commands mit angepasster Skalierung zu mappen. Dafür müssen allerdings auch entsprechende DataRefs zur Verfügung stehen. Gerade im Hinblick auf Doppelsteuerung (die wie man hört in X-Plane 12 tatsächlich implementiert wird) wären meiner Meinung nach von außen beschreibbare DataRefs die beste Lösung. Und ob dann zusätzlich noch entsprechende Overrides eingeführt werden oder den eingebauten Joystick inputs über joy_mapped_axis_avail Priorität gegeben wird, ist dann eigentlich auch egal. Ich möchte hier nur ungerne den Weg gehen, dass ich erst die Daten mit meinem Plugin auslese, dann in einen externen virtuellen Joysticktreiber schreibe, um sie dann wieder in X-Plane zur Verfügung zu haben. Auch wenn bei meinen Framerates die Latenz einer solchen Lösung gering wäre, ist sie doch immer noch alles andere als ideal.

Gruß HellG 

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Moderatoren: Hilli
Ladezeit der Seite: 0.188 Sekunden

Die Partner von rotorsim

microHelis

Herausragende Steuerelemente für die die EC 135. Pedalse, Collective und ein originalgetreuer Stick, auf Wunsch sogar motorisch gesteuert. Diese Controls sind ein Muss für alle, die EC 135 im Simulator fliegen. 

simparts.de

Die Hardware fürs Homecockpit. Die Instrumente von simparts sind von außergewöhnlicher Qualität. Das komplette Programm für ein EC135-Cockpit ist verfügbar. Und alles quasi Plug & Play mit unserer EC 135 Pro. 

DLR

Das Deutsche Zentrum für Luft- und Raumfahrt ist eine renommierte Forschungseinrichtung. In einem Simulator des Instituts für Flugführung wird unser Flugmodell eingesetzt. DLR-Piloten haben die Entwicklung unterstützt. 

sim-aviation.com

 Das ultimative Flugerlebnis in einem EC 135 Full Flight Simulator. Voll instrumentiert, Motion-Plattform, sensationelle Projektion. In Attikon in der Schweiz kommen Anfänger ebenso auf ihre Kosten wie Flugschüler und Profis. 

Heli Simu France

 Gemeinsam mit der französischen Entwicklergruppe HSF bringen wir die EC 135 für X-Plane in eine neue Dimension. Ein hochdetailliertes 3D Modell von HSF wird kombiniert mit unserer einzigartigen Systemtiefe.  

HR SimYard

 Die österreichischen Entwickler bauen hochklassige Freeware-Addons für FSX und PrePar3D. Dank unserer Partnerschaft profitieren wir gegenseitig voneinander durch den Austausch von 3D-Modellen für die EC 135.