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
littlerocky
Posts: 2
Hallo!

nach vielen Versuchen und lesen bei euch und woanders bin ich ein wenig am Ende meines Lateins.
Folgendes Problem:

Ich habe mithilfe eines Megas Rev3 und Mobiflight ein FCU gebaut, welches super Funktioniert. Selbst die LED in den Tastern funktionieren. Nur eines will nicht so richtig gehen:
Die Encoder machen Probleme beim schnelleren drehen. Der Wert geht vor oder eben zurück, wie er es eben tun soll. Dreh ich schneller z.B. nach rechts, erhöht sich der Wert und irgendwann "verschluckt" er sich und der Wert setzt sich wieder ein paar Ziffern zurück. Das ist bei allen Encodern so am FCU - SPD, HDG, ALT, V/S. Es wirkt so, als würde er nicht hinterher kommen? Gibt es hier jemanden der etwa das gleiche Problem hat oder hatte und eine Lösung fand? Ich hab keine Ahnung was ich noch machen kann... Ist der Arduino Mega dafür allgemein zu schwach?

Ich habe in den Einstellungen selber nur Left und Right ohne die Fast Option belegt. Eingestellt ist die Jeehell DataPipe. Auch habe ich schon mit den FSUIPC Update-Intervallen gespielt... ob nun 100ms oder 500ms, beim schnellen drehen kommt er manchmal nicht hinterher, so scheint es und er springt ab und zu um etliche Ziffern zurück.

Alle anderen Eingaben gehen super - hm.

Danke für eure Zeit :-)

lg
2020-01-08 21:33
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2915
Supporter
Hi

EDIT (( Mit ner ganz geringen wahrscheinlichkeit könnte der Fehler auch in Mobiflight liegen aber das halte ich für fast unmöglich))

Ich nutze perönlich kein jeehell.... Somit kann ich das nicht testen.

Das Problem hier ist nicht der Mega.... Das Problem ist die "Art" des Inputs.
Encoder Inputs bei Jeehell laufen über eine "Data Pipe". Das ist keine Erfindung von Mobiflight.... Das ist ein System von Jeehell.

Um Offsets zu sparen verwendet Jeehell für alle Encoder Inputs immer den gleichen Offset.... Und zwar einen Zweigeteilten.
Im ersten Teil senden wir einen Wert als Kennung "welche" Funktion wir im Sim verstellen wollen. Und im Zweiten Teil senden wir den Wert der bei besagter Funktion neu gesetzt werden soll.
Jeehell wiederrum muss dann bei einen Input diee Daten lesen..... Anhand der kennung entscheiden wo er hingeht und dort den Write durchführen.
Hinzu kommt das dieser Offset von Natur aus Leer ist.... Also wir können nicht wie gewohnt sagen "nimm aktuellen Wert und erhöhe um 1" denn der Offset hat keinen Wert.
Hier muss Mobiflight den Output Wert lesen ( z.b. den Offset der FCU Speed anzeigt) und diesen in die Berechnung mit einbinden.

Also grob.... Du drehst deinen Encoder um eine Stelle....
Mobi liest den Output --> Berechnet den neunen Wert wie $+1 --> Öffnet die Pipe mit der Funktionskennung ---> Sendet den Wert an FSUIPC ---> Jeehell liest den Wert dort ---> Jeehell liest auch die Kennung ---> Jeehell sendet intern den neuen Wert an die benötigte Stelle ---> Jehell sendet den "neuen" aktuellen zustand an den Output Offset zurück.

Du siehst im gegensatz zu nen standard Input in FSX hat man zig mal so viele Wege und Daten.
Fällt nicht auf bei nen Button aber durchaus bei nen Encoder den man pro Sekunde 10 stellen dreht.

****************
Lösung:
Verwende mal anstatt per schnelle Drehen viele commands zu erstellen testweise die ON FAST Tabs .
Im Normalen sagst du "Wert +1" in den schnellen z.b. "Wert+10"

Wenn das nicht spürbar was bringt probiere mal "Key send" anstatt Offset writes und belege die Funktionen in Jeehell selbst mit Tasten.
Das würde auf jeden fall die Data Pipe Umgehen!
Good Luck !
2020-01-08 23:37
Avatar
littlerocky
Posts: 2
Danke pizman für deine Antwort.

Das mit dem fast und normal, hab ich schon probiert. Das bringt keinen besseren Zustand.
Die Idee mit dem key senden ist eine Klasse Sache, leider kann ich in jeehell keine Tastaturtasten zuweisen, nur joystick Tasten und das hilft mir hier nicht.
Wenn ich den key direkt in fsuipc einfange, muss ich ja trotzdem dort via Offset die datapipe abrufen, und das wäre ja leider wieder das gleiche.

Jeehell erlaubt mir bei dem Controller Config leider keine Tastaturzuweisung :-(

Lg
2020-01-09 21:57
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2915
Supporter
Das ist schlecht.

Wir können zwar über Mobiflight mit einen Encoder einen "Virtuelen" Joystick Button in FSUIPC simmulieren.... Das dürfte eber das gleiche Problem sein das dieser NUR in FSUIPC erkannt wird und nicht von Jeehell.

Weiterhin können wir mit Mobiflight VJOY verwenden und z.b. sagen immer wenn ein Button gedrückt wird dann simmuliere einen Joystick Button..... Dieser würde sogar von Jeehell erkannt werden .... ABER Diese Funktion geht aktuell nur mit Schaltern und Buttons aber NICHT mit Encodern ( Das jabe ich vor 2 Jahren schon bemängelt)

Lösung:

1. Warte mal ob andere Jeehell Nutzer dir hier was genaueres sagen können und ob dort das Problem im Grundsatz auch auftritt.

2. Falls du ein Paar Euros übrig hast kannst du ein Leo Bodnar Board kaufen. Dieses erlaubt JoyButton Inputs über Encoder.

3. Vielleicht geht es direkt über SIOC ..... So das Mobiflight einen Offset schreibt mit den Encoder und SIOC diesen in befehle umwandelt Ohne Datapipe zu nutzen.
DA hab ich aber keine Erfahrung und vermutlich wird auch hier der Delay massiv sein.
Good Luck !
2020-01-09 22:49
icon