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! 

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!

See you on our MobiFlight Community Discord server.

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.

icon
Avatar
cemo90
Posts: 3
Hallo alle Zusammen,

ich bin gerade dabei mein Cockpit aufzubauen und wollte mich so langsam an die Software heranwagen. Als Software benutze ich Project Magenta und MSFS2020

Folgendes Problem an dem ich am Verzweifeln bin. Der Encoder erkennt und ändert den Wert nur eine Drehrichtung und zwar nach Links und das nur Langsam.
Nach rechts, geht Garnichts. Habe schon den Encoder gewechselt, genau das Selbe Problem.

Ich habe einen Encoder angeschlossen an GRD und PIN 10/11 am Arduino Mega Board. Anschließend ein neues Device erstellt und die Pinne zugeordnet. Als Type habe ich alles mal durchprobiert von 1 Detent bis 4 Detent.

Unter Input habe ich dann Encoder und FSUIPC Offset ausgewählt. Das Offset für die FLT Alt Änderung ist 0x56A8, was ich auch dann eingefügt habe.
Als Size habe ich je 1 Byte für jede Richtung eingestellt und folgende Werte für Normal und Fast eingefügt -1/-10 und +1/+10.

Egal was ich ändere es tut sich nichts :confused:

Ich hoffe mir kann hier einen helfen.

Liebe Grüße
Cemo
2022-09-14 01:15
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Hi

Du musst als erstes zwischen einen Hardware oder Software Fehler unterscheiden.

Aktiviere dafür das Logging von Mobiflight (Typ Debug).
Wenn du jetzt deinen Encoder drehst dann siehst du dort ( In dem neuen Fensterteil unter den Configs) ob Signale an den PC kommen.....
Prüfe also erstmal ob elektrisch alles passt mit diesen Test.... Macht der Encoder wirklich nur Links.... Oder wird auch "on right" erkannt ?


Was deine Config angeht... Ich arbeite nicht mit PM, aber grundsätzlich macht das keinen Sinn!
Du willst ja nicht "-1" oder "+1" senden.... Du willst das der derzeitige Wert um 1 erhöht wird oder verringert.
Somit muss es Grundsätzlich "$+1" bzw "$-1" sein.

Auch ist "1" doch quatsch.... eine Altitude erhöht man immer um 100 oder 1000.
Wenn natürlich PM auf dem Offset eine Höhe von 13500 ft als 135 darstellt dann wäre +1 natürlich richtig.
Wie gesagt ich nutze PM nicht. Also kann ich dir das nicht genau sagen.

Zum Ende....
FSUIPC ist eigentlich nicht mehr state of the art. Heute verwenden wir Simconnect im FS2020 ( FSUIPC war nur zwingend nötig im FSX/P3D)
Es wäre also ne Idee diese Events zu erkunden.... Hat bisher aber wohl noch niemand gemacht weil PM eher ein Exot ist.
Good Luck !
2022-09-14 13:38
Avatar
cemo90
Posts: 3
Hi Danke für die Antwort,


Signale kommen an, links sowohl auch rechts.
Alles probiert, keine Chance. Funktioniert immer noch nicht. Mit deiner Empfehlung $+1 oder eben 100 tut sich leider überhaupt nichts.

Ich frage mich ob Project Magenta zwingend eine Registrierte version von FSUIPC haben muss oder ob die normale ebenfalls ausreicht. Simconnect ist ebenfalls installiert.

Ich gebe es auf.
2022-09-14 21:17
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
iconcemo90:


Ich gebe es auf.



Warum denn so schnell ?

Schritt 1 ist getan.... Du bestätigst das der Encoder geht.

Du hast auch bestätigt das beim Links drehen sich die Altitude ändert, wenn auch nur langsam.
Also wissen wir das du eine Verbindung zu FSUIPC hast und auch das der Offset stimmt oder zumindest das er sich etwa an der Stelle befindet.

Der Rest ist jetzt nur noch ne Fleißaufgabe.

Wir müsssen nur rausfinden wie dieser Offset Arbeitet.
Der nächste Step wäre es diesen Offset mal als Output zu lesen.....
Dadurch sehen wir ob er clean ist... Also ob ein Wert von sagen wir 13000 Fuß dort 13000 steht oder 130 ( wie bei anderen Elementen in PM was dann $+1 wieder richtig machen würde)

Außerdem solltest du mal checken ob deine "Liste" stimmt.
Von Magenta gibt es zig versionen und per google finde ich auch 10 verschiedene Offset Listen.
Alle gemein haben das 56A8 in keiner existiert. Also woher hast du die Quelle das es der ist?
Womöglich ist es auch ganz banal und es ist ein 2 Byte Offset , du hast aber nur 1 Byte verwendet.... Oder du hast Float obwohl es ein Int ist.


Zusammengefasst.
Du musst die Illusion aufgeben das Cockpitbauen eine Sache ist die einfach so klappt.
Ich hab schon Tage lang jeweils für Stunden getüftelt um nur einen Schalter bzw eine LED zum laufen zu bringen.
Meistens ist es ein klick und es läuft... Aber manchmal ist es eben ein Hexenwerk.
Also: Niemals aufgeben sondern mehr Zeit investieren :-)
Good Luck !
2022-09-15 11:12
Avatar
cemo90
Posts: 3
Bin seit 2 Tagen an einem Encoder dran, das kann nicht sein :D

Also die Offsets dafür habe ich von der PM Seite. Da wird mir dann gesagt ich solle unter der Sysvar.txt im Installationsverzeichnis die 5600er Offsets nachschauen. In den Sysvar Datei steht dann: 56A8 1 FAKnob. Die 1 steht dann wohl für size.

Auch wenn ich in PMsystems schaue und dann mit dem Maus Zeiger über die FAknob gehe wird mir da ebenfalls das Offset angezeigt.

Ich habe auch sowohl 1Byte als auch 2 Byte getestet, ohne Erfolg. Bei mir steht der Encoder auf Int nicht auf Float.
Hab es jetzt mit verschiedenen Settings ausprobiert. 1Byte 2 Byte mit und ohne $ zeichen. +1 +10 +100 etc. Das einzige was er akzeptiert ist die Verringerung der FLT Höhe um 500er schritte, das wars leider.

Den Output für die Flughöhe habe ich mal ausgelesen. Für zb 33000 Fuß, wird mir 3300 angezeigt.
2022-09-16 02:23
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Hi nochmal!

Bitte nicht falsch verstehen, aber das Problem ist auch etwas, das dir das Grundwissen fehlt.

Wenn in der Liste steht.... "56A8 1 FAKnob" dann brauchst du nicht 2 Byte probieren.... Denn da steht klar 1 Byte. somit kann 2 Byte niemals klappen!
Auch ist es quatsch "mit und ohne $ zeichen. +1 +10 +100 etc. " zu probieren.
Wenn du verstehst wie eine Dateneingabe funktioniert, dann ist klar das "10" oder "+10" niemals geht.... es muss IMMER "$+xx" sein.

Auch deine Antwort "Für zb 33000 Fuß, wird mir 3300" ist nicht Sinnvoll.
Reden wir vom Raw Value ( FSUIPC Value) oder reden wir vom Ausgabe Value ( Output Value) ?
Verwendest du z.b. einen Compare oder einen Transform wie "$*100" dann sagt uns ein Wert von 3300 eben nicht mehr ob es nun 33 oder 3300 oder 330000 ist.


Auch ist die grundlegende Frage.... WAS wird in der Simulierten Anzeige/Schalter gemacht?
Wenn du mit der Maus den Virtuellen Schalter drehst.... WAS passiert dann ?
In der PMDG (Wenn ich ich recht erinnere) kann man die Flight Altitude nur in 500er Schritten einstellen.
Eine Reiseflughöhe ist in der Regel immer eine glatte Zahl.... FL340, FL350, FL360 etc.
Womöglich gibt es auch FL345, FL 355 etc....
Aber du wirs niemal eine Reiseflughöhe von 34700 Fuß haben.
Somit ist es absolut logisch das dieser Input nur 500er Steps zulässt!


Bitte nicht entmutigt sein oder als Kritik verstehen.... Aber ins Blaue schießen bringt dich nicht weiter.
Mit "rumprobieren" meinte ich nicht sinnlos was machen sondern Dinge zu testen die logisch sind!
Hart gesagt.... Wenn du es geschaft hast das dein Encoder die Flight Altitdue Links/Rechts jeweils +/- 500ft stellt dann bist du schon am Ziel. Mehr brauchem wir doch gar nicht !
Good Luck !
2022-09-17 01:42
icon