EC135 V5.10 Joystick Inputs

15 Mar 2022 14:21 #4597 by HellG
EC135 V5.10 Joystick Inputs was created by 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
 

Please Log in or Create an account to join the conversation.

15 Mar 2022 17:35 #4598 by rotorsim
Replied by rotorsim on topic 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. 

Please Log in or Create an account to join the conversation.

16 Mar 2022 21:37 - 16 Mar 2022 21:48 #4604 by HellG
Replied by HellG on topic 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.
 

Please Log in or Create an account to join the conversation.

16 Mar 2022 21:49 #4606 by HellG
Replied by HellG on topic 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.

Please Log in or Create an account to join the conversation.

21 Mar 2022 17:07 #4623 by HellG
Replied by HellG on topic 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?

Please Log in or Create an account to join the conversation.

24 Mar 2022 13:39 - 24 Mar 2022 13:41 #4625 by HellG
Replied by HellG on topic 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 

Please Log in or Create an account to join the conversation.

Moderators: Hilli
Time to create page: 0.234 seconds

rotorsim's partners

microHelis

Outstanding controls for the EC 135. Pedals, Collective and a true-to-the-original stick, even motor-controlled on request. These controls are a must-have for anyone flying the EC 135 in the simulator.

simparts.de

The hardware for the home cockpit. simparts instruments are of exceptional quality. The complete program for an EC135 cockpit is available. And everything is basically plug & play with our EC 135 Pro.

DLR

The German Aerospace Center (DLR) is a renowned research institution. Our flight model is used in a simulator at the Institute for Flight Guidance. DLR pilots supported the development.

sim-aviation.com

The ultimate flight experience in an EC 135 full flight simulator. Fully instrumented, motion platform, sensational projection. In Attikon in Switzerland, beginners as well as flight students and professionals get their money's worth.

Heli Simu France

Together with the French developer group HSF we bring the EC 135 for X-Plane into a new dimension. A highly detailed 3D model of HSF is combined with our unique system depth.

HR SimYard

The Austrian developers build high-quality freeware addons for FSX and PrePar3D. Thanks to our partnership, we mutually benefit from each other by exchanging 3D models for the EC 135.