MobiFlight Community Support

Welcome to the forum for MobiFlight! Feel free to reach out to the community in case you have questions, issues or just want to share great ideas or details about your latest home cockpit project.

You like MobiFlight? Donate via PayPal and support the MobiFlight development. Thanks! 

icon
Avatar
wif
From: Austria
Posts: 9
Hallo,

vielleicht kann mir jemand einen Tipp geben, wie ich beim AP KAP 140 die UP und DN Buttons zu der gleichen Funktion bringe wie mit der Maus im SIM.

Ich habe die EventID 65894 AP_VS_INC für UP und 65895 AP_VS-DEC für DN versucht. Komme aber damit nicht weit.
Ich kann nur kurz einen Wert ändern, dann springt der Wert auf den preselekten Höhenwert um.

Habe dann im FSUIPC log die Werte gefunden, die der Sim verwendet. Es ist für beide Tasten die gleiche EventID 66036 AP_VS_VAR_SET_ENGLISH.

Meine Frage jetzt, welchen Parameter soll ich hier verwenden. Ich kann mit der ALT Taste zwar zw. VS und ALT wählen. kann aber keine Steigrate/Sinkrate im VS Modus eingeben.
Alle anderen Tasten funktionieren gleich wie mit der Maus.

Vielleicht hat hier jemand eine Lösung.

Vielen Dank im voraus
Franz
2020-02-24 22:42
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 3522
Supporter
Hi

Das wird auf dem Weg kompliziert bzw. unmöglich.

Was du verwendest ist ein SET Event.... Sprich der Parameter ist der Wert den du schreiben willst. Im genesatz dazu funktionieren Toggle und Increase/Decrease Events OHNE echten parameter da sie ja einfach ihre Aufgabe einmal ausführen..... ein SET Event aber einen spezifichen Wert sendet.

Was kein Problem wäre, ist einen gezielten Wert zu senden..... Verwende als Parameter z.b. 1000 dann pasiert was..... Immer wenn du die Taste drückst sendet er jetzt 1000 und setzt den Wert immer gleich..... ABER Das willst du ja nicht.

Was du brauchst wäre eine Funktion die sagt " Lies aktuellen Wert .... Addidere z.b. 10 ..... und schreib das Ergebnis als Parameter in das Event.
ABER Das geht nicht..... Sowas ähnliches hat Sebastian als Datapipe für Jeehell gemacht..... Aber da das sonst bisher niemand brauchte ist das nicht frei programmierbar.

LÖSUNG:

Aktuell bleibt dir nur ein anderes Event zu finden bzw einen Lua Script zu schreiben der genau macht was ich oben meinte (Wie die Datapipe)
Alternative wäre das arbeiten mit Key und Joystick Buttons ! ( Beste Lösung falls das A2A erlaubt)

Für die Zukunft könnte man überlegen das "Placeholder Tool" auch auf die Inputs anzuwenden..... Und auch das man im EventID Parameter Feld eine Formel eingeben kann.
In diesen Falle würde man eine Output Config erstellen die den aktuellen Wert der Funktion liest.... Gibt dieser z.b. die Variable "A" und im Parameterfeld hätte man dann die Funktion a+100 ..... Also er liest "a" addiert 100 und nutzt dies als Parameter bei nen Tastendruck.
Good Luck !
2020-02-26 02:56
Avatar
wif
From: Austria
Posts: 9
Hallo Pizman82,

vielen Dank für deine Antwort. Ich habe in der Zwischenzeit das Forum drauf und runter durchstöbert, gegoogelt etc.. Wie sich leider herausstellt, ist der A2A Flieger nicht so einfach bzw. man kommt ohne lua nicht zum gewünschten Erfolg. So habe ich meine ersten Versuche mit den scripts unternommen. Try and Error ist hier angesagt bis man den Dreh heraus hat.
So habe ich meine beiden Tasten auf die Offsets 3340 und 3344 gelegt und anschließend in FSIUPC unter Buttons and Switches die Joy 64 und 65 jeweils den Lua-script zugewiesen. Die LVars lt. Liste für UP button (L:kap140_up_button,bool), also set (L:kap140_up,bool) to 1, don't change to 0 on botton release.

-- test KAP 140 UP button

FunctionUP = ipc.readUB(0x3340, 1)
if (value == 1) then
ipc.writeLvar("L:kap140_up_button", 1)
ipc.writeLvar("L:kap140_up", 1)
else
ipc.writeLvar("L:kap140_up_button", 0)
ipc.writeLvar("L:kap140_up",0)
end


-- test KAP 140 DN button

FunctionDN = ipc.readUB(0x3344, 1)
if (value == 1) then
ipc.writeLvar("L:kap140_dn_button", 1)
ipc.writeLvar("L:kap140_dn", 1)
else
ipc.writeLvar("L:kap140_dn_button", 0)
ipc.writeLvar("L:kap140_dn", 0)
end

Leider tut sich da noch nichts. Mein Ansatz wäre dieser: Mit ipc.writeLvar bringe ich die Schalter an die Offsets und das Ergebis wird dann mit ipc.read am Bildschirm sichtbar. Ganz habe ich es noch nicht verstanden. Benötige ich noch mehr Script, damit der Offset ausgelesen wird und ich das Ergebnis am Bildschirm sehe.

Danke für deine Antwort im Voraus
LG Franz
2020-02-26 17:15
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 3522
Supporter
Hiho nochmal.

Hier kann ich leider nicht helfen. LUA ist für mich immer noch ein Buch mit 7 Siegeln.
Ich behaupte mittlerweile gar nicht mehr das ich es noch vor habe zu lernen..... In der Hoffnung das LUA mit FS2020 nicht mehr gebraucht wird.

Vielleicht hast du Glück und ein anderer Uer hier weis das.... bzw Sebastian stolpert über diese Posting. Falls nicht schreib deine Frage mal im FSUIPC Forum.... Wenn Pete einen guten Tag hat hilft er bei sowas auch oder ein anderer erfahrener User antwortet dir.
Good Luck !
2020-02-27 03:02
Avatar
wif
From: Austria
Posts: 9
Hallo Pizman82,

danke auch nochmal für deine Antwort. Frage nebenbei, wenn ich auf deine Uhr schaue, wann gehst du ins Bett?

Es funktioniert! Im A2A Folder gibt es den Ordner Tools und dort den C172 Input Configurator. Mit dem kann ich die Shortcuts definieren. Wollte es gleich mit MF und Keys anwenden, denkste, es geht nur über den Umweg FSUIPC offset zuweisen, dann in FSUIPC über Button and Switches. Wie heißt es so schön - Viele Wege führen nach Rom. Ich habe hiermit einen gehbaren gefunden.

Ich danke dir nochmals für deinen Support.
LG Franz
2020-02-27 09:10
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 3522
Supporter
Schön wenn es geklappt hat.

Falls Key Commands nicht direkt ankommen gehe bitte sicher das du Mobiflight als Admin ausführst, und das das Programm das die Tasten erkennen soll als aktives Fenster ausgeführt wird. ( Das könnte in dem Fall das Problem gewesen sein wenn A2A hier irgend einen eigenen Hintergrundprozess hat)..... Aber Egal.... Wenns läuft dann passt es ja.


Zu den Zeiten..... Ich hab ein Lokal. Folgerlich bin ich ein Nachtmensch. Gehe selten vor 5 Uhr ins Bett.
Good Luck !
2020-02-27 12:40
Avatar
wif
From: Austria
Posts: 9
Hallo Pizman82,

habs nochmals so getestet, als Admin und Programm aktiv, mit Tastatur okay, über MF und Type Key - nichts.
Nur über den Umweg Offset 3340 Joystick und dann in FSUIPC Button SW den Shortcut zugeteilt.

Danke
Lg Franz
2020-02-27 13:05
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 3522
Supporter
OK. Dann vermutlich ein Problem in den A2A Tool.

Falls du noch nach einer anderen Lösung weiter suchst.....

Alternative 1:

Einen Key Controller verwenden.... Also dumm gesagt ein zerlegtes Keyboard oder ein HID Device das als Keyboard erkannt wird. In dem Fall ist dann ein Tastentruck tatsächlich das gleiche wie ein betätigen einer realen Keyboard Taste. Das wird aber schwer wenns um Encoder geht :-)

Alternative 2

Check mal ob dein Tool der A2A eine direkte zuweisung von Joytickbuttons anstatt Keys erlaubt.
Falls JA dann wäre die Lösung "V-Joy und Mobiflight"
Hier verwendet du nicht die Virtuellen Joysticks über 3340 sondern "VJoy Devices" die auch außerhalb von FSUIPC erkannt werden wie ein echter angechlossener Joystick.

Aber auch hier gilt: Geht NICHT für Encoder..... Nur für Tasten/Schalter.
Good Luck !
2020-02-27 22:44
Avatar
wif
From: Austria
Posts: 9
Nein, unterstützt nur die Keys, es gibt keine andere Möglichkeit zur Auswahl. Macht aber nichts, ich habe jetzt alles durchgetestet, das Breadboard mit den Tastern und Encoders funktioniert, Anzeige kann ich noch nicht realisieren, soweit bin ich noch nicht. Schaue auf den Monitor, das reicht fürs erste als Verfahrenstrainer. Jetzt wird gezeichnet und die Hardware dazu gebastet. Step by step. Freue mich schon.

Danke nochmals
LG Franz
2020-02-28 20:38
icon