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!
05/03/2024 - This forum is read-only
The community support for MobiFlight has moved exclusively over to our Discord server. Register for free and enjoy more interactive functions like image and video upload, voice chat. More than 7,000 registered users around the world make it a great experience!
A HUGE Thank You to everyone who participated in the forum, especially obviously to Pizman and Stephan who did an outstanding job over so many years providing an incredible service to the MobiFlight community.
The forum is still providing a lot of good content, hence we keep this information accessible.
Bin neu hier im Forum, und es ist generell mein erster Arduino (Mega 2560) bzw. erstes mal, dass ich was mit Mobiflight etwas mache. Mein Problem ist, dass ein Drehgeber (Encoder), welcher die Funktion in X-Plane 11 hat, z.B. die Altitude im Autopiloten einzustellen, nur funktioniert, wenn ich langsam daran drehe. Es liegt auch nicht an meinem PC oder am Encoder, denn ich habe schon den Encoder in der Arduino IDE Software mit einem Encoder Basic Sketch ausprobiert, dort werden mir die Daten perfekt und ohne Werte zu verschlucken angezeigt. Also denke ich, dass der Fehler an Mobiflight liegt. XPUIPC und Modul werden übrigens einwandfrei erkannt.
willkommen bei MobiFlight.
Mit X-Plane kenne ich mich leider nicht aus, kann mich aber erinnern, daß dieses Problem hier im Forum schon mal behandelt wurde.
Warte mal bitte, bis pizman82 sich deiner Sache annimmt. Er ist leider momentan beruflich stark eingespannt.
vielen Dank für deine Antwort. Ich habe diesen Post mit dem selben Problem schonmal komplett durchgelesen, hat mich aber nicht wirklich weitergeholfen.
Bin leider momentan etwas im Beruflichen Stress. Ab Mittwoch wird es besser..... Hoffe ich
Bitte linkt mir mal den Thread den ihr meint..... Dann lese ich mir das durch und versuche zu helfen !
Danke, dass auch du dir die zeit nimmst, trotz beruflichem Stress, mir zu helfen. Hier der Link zum alten Post: https://www.mobiflight.com/forum/topic/798.html
Also vorweg Danke für den Link..... Und Sorry das offenbar ein anderer Topic vor deinen beantwortet wurde...... Ich hab meist nur immer kurz Zeit wenn ich von der Arbeit weg kann und da arbeite ich mich durch die Offenen Topics..... Ich nehme aber gezielt zuerst die, bei denen ich schon mal was geschrieben habe und bearbeite "neue" Themen erst, wenn ich mir wirklich Zeit nehmen kann.... Und JA... Manchmal lese ich auch einen und denk mir "Das machst du am abend" aber da er nicht mehr als Offen angezeigt wird vergess ich ihn !
Zum Thema:
Leider hast du einen Verständnisfehler....
Es liegt auch nicht an meinem PC oder am Encoder, denn ich habe schon den Encoder in der Arduino IDE Software mit einem Encoder Basic Sketch ausprobiert, dort werden mir die Daten perfekt und ohne Werte zu verschlucken angezeigt.
Das kann man so pauschal nicht sagen !
1. Ein Gerät kann durchaus auf dem Arduino funktionieren mit einen Sketch aber in Mobiflight gar nicht gehen..... Denn Mobiflight schreibt ja einen "eigenen" Sketch. Und wenn dieser schlicht z.b. eine Display Sorte nicht unterstützt dann geht es auch nicht. Trotzdem würde das selbe Display perfekt arbeiten wenn du es direkt über das Arduino betreibst.
(Nur als Info.... Beim Encoder sollte DAS aber kein Problem sein... Die Meisten gehen mit MF)
2. Dein PC.... Wenn du einen Ecoder per Arduino IDE einbettest dann hat dein PC gar nix damit zu tun.... Der Encoder ( Und die Ausgabe) laufen komplett auf dem MEGA. Im schlimmsten Fall wird noch ein Datensatz per Serial an den PC gesendet...(Damit du einen Wert am Bildschirm siehst) . Aber das wars schon. Das sowas geht ist klar !
Bie der Flugsimulator Steuerung ist das ganz was anderes....
Wenn du z.b auf dem Mega 45 Dinge verbaut hast dann sendet er je nach Situation eine Zeichenkette.... Also nicht nur einen Bit wie am Arduino!
Diese muss dann Mobiflight erkennen und auswerten. DANN muss Mobiflight einen Wert von FSUIPC anfordern .... Das wiederrum heist das FSUIPC selbst den Wert zuerst aus dem FSX lesen muss bevor es ihn an Mobiflight senden kann. Jetzt kann MF den Wert erhalten und verabeiten.... Den Neuen Wert an FSUIPC zurücksenden...... FSUIPC muss jetzt wieder selbst den erhaltenen Wert verarbeiten und ihn letztenendes an den FSX senden.
Falls du noch ein AddOn wie Jeehell verwendest dann kommen erneut Vorgänge dazu.... Denn hier sendet FSUIPC nicht direkt an den FSX sondern macht einen "Umweg" über Jeehell ( Einfach dargestellt)
Hoffe du siehst.... So einfach wie viele denken ist es nicht !
Ein drehen des Encoders um eine Rastung führt am Ende zu zahlreichen Vorgängen verteilt auf Arduino/Mobiflight/FSUIPC/AddOn/FSX. Bei TASTEN ist das kein Problem da wir in der Regel nur alle paar sekunden eine Taste drücken.... Der Encoder wenn er flüssig gedreht wird steuert aber mehrmals pro sekunde einen Befehl.... Das ergibt dann mehrere Hundert "Arbeitsvorgänge" innnerhalb nur einer Sekunde.... Und da geht die Kiste in die Knie !
*************
Zur Situation.
Ich vermute weiterhin das das ganze ein Teil des Logging Debug Problems ist ( Auch wenn ich das nicht belegen kann und Sebastian Kopfweh kriegt wenn er das liest)
Lösung ist schwer....Problem ist das Sebastian das nicht hat auf seinen PC und somit das niemals testen kann.
Ich kann dir an der Stelle nur anbieten bzw dich bitten ob du dich an der Sache beteiligen willst. Falls du eine registrierte FSUIPC Version hast und somit den Log Modus nutzen kannst könnten wir ein paar Experimente machen..... Falls du Deutsch sprichst wäre das natürlich Perfekt
Wenn du willst kannst du erstmal die Empfehlungen aus dem anderen Topic machen ( FSX Minimiert.... EventID und Offset Input testen ... Logging Mode AN/AUS .... Standardflugzeug .... FSUIPC Intervall verdrehen) . Jede Info die wir bekommen hilft uns das Problem einzugrenzen !
Danke ( Und sorry das ich dir nicht wirklich helfen konnte)
Jetzt habe ichs auch verstanden wieso es in Arduino funktioniert, und in Mobiflight nicht. Naja, weiter zu meinem Problem;
Ich benutze kein FSX, sondern X-Plane, wie in meinem Post beschrieben. Daher sind deine Tipps leider für mich nicht brauchbar, trotzdem danke! Will dir aber trotzdem meine PC-Specs geben, vielleicht hilft dir das:
Also nicht sonderlich schlecht. Auch noch zu der Sache mit "Event-ID" und "Offset Input", könntest du mir vielleicht ein bisschen genauer erklären was das ist? Bin halt noch Anfänger, danke! Ansonsten hoffe ich, dass wir das Problem gelöst bekommen
Xplane ist natürlich hier ein anderes Kaliber..... Muss gestehen da eher weniger Xplane User hier sind ( Weil Mobiflight in erster Linie für FSX/P3D gemacht wurde) hab ich wenig Input ob das Logging Problem auch in Xplane zum tragen kommt.
Das oben genannte Verarbeitungsprinzip ist aber das selbe..... Mobiflight kann nicht mit XPlane direkt kommunizieren.... Es "redet" nur mit XPUIPC.... ( Wie beim FSX FSUIPC).
Folgerlich muss auch hier jeder Lese und Schreibvorgang diesen "Umweg" machen.
Was die EventID angeht.... DAS ist eine Funktion des FSX die indirekt über FSUIPC genutz werden kann.... Über diese kann man festgelegte Events ( Ähnlich wie Macros) aufrufen.
Will man im FSX z.b. das Heading erhöhen ( Encoder nach rechts) dann muss man nicht mehr den aktuellen Heading Offset auslesen und sagen $+blabla ..... Man startet einfach das Event "Heading Increase" ( findet man in einer laaangen Liste aller vorfügbaren Events). Der FSX tut dann direkt das heading ändern....
Einfach gesagt.... Die Events machen das selbe wie wenn man mit der Maus im Cockpit etwas anklickt.... DAS erspart viel Arbeit und macht Dinge möglich die mit Mobiflight nur schwer umsetzbar sind.
ABER: Soviel ich weis gibt es diese Funktion in XPUIPC für XPalne NICHT ! (Braucht dich also nicht interessieren )
By the way.... Hast du schon mal die Originale XPUIPC Version getestet ??
http://www.tosi-online.de/XPUIPC/XPUIPC.html
Womöglich ist in dieser inoffiziellen Version die du nutzt ein Problem das die Inputs verzögert
Zusammengefasst.
Ich will Mobiflight nicht schlecht machen und sicher niemanden zur Konkurenz schicken..... Aber lies dir mal die ganzen XPlane Topics hier durch..... Die User verweisen oft auf eine Mobiflight-Alternative ( Glaub ARDSim oder so ähnlich ) die speziell für XPlane gemacht wurde.... Soll zwar vom System her nicht so praktisch wie Mobiflight sein.... Erlaubt aber die DIREKTE Comunikation mit XP ohne den umweg über XPUIPC. ( Und somit eine 100% Nutzung und nicht nur das was XPUIPC zulässt)
Vielleicht ist auch eine Kombination die Perfekte Lösung.... Mobiflight, das andere Programm und Joystickcontroller ..... Probier es am besten mal aus !
Erstmal danke für die Antwort und fürs erklären. Ich benutze schon die originale Version von XPUIPC, also kanns daran nicht liegen. Zu ArdSim;
Habe ich schonmal leicht getestet, mein problem ist jedoch, dass ich keine Guides oder Tutorials finde. Ebenso bekomme ich im Plugin in X-Plane nur:
"Awaiting connection". Habe auch eigentlich kein Plan wir das Plugin funktioniert. Hättest du Tipps wo ich Guides oder Tutorials etc. finde? Der Configurator funktioniert nicht bei mir auf der Website und verstehen tu ich die "Guides" auf der Seite auch nicht wirklich..
Hallo 22ms,
Bin erst jetzt auf deinen thread gestossen. In deinem ersten post geht hervor, dass du zB. Altidude im XP-11 mit einem Encoder steuern willst. Ich habe unter MF-Connector eine Diskusion angestossen, weil genau das bei mir überhaupt nicht funktioniert.
Was sendest du denn für Signale zum XP. Ich möchte alle Schalter und Encoder via Keycommands zum XP senden, weil das mit FSX sehr gut funktioniert und ich beide Simulatoren verwenden möchte.
Nachdem sich herausgestellt hat, dass Keycommands mit MF 7.3.2 mit XP wirklich nicht gehen, hat Sebastion im MF 7.4 das Problem gelöst.Nun habe ich aber leider feststellen müssen, dass die 5 Autopilot Inputs Cours IAS HDG VS und ALT via Keycommands immer noch nicht verstellt werden können. Alle anderen Funktionen gehen fehlerfrei.
Meine Frage nochmal: was sendest du zum XP, dass sich zwar nur beim langsam drehen etwas tut, aber immerhin einzelne Kommandos erreichen das Ziel?
Vielleicht können wir gemeinsam unsere beiden Probleme lösen.
Ohne es direkt zu wissen dürfte klar sein das er eine Offset manipulation macht.
Wenn die Keykommands nicht gingen.... Er aber damals bereits mit den Encodern was bewirkt hat ( wenn auch nur mit langsamen drehen) bleiben ja nur die Offsets als Möglichkeit.
Aber an der stelle bist du eigentlich die Lösung....
Wenn du Zeit hast mach mal eine Config die per Offset arbeitet..... Dann sehen wir ja ob es auch bei dir nur geht wenn man langsam dreht.
Wie du sagst würde das dann auch dein Problem lösen wenn es bei dir klappt.... Und wir wüssten das bei 22ms ein anderes Problem ist.
EDIT: Und Natürlich darf sich 22ms auch angesprochen fühlen bei sich mal Key Commands zu nehmen..... Womöglich geht es ja bei ihm und wir können bei Challenger eine "andere" Ursache erkennen.
Somit... Testen Jungs ! Das hilft allen anderen auch weiter !
Hi pitzman82,
Habe da mal getestet. Alles ist noch nicht geklärt, aber ein wenig schon. Zudem musste ich feststellen, dass mir die Offsets wirklich keine Freude machen, weil sie niemals in beiden Simulatoren gleich funktionieren, wenn überhaupt. Denn in meinem FSX sind Instrumente integriert, welche nicht mit den standard Offsets gesteuert werden können.
Nun zum XP11: Cours, IAS und VS funktionieren sowohl langsam als auch schnell gedreht, wobei auch mit Offset der erste Klick in die andere Drehrichtung ignoriert wird.
Somit ist bei 22ms tatsächlich ein anderes Problem zu lösen.
Dass bei mir die Werte für AP ALT (x07D4) und AP HDG (x07CC) nichts bewirken, liegt vermutlich am ungeeigneten Wert den ich eintrage. Sowohl mit Int als auch mit Float und einem Wert von $+100 oder ähnlich tut sich nichts im Autopiloten des FSX oder des XP11. Aber da kannst du mir sicher einen Tip geben, was ich eingeben muss.
Mein Ziel vom umschaltbaren Cockpit zwischen FSX und XP11 mit der gleichen MobiFlight Konfig möchte ich aber weiterhin mittels Keycommands verwirklichen.
Die Werte musst du aus dem FSUIPC Listen holen..... Natürlich in er Hoffnung das XPUIPC gleich arbeitet was es aber ziemlich sicher tut.
Float ist quatsch.... Der Wert wird als INT angegeben.
Offset 07D4 Size 4 Autopilot altitude value, as metres*65536
Habs jetzt nicht ausprobiert aber rein logisch heist das .....
Feet = Meter * 3,2808 1 Meter entspricht laut Offset einen Wert von 65536 .... also 1 Fuss wären dann 65536/3,280 =19975,6157
Das ganze noch mal 100 weil wir ja in 100 ft schritten hochfrehen am AP ist dann 1997562
Wie gesagt... Habs nicht ausprobiert und könnt jetzt auch falsch gedacht haben aber das sollte der Wert sein um 100ft +/- zu drehen.
Heading ist laut Liste....
Offset :07CC Size 2 Autopilot heading value, as degrees*65536/360
Also 1 Grad wären 1*65536/360 = 182,04444444 Gerundet also 182 für 1 Grad hoch und runter !
Bitte aber dran denken..... Es müsste eigentlich stets eine IF Funktion sein um beim Heading die 359-000 Grenze zu machen oder damit die Altitude nicht negativ werden kann.
*********
Warten wir mal die Antwort von 22ms ab.... Lachen würde ich wenn bei Ihm im Gegenzug die Tastenkombis gehen würden
Hi pizman82,
Du hast richtig gerechnet, AP ALT und HDG werden im XP mit diesen Werten korrekt erhöht oder verringert. Ein "IF" ist nicht unbedingt erforderlich, die Instrumente managen die Werte selber. HDG springt kleiner 0 wieder auf 359 und ALT springt kleiner 0 auf FL150, was zwar seltsam ist, aber mit einer Bedingung leicht korrigiert werden kann.
Somit kann ich im FSX alle AP Instrumente mit Keycommands steuern, und im XP alle mittels Offsets. Das ist noch nicht mein Wunschziel, aber nun kann ich mit zwei Konfigs beide Simulatoren fliegen und den XP mit der Zeit auch auf das hohe Niveau bringen, welches ich im FSX realisiert habe (zB. ATC mit Spracherkennung, Autoland, reales Wetter und überall viel automatischer Verkehr mit lokalen Flugzeugen).
Da wir hier aber im Hardware Forum sind, sollten wir uns nun wieder dem Encoder Problem von 22ms widmen, das vermutlich noch nicht gelöst ist.
Ein "IF" ist nicht unbedingt erforderlich, die Instrumente managen die Werte selber.
Kann sein.... Kann aber auch nicht sein.... Da wäre ich vorsichtig !
Das kann auch ein etwas komischer Signed Unsigned Effekt sein.....
Beim Heading " kann" es unter umständen sein das du unter 0 drehen kannst und dann noch bis 180° willst du dann aber auf 179 dann "kann" es einen crash geben oder der Encoder geht nicht mehr weiter....
Bei Altitude ist es zwar auch eigentlich nicht richtig so.... Aber da erreicht man den "Knackpunkt" normal nicht.
Falls du bei den Heading meine Vermutung bestätigst dann verwende einfach....
Für LINKS if($>181,$-182,65535) Für RECHTS if($<65353,$+182,0)
Denke dann solte es passen.
Bei der Altitude wäre es Für LINKS if($>1997561,$-1997562,0) Für Rechts brauchst vermutlich keine IF da man eh niemals so hoch geht.
Angaben Ohne Gewähr,
****
Noch zu der Doppelten Config..... Ich weiß ja nicht ob du deinen Sim wechselst wie die "Unterhosen" Aber ich vermute mal schwer das du nicht an nen abend 3 Mal xplane und 3 mal FSX fliegst..... Die Lade und Speicher Funktion ist ja dafür gedacht das man für jedes Flugzeug bzw natürlich Grundsätzlich für jeden Sim seine eigenen Configs hat.
Spätestens falls Sebastian mal auf die Idee kommt wirllich Datafeffs zu unterstützen dann ist eh Feierabend weil jeder In und Output dann anders belegt wird.
Mein Fazit hier.... Ich verstehe dich was du willst.... Aber alle paar tage mal die Config laden ist sicher kein Aufwand..... Da hat es dich jetzt schon 10 mal mehr zeit gekostet bis du in Xplane bzw FSUIPC deine ganzen Key Commands angepasst hast !
Und by the way.... Die Offset Variante geht natürlich auch im FSX..... Somit kannst die Xplane Config auch im FSX nutzen nur nicht umgekehrt im Moment!