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 012Go to page 2Go to page 2
Avatar
avidflyer
Posts: 138
Hallo,

ich verzweifle gerade an den Vorbedingungen:confused: . Ich möchte folgende Situation umsetzen:

Gear up warning geht an, wenn das Gear up ist und eine Manifold pressure <18432 FSUIPC Wert vorliegen. Dazu habe ich einen PIN mit einer LED belegt, die bei Gear up leuchtet (Vergleich wenn 16383 dann 1 sonst 0) dann habe ich eine weiter Zeile im Output angelegt, die die Manifold pressure ausließt und einen Vergleich gesetzt wenn <18432 dann 1 sonst, ohne zuweisung eines Displays. Danach habe ich in der Gear up Zeile eine Vorbedingung mit UND hinterlegt, aus Config Zeile Manifold und den aktuellen Wert auf 1 gesetzt. Ich habe noch mehr Kombinationen auspobiert aber nie das gewünschte Ergebnis erhalten:

bei Gear up UND <18432 Manifold pressure = LED an :cry:

Kann mir bitte nochmal jemand die Funktionsweise der Vorbedingungen erklären.

Vielen lieben Dank

Christian
2017-01-05 00:23
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
Servus.

Ich vermute du hast die richtigen Offsets.... Kann leider aus deiner Beschreibung grad nicht verstehen was du damit genau anzeigen willst bzw welche Anzeige in welchen Flugzeug du meinst. (sollte ja vielleicht einen echten Offset haben)

Den vermutlichen Hauptfehler in deiner config sehe ich aber sofort.....

Du willst das die LED bei "Gear UP" leuchtet aber sagst "wenn 16383 dann 1 sonst 0"
Gear offset = 0BE8 für die Controlls bzw 0BEC, 0BF0 oder 0BF4 für Nose, Right,Left. Alle haben 4 Bytes INT.
ABER........
Der Value für GEAR UP ist 0 ........ 16383 ist GEAR DOWN !!
Somit muss der Compare " Wenn 0 dann 1 sonst 0" lauten.

Desweiteren würde ich mir den Compare bei "Read Offset Pressure" sparen..... Du brauchst hier nicht " Wenn <18432 dann 1" denn das kannst du auch bei der Vorbedingung nehmen.
Die Vorbedingung bei der Gear LED ist dann.... "Nur Arbeiten, wenn "Pressure Config <18432"
(Das ist aber nur ein Schönheitsfehler und würde auch mit deiner Methode klappen..... Macht man nur nicht falls man den Wert auch woanders noch als Originalwert braucht.... Durch den Compare ist er sozusagen unbrauchbar geworden für andere Anzeigen doer vergleiche. )


So sollte es klappen !
Good Luck !
2017-01-05 01:26
Avatar
avidflyer
Posts: 138
Hallo Pizman82,

irgendwie stelle ich mich zu doff an:blush:

Erst einmal vielen Dank für deine Antwort. Ich baue gerade eine Beech Baron (default P3D) und will jetzt das Ganze mit Mobi verdrahten. Das funktioniert ganz gut aber ich bekomme das mit den Vorbedingungen nicht hin. Ich habe derzeit 3 Fälle, in denen ich Vorbedingungen brauche.

1. Gear Trans light - soll nur leuchten wenn das Gear fährt
- also <16383 und >0

2. Flap Trans light soll nur leuchten, wenn die Klappen fahren
- also zwischen den 3 Stufen

3. Gear up Warning Anunciator - soll nur leuchten, wenn das Fahrwerk oben ist und der Ladedruck beider Triebwerke <18432 FSUIPC wer ist

Für das Gear Trans light habe ich eine Zeile eingefügt für den PIN und die Led, ich habe den Gear OFFSET 0BF0 eingefügt und einen Vergleich gesetzt:
wenn 16383 dann 0 sonst 1. Das funktioniert auch. Danach habe ich eine zweite Zeile eingefügt, ohne Pin mit Offset und habe einen Vergleich gesetzt:
wenn <16383 dann 1 sonst 0. Dann habe ich eine Vorbedingung in die erste Zeile eingefügt: LogikOperator auf UND , dann die Config Zeile 1 ausgewählt, den aktuellen Wert auf 1 gesetzt und auf okay neben dem aktuellen Wert gedrückt. Aber das Licht bleibt an:cry: :cry:
Kannst du mir bitte für Dumme erklären was der aktuelle Wert bedeutet in der Vorbedingung und was passiert, wenn dieser erricht wird?

Ich stehe auf dem Schlauch. Leider kann ich keine Bilder einfügen :confused: (weil ich sie nicht hochladen kann)

Grüße Christian
2017-01-06 11:21
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
Hi Christian....
Gerne eine Erklärung die etwas ins Detail geht.

Grundsätzlich sagt eine Vorbedingung auf gut deutsch.... " Arbeite NUR DANN, wenn Bla bla bla erfüllt ist "
Mit AND und OR sagst du zusätzlich bei mehreren Bedingungen ob UND bzw ODER zutrifft....
Also Z.b. "Arbeite nur wenn sowohl Bedingung A UND (and) Bedingung B erfüllt sind" bzw " Arbeite nur wenn entweder Bedingung A ODER (or) Bedingung B erfüllt ist.
Also bei AND müssen alle stimmen.... bei OR reicht es wenn mindestens eine Bedingung erfüllt ist

Zu deinen Problem....
Deine Config die du beschreibst ist leider falsch! (Erkläre es aber trotzdem das du die Fehler siehst)

Fehler 1:
Du hast in beiden Configs jeweils die gleiche Vorbedingung gemacht. Bei der einen sagst du " wenn 16383 dann 0 sonst 1" bei der anderen " wenn <16383 dann 1 sonst 0" .
Wie du siehst besagt die 2. Config das gleiche wie die erste..... 16383 soll auch hier 0 sein alles andere 1..... (Hoffe du verstehst den Fehler)

Fehler 2: Aufgrund deiner Vorbedingungen kann die LED bei GearUp (Offsetwert 0) jetzt nicht mehr augehen, da ja BEIDE Configs sagen " wenn wert nicht 16383 dann 1" Somit sagst du das auch, das "0" jetzt "1" sein muss (denn 0 ist auch kleiner bzw nicht genau 16383)

Fehler 3: (Jetzt wirds etwas kompliziert) Habe das in folgenden englischen Thread schon mal erklärt.... http://www.mobiflight.de/forum/topic/530.html
Mobiflight schaltet eine LED per Config An bzw Aus.... Wenn du nun eine Config per Vorbedingung deaktivierst (wie du es planst) dann entsteht ein kleines Problem.....
Sagst du z.b. in der Config "LED soll immer leuchten" und deaktivierst du diese Config per Vorbedingung z.b. wenn Config2 den Wert X hat.....
Dann arbeitet zwar deine Config die die LED leuchten lässt jetzt NICHT mehr ..... ABER Keiner hat der LED gesagt das sie ausgehen soll..... (Zum Zeitpunkt als die Config per Vorbedingung deaktiviert wurde war sie ja noch an)
Folgerlich leuchtet sie solange weiter bis ihr diese Config (oder eine andere) direkt sagt "Blöde LED :lol: geh endlich aus"



Somit kommen wir zu den zwei möglichen Lösungen......

1. Arbeiten mit mehreren Configeinträgen die die LED steuern. (Die umständliche Variante)
Wie beschrieben kannst du per Vorbedingungen bestimmen wann welche Config läuft..... Du musst also um das zu schaffen jetzt nur noch sicherstellen, das die LED zu jeder Zeit von einer Config kontrolliert wird...... Also auch wenn sie AUS sein soll muss eine Config aktiv sein die dies der LED sagt.
Hierfür steuerst du die gleiche LED schlicht mit 2 Configs an (Also Beide Configs haben als Device die selbe LED.....
Beispiel:
Config 1 hat keinen Vergleich ---Somit leuchtet die LED nicht wenn 0 (Gear Up) aber sonst immer (Also theoretisch auch bei Gear Down)
Config 2 sagt Wenn Wert = 16383 dann 0 sonst 1 --- Diese Config Lässt die LED bei 16383 (Gear Down) ausgehen aber würde sie sonst immer leuchten lassen .
Jetzt musst du noch die Configs gegenseitig ausschließen damit sie sich nicht in die Quere kommen.
Config 1 arbeitet nur wenn Config 2 = 1 ---- Also immer außer wenn das Gear down ist
Config 2 arbeitet nur wenn Config 1 = 16383 ---- Also nur wenn das Gear down ist.
Zusammengefasst: Config 1 kümmert sich darum das die LED bei GearUp aus ist und das sie Leuchtet wenn es bewegt wird.... Config 2 Übernimmt sobald das Gear down ist und deaktiviert solange die LED.
EDIT: Musste nochmal ändern.... Das hätte nicht geklappt aber jetzt sollte es passen



2. Die Einfachere Methode...... Wertveränderung durch Expressions.
Wie du vielleicht weißt kann man im "Transform" Feld auch Formeln eingeben und den Wert verändern. Dank einer Info von Sebastian weiß ich jetzt das hier auch "ElseIF" möglich sind. Folgerlkich reicht für deine LED jetzt EINE Config.
Die Formel die du brauchst für das Transformfeld ist : if($=0,0,if($=16383,0,1))
Auf deutsch heist das jetzt ... "Wenn Wert=0 dann setzte 0, Oder wenn Wert=16383 dann setzte 0, Ansonsten setze 1"
Somit 0 bei GearUp....1 beim Trans..... und wieder 0 beim Gear Down

Alles auf eine LED gesetzt und es arbeitet wie du es willst !

Viel Spass beim nachbauen ! Und sorry für den vielen Text !
[Last edited by pizman82, 2017-01-06 16:14]
Good Luck !
2017-01-06 16:05
Avatar
DocMoebiuz
Moderator
From: EDSH, Germany
Posts: 1516
Hallo zusammen,

ein Beispiel für Landing Gear Down und in Transition ist in der Datei "example-default-plane-6.1.mcc" im examples Ordner enthalten.
Man braucht keine Vorbedingung und keine Expressions zu verwenden.

Die Config für "in Transition" auf dem Vergleichs-Tab ist

Wenn aktueller Wert = 16383
dann 0
sonst (leer)

Der Sonst Fall liefert alle Werte einfach weiter, also Werte von 0-16382. Alle Werte größer als 0 lassen eine LED aufleuchten. Wird eine 0 an der LED ausgegeben, geht die LED aus.
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-06 17:38
Avatar
avidflyer
Posts: 138
:w00t:
Hallo Doc + Pizmann!

Vielen Dank für die Zeit die ihr für die detailierte Beantwortung meiner Frage aufgwendet habt. Ich probiere es Heute Abend aus und gebe bescheid:w00t:

Leider kann ich keine Bilder hochladen. Ich hatte schon mal gelesen, dass man das Bild irgendwie im Netz haben muss, um es hochzuladen. Leider finde ich den threat nicht mehr.

Grússe und vielen Dank

Christian
2017-01-06 18:46
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
" Und er sah den Wald vor Bäumen nicht "
Ganz in dem Sinne werd ich grad rot und muss gestehen ich hab mich so auf den "Weg" konzentirert, das ich das "Ziel" nicht mehr gesehen habe.

0 Ist aus.... Alles über 1 ist an.... Somit hat Sebastian 100% Recht.... Wenn man schlicht 16383 als 0 Definiert, dann reicht es. :blush: Hab ja selber in meinen Beispiel die Zahl über 1 erhöht weil die LED auch bei Wert 12345 brennen würde.
Denke aber trotzdem das die obigen 2 Wege (Doppelte Config die sich abwechseln, bzw If-ELSEIF-ESE) so ziemlich jede andere Problemsituation für LED´s lösen dürften.

In diesen Sinne..... Sorry für gefühlt 2 Seiten Anleitung obwohl eine Zeile gereicht hätte !

EDIT:
Noch eine Frage an Sebastian.....
Wie weit kann ich diese ElseIf Geschichte eigentlich treiben ??
Nehmen wir mal eine Flaps Trans LED für eine 737 mit vielen Zwischenstufen..... Die PMDG hat ja dafür einen Offset aber nur theroretisch für die Stadard737..... Könnte ich hier für die 4 Zwischenstufen also If($=A,0,if($=B,0,If($=C,0,If($=D,0,$)))) ---- A,B,C,D wären die Offsetwerte wo die Flaps auf den Stufen gefahren sind. Ist zwar quatsch jetzt..... Aber würden theoretisch auch 10 Elseif gehen ??
[Last edited by pizman82, 2017-01-07 03:28]
Good Luck !
2017-01-07 02:00
Avatar
avidflyer
Posts: 138
Hallo Pizman82,

ich habe zu danken, die ausführliche Anweisung hat mir sehr geholfen! Die Gear Trans Geschichte war nat. ganz einfach aber die Klappen will ich mit Elseif machen.
Leider bin ich gestern nicht so weit gekommen. Ich wollte die Encoder am Panel mit einer 2. Mega umsetzen (Kollsmann, Hdg etc) aber die 2. Karte
arbeitete nicht korrekt und wenn diese eingesteckt war hat die erste nicht mehr gearbeitet. Bis ich dahinter gekommen bin war es schon sehr spät. Mit einer anderen Karte die ich noch hatte funktionierte es dann problemlos, obwohl scheinbar nicht mehr alle Encoder funktionieren. Da werde ich wohl das Panel nochmal anfassen müssen:cry: . Aber die Klappen werde ich als nächstes umsetzen.

Also vielen Dank
Grüße Christian
2017-01-07 10:42
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
@ Christian

Check deine GRD´s.
Wenn du mehrere Arduinos verwendest ist das normal kein Problem. Mobiflight kriegt das gebacken !
Wenn du aber versehentlich einen Schalter auf einen Pin von Arduino 1 legst, jedoch den GRD von Arduino 2 verwendest dann ist Feierabend....

Zumindest hört sich deine Problembeschreibung so an.....
Ich verwende auch einen "Main GRD" um nicht alle Kabel zum Arduino zu bringen..... Allerdings habe ich schlicht Farben genommen für die einzellenen Boards....
Arduino 1 ist Gelb.... Alle Kabel von den Pins bzw die rückläufer zu GRD haben ein gelbes Isolierband am Ende.... und der GRD Spot dieses Arduinos ( Eine zusammengeschlossene mehrreihige Lüsterklemme) ist ebenfalls Gelb. Funktioniert ganz gut. Einfach, billig und doch übersichtlich.
Good Luck !
2017-01-07 15:28
Avatar
avidflyer
Posts: 138
Super Tip mit den Farben - werde ich umsetzen.:thumbup:

Aber es kann keine Verwechslung vorliegen, da die zweite räumlich getrennt ist und ich eine Sammelschiene für GND für jede Karte habe.

Einzeln funktioniert die Karte gut, sie hat aber einen Micro USB und die Bezeichnung sieht schon anders aus. Ich habe einfach bei Aliexpress eine neue bestellt ddauert ja nur 6 Wochen:w00t:

Gruß Christian
2017-01-07 15:42
Avatar
avidflyer
Posts: 138
Hallo,

Ich habe jetzt zwei von den 3 Sachen umsetzen können. GearTrans war ganz einfach und FlapTrans habe ich über ifelse umgesetzt. Das war auch ganz einfach. Was ich nicht schaffe ist die Gear up warning!

Diese kommt bei der Baron, wenn beide Triebwerke < 18432 FSUIPC Wert Manifold pressure haben und das Fahrwerk oben ist oder wenn das Fahrwerk oben ist und die Klappen voll ausgefahren sind.

Kann mir jemand hier weiterhelfen?

Vielen Dank

Christian
2017-01-13 11:16
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
iconavidflyer:


Diese kommt bei der Baron, wenn beide Triebwerke < 18432 FSUIPC Wert Manifold pressure haben und das Fahrwerk oben ist oder wenn das Fahrwerk oben ist und die Klappen voll ausgefahren sind.
Christian



Etwas Knifflig....

als erstes die Frage....
Für welches AddOn ist das eigentlich genau ?? Hat dein Addon nicht zufällig einen Offset der diese Warnung ausgibt ?? Das würde die Arbeit wesentlich erleichtern

Zur Situation selbst....
Habe per Google gefunden das die Baron offenbar eine Art mechanischen Schalter im Thorttle hat die diese Warnung erst aktiviert,
Speziell zum Thema "Engine Out" ist das interessant, da ja hier das kaputte triebwerk immer unter besagter Grenze liegt.
Wie ich es verstehe kann man bei Engine Out den Throttle des betreffenden Triebwerks über diesen Punkt lassen so das die Warning nicht angeht .

Bitte definiere noch die folgenden Punkte.... Dann bau ich dir ne Config zusammen....

1. Soll die Warnung nur angehen, wenn BEIDE Triebwerke unter dem Level sind oder auch bei einen Triebwerk ?
2. Soll die Warnung angehen wenn Sowohl die Manifold zu niedrig ist UND die Flaps raus sind oder auch wenn nur EINS Zutrifft.... Also Flaps raus aber Manifold hoch genug.... bzw Flaps noch komplett eingefahren aber Pressure zu niedrig ?
3. Wie wird der Alarm deaktiviert im Simulator... Durch einen aktiven Tastendruck, oder geht das Warning von selbst aus, sobald der Status wieder passt.... Also wenn ich z.b. Schub gebe und die Manifold wieder über dem Limit ist ??

Denke das ist also machbar aber hier reden wir von vielen Configs und Preconditions.....
Auch hier könnte man übrigens über einen Luascript nachdenken aber leider ist mein Skill da noch nicht so gut.... Vielleicht findet sich ja ein "Helfer" der da was am laufen hat.

Gib mir die Infos und ich versuch nach Feierabend mal drüber zu schauen.
Good Luck !
2017-01-13 15:18
Avatar
avidflyer
Posts: 138
Hallo:w00t:

und Wahsinn - vielen Dank! Mein Cockpit ist eine Beech Baron - default P3D. Wenn ich irgendwann alles am Laufen habe schaue ich mal ob ich auf Carenado umsteige aber ich weiß nicht ob sich dass vom Flugmodel überhaupt lohnt.

1. die Warnung soll angehen, wenn BEIDE Triebwerke unter dem Level sind
2. die Warnung angehen, wenn das Fahrwerk oben ist und eine Bedingung erfüllt ist Manifold <18432 oder Flaps = 16383
3. der Alarm wird deaktiviert im Simulator... sobald der Status wieder passt.... Also wenn ich z.b. Schub gebe und die Manifold wieder über dem Limit ist ??

vielen Dank Christian

PS
unter dem Link sind bei Reader Sim Christian from Germany ein paar Bilder von meinem Sim (Stand November). Bin aber schon ein bischen weiter und werde demnächst ein paar Bilder dort posten.
http://www.ontheglideslope.net/category/reader-sims/
2017-01-13 16:43
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
OK.
Bedingungen sind klar.

Leider muss ich aber deine Vorfreude etwas schmälern. Meine erste Idee hat so nicht geklappt. Denke ich muss dafür die Preconditions ein wenig "ausreizen". Das erfordert aber einige neutrale Tests. Bitte schieb das mal nach hinten bzw versuche weiter es selber hinzukriegen..... Das Thema steht für meinen nächsten "freien" Tag auf dem Planungszettle und wird also ein wenig dauern.
Weiterhin die Bitte falls jemand bereits mit Lua arbeitet.... Das Thema wäre mal ne gute Möglichkeit um einen script zu machen und diesen HIER im Forum zu erklären bzw auszuarbeiten damit Anfänger wie ich besser verstehen wie man das am besten macht . Wer Lust hat ist gerne eingeladen hier mitzuwirken !
Good Luck !
2017-01-14 10:10
Avatar
avidflyer
Posts: 138
Vielen Dank!

Ich versuche es weiter! Ich habe gerade im Forum gelesen (von dir:lol: ), dass man Offsets als Joystickeingabe über Mobi definieren kann.
Wie geht das? Welche Scripte verwendest du, um eine Arduino Uno oder Mega in ein Joystick umzuwandeln? Meine Versuche sind nicht sehr fruchtbar gewesen. :blush: Ich würde mich gerne auch mit lua beschäftigen, dazu bräuchte ich aber ein Joystick Interface. Arduinos habe ich rumliegen und wollte nicht extra ein LeoBodnar board kaufen.

Vielen Dank nochmal für deine Mühe:thumbup:

Christian
2017-01-14 11:33
Go to page 1Go to page 012Go to page 2Go to page 2