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.

Go to page 1Go to page 1123Go to page 3Go to page 3
Avatar
DocMoebiuz
Moderator
From: EDSH, Germany
Posts: 1516
Wenn du den Abgleich auslösen willst, dann brauchst du einen zusätzlichen Schalter. Dem weist du dann als Aktion die neue Option zu "Retrigger Buttons"

Wenn du den Schalter drückst dann sollten alle Schalterstellungen erneut an den Simulator geschickt werden. Damit sind dann die Stellungen wieder in Sync.
Have a great day!
Sebastian

MobiFlight - Simply build your own home cockpit for your favorite flight sim - MSFS2020, FSX, Prepar3D (FSUIPC), X-Plane (XPUIPC)
2017-01-25 04:27
Avatar
pe_martin
Posts: 59
Hallo Sebastian!
Guten Morgen! Es hat mir keine Ruhe gelassen.
Mußte es gleich mal ausprobieren!
Und ich muss sagen es klappt auf Anhieb!
Klasse Arbeit.
Also mit Parking-Brakes passt es! Werde es heute nachmittag mal mit Jeehell probieren!
Gruss Peter
2017-01-25 07:00
Avatar
DocMoebiuz
Moderator
From: EDSH, Germany
Posts: 1516
Freut mich dass es auch bei dir klappt. More feedback welcome!
Have a great day!
Sebastian

MobiFlight - Simply build your own home cockpit for your favorite flight sim - MSFS2020, FSX, Prepar3D (FSUIPC), X-Plane (XPUIPC)
2017-01-25 07:42
Avatar
pe_martin
Posts: 59
Hallo Sebastian!
Klappt auch über Jeehell!
Gruss Peter
2017-01-25 09:30
Avatar
DocMoebiuz
Moderator
From: EDSH, Germany
Posts: 1516
Freut mich!
Have a great day!
Sebastian

MobiFlight - Simply build your own home cockpit for your favorite flight sim - MSFS2020, FSX, Prepar3D (FSUIPC), X-Plane (XPUIPC)
2017-01-25 19:08
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
iconDocMoebiuz:

More feedback welcome!


You want it, you get it ! :P

Erstmal vorweg..... VIELEN DANK ! Ein Hammer Tool das du uns hier gebaut hast.
Denke du bist mir also nicht böse wenn mein Feedback nicht nur ein "Juhu" ist sondern das ich das Teil mal etwas zerpflügt habe um es an seine Grenzen zu bringen. Ist ja in unser aller Interesse wenn wir die Schwächen kennen und diese Beachten können, bzw wenn du so das ganze im Zweifel noch verbessern kannst. (Sorry für den langen Text)


1. Wird ein "Read" auf dem Arduino gemacht ?
Wie der Ablauf grundsätzlich arbeitet habe ich schnell sehen können.... Also das jede "Button-Config" auf seinen Zustand hin (In Mobiflight) geprüft wird und jenachdem ob sie hier als ON oder OFF gelistet ist, wird ein "On Push" bzw ein "On Release" an den Sim gesendet.
Konnte aber jetzt auf den ersten Blick nicht erkennen, ob Mobiflight als Basis für die Zustände den aktuellen Stand vom Connector nimmt, oder ob MF bei Betätigung der Funktion zuerst Einmalig vom Arduino die Positionen aller Schalter (Pin Status) einholt, damit den Connector angleicht... und erst danach die Configs abarbeitet.
Zusammengefasst : Synchronisiert die Funktion auch den Conncector mit dem Arduino.... oder nur den Connector mit dem FSX ?

2. Kleiner Schönheitsfehler
Die Synchro Funktion selbst wird ja im Aktuellen Build auf einen Button gelegt. Irronischerweise wird natürlich auch dieser Button gescanned. Habe es nicht getestet aber ich vermute mal schwer das man bei einen Rastenden Schalter das Problem hätte, das Mobiflight beim erreichen dieses Schalters während der Synchro schlicht eine weitere Synchro starten würde, was zu einen Endless Loop führt. Sollte das so stimmen müsste man klar sagen das besagte Funktion auf einen Taster muss der nicht gehalten/gerastet wird !

3. Push/Release Mechanik.... Vorteile/Nachteile
Großer Vorteil hier ist, das wir bei 2 Stufen Kippschaltern keine ON/ON verbauen müssen und mit 2 Pins belegen müssen. Denn Deine Synchro führt ja je nach Zustand entweder Push oder Release aus.... Ist der Schalter an dann sendet er Push.... Ist er Aus dann kommt dafür das Release. Ansich sehr gut umgesetzt, da somit nicht nur die ON Schalter synchronisiert werden sondern auch alle OFF Stellungen
Einziger Nachteil auf den ersten Blick..... Das System bezieht nicht die aktuellen Values der Offsets mit ein. Also ein Schalter sendet seinen Zustand, auch wenn dieser Wert bereits im FSX aktiv ist. (Laut FSUIPC Logging wird jede aktive Belegung gesendet) .... Eine Vergleichslogik würde hier die Zahl der Writes drastisch reduzieren. ABER. Es funktioniert "offenbar" ja auch mit einer hohen Anzahl an Sendebefehlen. Also vergessen wir das mal.


4. Push/Release Mechanik.... Erster Problemfall
- Bei einen On/Off/On Kippschalter ( z.b. VOR/ADF Switch EFIS 737 ) bekommen wir ein Problem. Diesen habe ich z.b. über 2 Configs erstellt ( 2 Pins auf dem Arduino für die 2 ON)
Jeweils onPush wird der Value von Schalter Oben bzw Schalter Unten an den Sim geschickt.... Bei onRelease wird bei beiden Schaltern der Value von Schalter Mitte gesendet.
Mit der "Synchro Funktion" senden nun natürlich Beide Schalter ihren Status. Ist er in der Mitte dann senden beide Schalter onRelease (1) was noch funktioniert. Ist er aber z.b. Oben dann sendet die erste Config onPush (0) und die Zweite onRelease (1) was zu einen Fehler führt.
(Könnte man aber schlicht umgehen wenn man für mehrstufige Kippschalter On-On-On verbaut )

5. EventID Problematik
Auf den ersten Blick habe ich KEINEN Fehler festgestellt.... Allerdings habe ich auch nur mein EFIS gerade zur hand gehabt, um das ganze zu testen (Ledeglich 6 Elemente) die synchronisiert werden müssen. Mir ist auch aufgefallen beim Test das die Kippschalter (Siehe Fehler Punkt 4) ihre doppelten Kommandos bekamen. Also obwohl direkt hintereinander 2 EventID´s geändert wurden hat es geklappt.
Hier würde ich mal jemanden bitten, der ein Größeres Element hat (Mit vielen Kipp- oder Dreh schaltern z.b. Overhead 737 PMDG ) das er mal z.b. die 6 Fuelpumps und die Light switches alle verstellt und dann die Synchro startet..... Hier würde man sehen ob tatsächlich alles geschaltet wird und alle EventId´s ankommen


6. Abhilfe falls doch Probleme bei den Event Id´s kommen.....
Habe jetzt ganz vergessen zu testen ob die "Geschwindigkeit" des Druchlaufs an der Speed des Testmodus hängt (somit wählbar ist) Sollten tatsächlich Probleme entstehen müsste man das Interval etwas verändern.
Alternativ (Falls du da nix ändern willst) wäre es auch seitens des Users eine Möglichkeit, die Relevanten Schalter mit "Abstand" zu verbauen. Konnte mit meinen Testboard jetzt nicht feststellen ob die Synchro in der Reihenfolge der Devices auf dem Arduino arbeitet ( Pin 1-52) ODER ob es im Connector die Configs von oben nach unten abgeht. ( Meine Configs sind im testboard parallel zu den Devices)
Theoretisch müsste man aber nur zwischen zwei Kippschaltern schlicht 2-3 Taster legen.... Da Taster keinen Sendevorgang auslösen hätte man einen "Puffer" So das die relevanten Sendevorgänge mit genug Abstand an den FSX gehen.


7. Abschließend noch ein Vorschlag.
Du hast die Funktion als "Schalter" geplant und nicht als Klickspot im Connector. Weis nicht ob das nur als "BetaTest" ist damit du die GUI nicht ändern musstest oder ob du tatsächlich für fertige HC´s die Möglichkeit bieten willst das ganze im Cockpit per schalter zu starten ohne an den "Admin Desktop" zu gehen.
Falls zweiteres zutrifft würde ich noch über einen Readout Offset nachdenken mit dem man den Zustand der Synchro überwachen kann. Sprich Mobiflight bietet einen "offset" auf dem man eine LED hängen kann...... Ist eine Synchro im Gange wird er TRUE ist sie vorbei wird er FALSE. So könnte man neben den Synchro Button im HC noch die LED bauen und sehen wann die Synchro fertig ist.


Nochmal DANKE ! Nice Work !
Good Luck !
2017-01-25 20:21
Avatar
DocMoebiuz
Moderator
From: EDSH, Germany
Posts: 1516
Hi Pizman

danke für dein feedback!

1. Wird ein "Read" auf dem Arduino gemacht ? Ja, Das Arduino sendet alle seine Schalter-Status an den Connector und der führt die Configs aus.
2. Kleiner Schönheitsfehler - Ich fang das ab. Die Resync Funktion wird nur alle 5 Sekunden ausgeführt, um das Problem zu vermeiden.
3. Push/Release Mechanik.... Vorteile/Nachteile - Ich sehe hier keinen Optimierungsbedarf solange es klappt.
4. Push/Release Mechanik.... Erster Problemfall - Tja, das ist doof. Ich wusste ja, dass so eine Synchro-Funktion im Detail schwierig werden kann. Daher hatte es mir schon immer davor gegraut... wie soll man das pauschal entscheiden können? On-On-On Schalter sind mir nicht bekannt. Eventuell muss man das mit einer Vorbedingung lösen. Dafür müssten wir aber die Pins bei den Vorbedingungen unterstützen und außerdem müsste die Vorbedingung dann nur für die onRelease-Aktion eingestellt werden. Argh, sehr kompliziert! Ich wusste es. :cry:
5. EventID Problematik - Ich hab jetzt verstanden, dass das bei Dir noch nicht passiert ist. Dann ist ja gut.
6. Abhilfe falls doch Probleme bei den Event Id´s kommen - mal abwarten, aber Deine Idee könnte ein richtiger Ansatz sein.
7. Abschließend noch ein Vorschlag - Ich hatte nicht geplant, dass im UI sichtbar - zum Testen gibt es den Debug-Mode. Im Cockpit drückst Du lieber einen Button. Das ganze geht so schnell, dass die LED nicht lange an ist. Aber gut, ich denke darüber nach.

Problematisch aus meiner Sicht ist jetzt wirklich nur 4. :(
Have a great day!
Sebastian

MobiFlight - Simply build your own home cockpit for your favorite flight sim - MSFS2020, FSX, Prepar3D (FSUIPC), X-Plane (XPUIPC)
2017-01-26 03:45
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
Hiho.
Danke für die Antwort.

Zu 2. Gut zu wissen. Würde aber vielleicht bei einen zukünftigen Patch das Intervall leicht erhöhen ( 10-15 Sec) Grund: Besonders Leute mit HighEnd Configs die diese Funktion jetzt entdecken werden diese logischwerweise "Hinten" anfügen.... Wer 100+ Buttons verbaut hat bei dem "schätze" ich mal das die Synchro die 5 Sec überschreitet. ( Bei meinen EFIS waren es etwa 2 Sec mit nur ner Handvoll Buttons )
Aber wie gesagt.... 99% werden vermutlich einen Taster verwenden was das Problem gar nicht erst entstehen lässt. Somit nicht so wichtig!

Zu 4 (Dem einzig echten Problem)
Gibt es (Zwar teuer aber massig auf dem markt....) http://www.mouser.de/Electromechanical/Switches/_/N-5g2h?P=1z0z2o3&Keyword=Toggle+Switches&OrgTerm=kippschalter&FS=True&Ns=Pricing|0
Bitte lass dich aber davon jetzt nicht runter ziehen.... Wenn alles Synchron ist bis auf z.b. 8 Switches dann ist es kein Problem diese paar Schalter zu drücken. bzw diese Manuell auf die Mittelstellung zu bringen, die sie bei der Synchro haben sollten damit diese funktioniert.
Das ändert jetzt nix dran das die Synchro eine Super Sache ist die uns masiv helfen wird !


zu 7 War nur eine Idee. Kann mir grad noch nicht vorstellen ob man im fertigen HC diese Taste Prophylaktisch alle 20 Min drückt oder nur einmal beim Systemstart. Aber hast schon recht.... Wenn man mal im Gefühl hat wie lange die Synchro arbeitet dann kann man sich drauf einstellen. Somit Verworfen !

Danke dir !
Good Luck !
2017-01-26 05:23
Avatar
pe_martin
Posts: 59
Hallo Sebastian, hallo Peter!
Ich als Elektronik-Laie und Mobiflight-Newbie mische mich nur ungern ein, aber was das Thema "On-On-On"-Schalter angeht ist ist das doch relativ einfach.

Wenn ich Sebastian richtig verstanden habe, dann frage Mobiflight alle bei ihm (und nur bei Ihm, also nicht Arkaze o.ä.) hinterlegten "Inputs" ab.
Also ob ein Schalter geschlossen ist oder nicht, richtig?
Also wenn du einen Schalter mit "On-On-On" dann ist jeder dieser Zustände als einzelner Schalter definiert.
Somit ist einer der Schalter geschlossen.
Und was macht Mobiflight jetzt? Dieses tut jetzt so, wenn ein Schalter geschlossen ist, als wenn er gerade "betätigt" bzw. "geschlossen" worden ist und überträgt dann die hinterlegte
Definition bzw. Befehl.
Ich hoffe das stimmt so?

Das einzigste was ich mir vielleicht noch vorstellen kann, was Sinn macht ist, neben der Verzögerung wobei wenn ich Synce dann mach ich ja nix an den Schaltern, vielleicht die Möglichkeit den Sync beim "Start" anzustoßen, also so wie beim "Autostart".
Aber ansonsten echt klasse und eine echtes Highlight.
Gruss Peter
2017-01-26 06:50
Avatar
fusa
From: EDDF
Posts: 57
Supporter
Hallo zusammen,

erstmal Vielen Dank an Sebastian für die super updates der letzten Monate, es hat sich ja einiges seit meiner Abwesenheit getan :-)
Nach einer längeren Pause, hab ich heute Mobiflight auf die aktuellste Version aktualisiert.
Die "Retrigger Switsches" Funktion klappt bei mir bisher ohne Probleme, habe das Overhead Panel und MCP der Boeing 737 (PMDG).
Allerdings hab ich nun folgendes Problem: Die Encoder Drehungen werden doppelt / dreifach ausgeführt, d.h drehe am heading encoder geht der Wert von z.B 300 auf 302 bzw. 303. Im Debug log steht es dann auch doppelt / dreifach drin. Dies geschieht mit jedem Encoder (MCP und Overhead Panel). Die Encoder sind mit Event ID's belegt und als Action (Mouse Wheel up bzw. down).

Ein und Ausschalten vom Debug Mode und Veränderung des FSUIPC Aktualisierungs-Intervall hat keine Änderung bewirkt.

Hat sonst jemand das Problem mit den Encodern?

Nachtrag: Laut Debug Log werden auch Schalter und Taster bei einem betätigen 2-3 fach ausgeführt.

Nachtrag 2: Nach einem Neustart von Mobiflight hat sich das Problem erledigt, funktioniert wieder alles wie gehabt.

Eben hab ich ca. 20 Schalter (Fuel Panel, Window Heat, HYD Pumps usw...) und einige Drehschalter verstellt und die Sync Funktion getestet. Alle Schalter wurden korrekt synchronisiert. :thumbup:
[Last edited by fusa, 2017-01-26 17:54]
2017-01-26 17:25
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
@ Peter

Verstehe jetzt deine Frage/Antwort nicht ganz..... Aber kurz allgemein.

Wenn wir für z.b. Light Switch einen ON-OFF Schalter verwenden, dann "tricksen" wir hier ein wenig. Wir schalten ja nicht einen Stromkreis im Flugzeug, sondern senden nur Befehle an den Sim.... Folgerlich müssen wir sowohl für das Einschalten, als auch für das ausschalten einen Befehl übermitteln.
Unser Schalter hat aber nur einen Pin ( ON) womit wir "eigentlch" nur einen Befehl kontrollieren können. Aber mit der "On Release" Funktion gauckeln wir dem System einen 2. Schalter vor. Also wird der Befehl ansich nicht gesendet wenn der Schalter auf OFF geht, sondern wenn er ON verlässt.

Bei nen 3 Stufen Kippschalter ON-OFF-ON kommt es jetzt zu nen Problem. Die 2 ON sind ja klar.... Wenn der Schalter AN ist dann sendet MF ein Kommando an den SIM für diese Funktion. Aber um das Kommando für die mittlere Schalterstellung zu senden müssen wir wieder diesen "trick" anwenden. Also wenn einer der SchalterPins (Oben bzw unten) zurückgezogen wird, dann schaltet dieses "release" die Funktion der Mittelstellung ( Und eben nicht das eigentliche erreichen der Mittelstellung)
Folge: Sowohl der untere als auch der Obere Schaltbefehl benötigt diesen "Release" Eintrag.
Und da ist das beschriebene Problem.... Wenn beim Synchro jeder Schalter abgefragt wird, dann sendet der Obere und der Untere seinen Zustand. Ist er z.b. Oben dann sendet dieser OnPress (Richtig) aber der untere sendet OnRelease (Was wir hier eigentlich nicht wollen)

Bei On-On-On braucht es keine "Tricks" und Release Configs da jede Stellung einen eigenen Pin und eine Eigene Config hat. Somit auch kein Problem bei der Sync.


*********************

@ Fusa

Gut das du wieder da bist. An dich hab ich die Woche schon gedacht, das du der richtige "Testkandidat" wärst :-)
Deinen Fehler hatte ich übrigens 1:1 genau so bei mir. Mobiflight beenden und Board aus und anstecken hatte ebenfalls das Problem gelöst bei mir !

Schön zu hören das es klappt.
Da du auch das "Logging Debug" Problem hast (wenn ich mich richtig erinnere) denke ich ist das reicht als Test... wenns bei dir geht dann solte es bei allen gehen!

****************

Somit Fazit: Super Funktion. tut was sie soll ! Vielleicht den "Interval" noch im Hinterkopf behalten, oder falls technisch kein Problem diesen vorsorglich an die "Test Funktion Geschwindigkeit" koppeln, so das man im Zweifel als User selbst die Speed kontorllieren kann. Das erspart einen Patch falls doch noch Leute auftauchen bei denen es so nicht klappt.
Good Luck !
2017-01-27 02:56
Avatar
pe_martin
Posts: 59
@pizmann82 alias Peter!
Ich habe das so verstanden!
1. Bei Schalter mit Off-On: Dann hast du ja die "ON"-Position als Schalter, und damit mit einem Befehl der zu übermitteln ist, definiert. Was bedeutet, dass wenn er nicht geschlossen ist, dass dann kein Befehl gesendet wird, was die Problematik nach sich zieht, dass wenn der Schalter beim Flusi geschlossen ist keine Änderung stattfindet, es somit zu unterschiedlichen Zuständen kommen kann. Da aber in fast 100% alles Schalter im Flusi beim Start auf "Off" stehen führt das eher zu einer philosophischen Diskussion.

2. Bei Schalter mit On-Off-On ist es eigentlich wie bei 1. Da du ja jede Position als Schalter und damit Befehl definiert hast wird halt je nach Stellung der "Schließung" ein Befehl übermittelt. Ist ja eigentlich wie beim Dreh- bzw. Stufenschalter. Da ist ja auch immer nur eine Position geschlossen. Ok das habe ich noch nicht im Detail probiert, müßte sich aber aus der Logik ergeben.
Allerdings betrachte ich das ganze immer unter dem Umstand das ich mit einem Airbus arbeite und mit der Software "Jeehell".
Ob diese Systematik beim Start von anderer Software sich ähnlich wie Jeehell verhält kann ich nicht beurteilen.

Ich hoffe mein Verständnis zur Software ist richtig wiedergegeben.

Was ich mir wünsche wäre ein Button wie "Autostart" der den "Abgleich" gleich beim "Start" durchführt.
Gruss Peter
2017-01-27 06:31
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
iconpe_martin:


Ich hoffe mein Verständnis zur Software ist richtig wiedergegeben.



Nope. Leider nicht .

Lies dir einfach nochmal das Posting davor von mir durch.....

Mobiflight sendet nicht nur die Geschlossenen Schalter sondern indirekt auch die offenen.
Bei einen Geschlossenen Schalter wird ON PUSH gesendet.... Bei einen Offenen Schalter wird "ON RELEASE" gesendet. Auf deutsch. Ist er An wird er sozusagen nochmal gedrückt (und gehalten).... Ist er Aus, dann wird so getan wie wenn er theoretisch gerade noch an wäre und er wird nochmal "Ausgeschaltet" das der Release erneut kommt.
Somit Synchronisiert Mobiflight bei ON-OFF Schaltern tatsächlich auch die offenen Schalter.
In deinen Beispiel.... wenn im Sim ein Schalter ON ist und im HC Off dann würde die Synchro den Schalter im Sim ausschalten.
Das fällt dir natürlich nur auf bei Schaltern, die in der Config einen Release Befehl haben. Haben sie keinen wie ein Drehstufenschalter, dann wird natürlich auch nix gesendet.

Denke mit der Info und dem letzten Posting verstehst du wo das Problem mit OnOffOn Schaltern ist und warum OnOnOn diesen nicht haben.

Aber egal. würde sagen wir zerpfügen das ganze nicht mehr. Ohne Synchro waren Hundert Schalter problematisch.... Jetzt sind es maximal noch ne Handvoll Damit kann ich leben !
Good Luck !
2017-01-28 01:52
Avatar
fusa
From: EDDF
Posts: 57
Supporter
Hallo zusammen,

ohne den debug mode kommt es bei mir immer noch zu Fehlübertragungen bei Inputs, zwar sind sie weniger geworden aber leider noch da. Und im debug mode laufen nun die encoder extrem nach, so dass ich in dem Modus nicht mehr fliegen kann:(
@pizman82 wie sieht es bei dir aus? sind die Fehlübertragungen komplett verschwunden?
2017-02-06 09:11
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
iconfusa:


@pizman82 wie sieht es bei dir aus? sind die Fehlübertragungen komplett verschwunden?



Sorry. Pizi war im Urlaub !

Die Fehler sind noch immer vorhanden bei mir 7.2.0 (Die ganz neue hab ich noch nicht getestet) allerdings sind diese im Debug mode eben weiter weg genau wie bei den Vorgängerversionen !
Das mit den Encodern kann ich leider nicht bestätigen oder verneinen da ich immer noch im TestBoard Betrieb arbeite und nur wenige Funktionen gleichzeitig am laufen habe. Einen Encoder hab ich aktuell gar keinen angeschlossen... Sorry


@ Fusa Bitte einen Testlauf bei Gelegenheit !!!!
Erstelle mal bitte eine Kopie deiner Config und lösche bei dieser mal 20% , 50%, 70% der Entrys...... Weiterhin erstelle eine neue nur mit einer Read LED und einen Encoder Input.

Was kannst du beobachten ?? Wird der Encoder Delay besser wenn die Config "kleiner" wird ? bzw ist der Delay auch noch da, wenn du im letzten beispiel nur den einen Input verwendest ??
Würde hiermit gerne abklären ob es ein Grundsätzliches Problem oder womöglich eine "Überlastung" ist ! Delays fallen bei Encodern besonders auf !

Danke dir !
Good Luck !
2017-02-15 08:11
Go to page 1Go to page 1123Go to page 3Go to page 3