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
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
Habe heute bei einen Testlauf für Christian einige Dinge herrausgefunden, die ich so hier im forum noch nicht gefunden habe.
Leider auch ein "Problem" oder zumindest verstehe ich hier nicht wie Mobiflight da arbeitet....


1: Doppelte Ansteuerung einer LED mit mehreren Configs.
Habe bisher öfter gelesen das Mobiflight es nicht ab kann, wenn mehrere Configs "gleichzeitig" auf eine LED zugreifen. Als Lösung wurde ja stets geschrieben das man hier Preconditions braucht die sich gegenseitig Ausschließen, damit nur EINE Config zur selben zeit arbeitet.
DAS stimmt so NICHT ganz.....
Wenn 2 Configs einer LED unterschiedliche Werte geben (An und Aus zur selben Zeit) dann geht das natürlich nicht und führt zu flackern bzw wohl bei einigen zu einen Error in MF.
Wenn aber beide Configs das Gleiche von der LED wollen dann gibt es keine Probleme.
Als Beispiel....
Config 1 sagt " Wenn Situation X eintritt dann lasse LED leuchten"
Config 2 sagt " Wenn Situation Y eintritt dann lasse LED leuchten"
Tritt nun zufällig mal gleichzeitig X und Y ein, dann leuchtet die LED genau so wie wenn nur ein Fall eintritt (Obwohl beide Configs "1" senden) . Solange keine Config versucht die LED wieder auszuschalten funktioniert das einwandfrei.
(Hört sich exotisch an.... Aber kann man durchaus gelegentlich so brauchen )

************
2. Inaktive Config als Precondition verwenden.
Bekanntlich kann eine Config die aufgrund einer Precondition gerade deaktiviert ist nicht arbeiten. Besagtes problem kennen wir ja das diese eine LED z.b. nicht ausschaltet sobald sie inaktiv wird.
Nun habe ich heute aber einen Fall gehabt indem ich einen Configwert als Precondition für einen anderen brauchte, DIESE Config aber selbst per Precondition stellenweise Inaktiv ist.
Da Sebastian ja sagte "die arbeitet nicht wenn sie Off ist" wollte ich zuerst eine Duplizierte Config machen um dieses dann dauerhaft auszulesen aber mir ist aufgefallen das die inaktive Config immer noch "liest" Sprich sie erkennt ihren FSUIPC Wert bzw macht ihren compare.
Habe das getestet..... "Auch wenn eine Config inaktiv ist kann man sie trotzdem als Precondition verwenden.... Der Value wird immer noch erkannt"
Ebenfalls sehr nützlich in einigen fällen und erspart ein umständliches doppeltes erstellen von Lese Configs

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

3. Problem mit "AND" und "OR" bei den Preconditions.
Für die LED von Christian wollte ich heute eine ziemlich verschachtelte AND/OR Kette bilden um die gewünschte Config zu realisieren. Leider klappte das nicht wirklich.
Habe es am Ende zwar teilweise hinbekommen aber muss zugeben das war ein Zufallstreffer und ich hab keine Ahnung warum es eigentlich funktioniert.

Vorweg....
Wenn man z.b. 4 Bedingungen setzt und bei allen AND verwendet, dann klappt das System. also nur wenn alle 4 zutreffend sind, dann arbeitet die Config
Selbes bei OR.... 4 Bedingungen , alle mit OR.... Die Config arbeitet sobald mindestens Eine der Bedingungen erfüllt ist.

Will ich aber z.b. sagen Arbeite wenn Bedingung 1 Zutrifft UND Von Bedingung 2,3,oder 4 mindestens eine Stimmt.... wie gibt man das ein ??
Noch Komplizierter.... Ich will das die Cofig arbeitet wenn Bedingung 1 UND 2 Stimmen ODER wenn 3 UND 4 richtig sind.....
(also die Config darf NICHT arbeiten wenn nur 1/3 1/4 2/3 2/4 stimmen) Keine Ahnung wie das gehen soll.

Kann an der Stelle auch sagen ich verstehe nicht genau WO der gesetzte Operator tatsächlich im Code Arbeitet .....
Also z.b. das AND bei der 1. Bedingung. Bezieht sich das bereits auf die 2. Bedingung als 1 AND 2. ..... Aber worauf bezieht sich dann der Operator beim letzten Eintrag. ( Mir kommt es so vor als wenn dieser keine Auswirkung hat)

Zusammenfassend hier die Bitte wer sich auskennt.... Erklärt mal wenn möglich wie die AND/OR arbeiten, besonders wenn man sie in Ketten kombinieren will.
Habs 2 Stunden getestet aber konnte keine Logik erkennen.

Danke !
lg Pizi
Good Luck !
2017-01-18 21:20
Avatar
DocMoebiuz
Moderator
From: EDSH, Germany
Posts: 1516
Hallo Pizi :)

Super, dass Du das alles so rausgefunden hast. Zu Deiner letzten Frage:
  • Der letzte Logikoperator hat keine Bedeutung.
  • Die Logik wird sequentiell ausgewertet, sozusagen von oben nach unten


Beispiel:
Mit verschiedenen Preconditions P1-P4.
P1 or P2 and P3 or P4
Wahr => T, Falsch=>F
Fall 1) P1=T, P2=T, P3=F, P4=T -> (T or T) and F or T -> (T and F) or T -> (F or T) -> (T)
Fall 2) P1=T, P2=T, P3=F, P4=F -> (T or T) and F or F -> (T and F) or F -> (F or F) -> (F)
Fall 2) P1=T, P2=F, P3=T, P4=F -> (T or F) and T or F -> (T and T) or F -> (T or F) -> (T)

Man hat also ein paar Möglichkeiten, aber eventuell kann man nicht jede erdenkliche Logik abbilden.
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-20 04:47
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
Wow !

Vermutlich wird ein Programmierer über meine eingehende Frage lachen, und sagen " ist doch logisch" ....
Musste mir jetzt deine Erklärung 15 Minuten ansehen und 2 Zigaretten sowie ne Tasse Kaffee investieren.... Aber jetzt hats klick gemacht !
Damit sollte wirklich "fast" alles möglich sein !

Vielen Dank dafür....
Mit diesen neuen Wissen werde ich in naher Zukunft mal jede mögliche 3er 4er und 5er Kombi testen und mir ne kleine Exel Tabelle schreiben um das besser zu verstehen !



Würde an dieser Stelle dringend empfehlen diese "Logik" bei zeitlicher Gelegenheit in das erweiterte englische Manual zu bauen.
Ein Laie würde vermutlich wie ich versuchen die Vorbedingunen "wörtlich" zu formulieren wie wenn man es jemanden erklärt..... Also "1 und 2 oder 3 und 4"
Um das abzubilden muss man aber teilweise ein OR an ne Stelle setzen wo der Verstand eigentlich ein AND will und man muss wohl gelegentlich auch die Reihenfolgen ändern.
Good Luck !
2017-01-20 13:48
icon