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
Alfrodo
Posts: 6
Hi guys,

in the meantime I have configured most of the AP items of my 737 in Xplane 11 with 4 7 Segment LEDS and different rotary encoders - the only remaining problem:

when I turn the encoder with the altitude setting, the value changes correct (left and right) while the turn movement - when I stopp turning the value jumps back to its formerly value.

Parameters are:

Offset 0x07D4, Int, 4 Bytes, MAsk 0xFFFFFFFF

Increment $ +- 1997537

The same encoder works for Course, Heading, VS ...

Any ideas?

Best regards

Thomas
2018-05-11 20:30
Avatar
Alfrodo
Posts: 6
in addition to my post here the log file output, where you ca see that the last command after turning sets again the value of the initial state

12.05.2018 09:00:42(736): Command: SetModule <1,0,2,36100,31;>
12.05.2018 09:00:42(543): Command: SetModule <1,0,2,37100,31;>
12.05.2018 09:00:42(386): Executing OnRight: Encoder China@SN-803-409
12.05.2018 09:00:42(372): Config found for button: Encoder China@SN-803-409
12.05.2018 09:00:42(336): Command: SetModule <1,0,2,37000,31;>
12.05.2018 09:00:42(269): Executing OnRight: Encoder China@SN-803-409
12.05.2018 09:00:42(260): Config found for button: Encoder China@SN-803-409
12.05.2018 09:00:42(175): Executing OnRight: Encoder China@SN-803-409
12.05.2018 09:00:42(140): Config found for button: Encoder China@SN-803-409
12.05.2018 09:00:42(127): Command: SetModule <1,0,2,36800,31;>
12.05.2018 09:00:42(6): Executing OnRight: Encoder China@SN-803-409
12.05.2018 09:00:41(996): Config found for button: Encoder China@SN-803-409
12.05.2018 09:00:41(944): Command: SetModule <1,0,2,36700,31;>
12.05.2018 09:00:41(931): Executing OnRight: Encoder China@SN-803-409
12.05.2018 09:00:41(922): Config found for button: Encoder China@SN-803-409
12.05.2018 09:00:41(838): Executing OnRight: Encoder China@SN-803-409
12.05.2018 09:00:41(828): Config found for button: Encoder China@SN-803-409
12.05.2018 09:00:41(728): Command: SetModule <1,0,2,36500,31;>
12.05.2018 09:00:41(657): Executing OnRight: Encoder China@SN-803-409
12.05.2018 09:00:41(647): Config found for button: Encoder China@SN-803-409
12.05.2018 09:00:41(516): Command: SetModule <1,0,2,36400,31;>
12.05.2018 09:00:41(504): Executing OnRight: Encoder China@SN-803-409
12.05.2018 09:00:41(495): Config found for button: Encoder China@SN-803-409
12.05.2018 09:00:41(363): Executing OnRight: Encoder China@SN-803-409
12.05.2018 09:00:41(353): Config found for button: Encoder China@SN-803-409
12.05.2018 09:00:41(314): Command: SetModule <1,0,2,36200,31;>
12.05.2018 09:00:41(193): Executing OnRight: Encoder China@SN-803-409
12.05.2018 09:00:41(184): Config found for button: Encoder China@SN-803-409
12.05.2018 09:00:41(111): Command: SetModule <1,0,2,36100,31;>
2018-05-12 09:04
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2732
Supporter
Hi.

Willkommen !

Als erstes... Bitte nicht 3 Topics aufmachen für (ansich) das gleiche Problem....
Wenn dir jemand helfen kann/will dann tut er das beim 1. Request.... Wenn nicht dann hiilft dir auch keiner wenn du 3 mal fragst :)
PS. Ich bin aktuell wenig da wegen Arbeit.... Deshalb ist die Reply Time aktuell etwas lange.... Sorry dafür !


Zum Thema.

Mobiflight ist im Grundsatz für FSUIPC gemacht ( also für den FSX und P3D) ..... Xplane geht auch.... Aber hier ist der Knackpunkt XPUIPC.
Sprich wenn Xpuipc etwas nicht kann ( bzw anders als FSUIPC arbeitet) dann geht es nicht.... Denn Mobiflight "denkt" ja es würde mit FSUIPC reden.

Lösung:
Als erstes lass mal das AddOn weg !
Starte einen Xplane Standardflieger und probiere deine Schalter/ Encoder die aktuell nicht gehen.
"Meistens" ist das bereits das Problem.... Sprich das dein AddOn direkt auf Xplane zugreift.... Schaltest du nun etwas AN ( In Xplane via Mobiflight ) aber nicht direkt im AddOn dann sagt das AddOn sofort danach " HEy bei mir ist es intern aber immer noch Aus" und korrigiert deine Eingabe wieder.

Oder im Fall des Encoders.... Wenn das AddOn einen eigenen Wert für die Altitude hat dann nützt es nichts wenn du per XPUIPC den Xplane wert verstellst da das AddOn nen anderen verwendet ( oder gar den von dir veränderten wieder mit seinen eignen unveränderten überschreibt)

*****
Bitte also mit Standard Aircraft testen und bescheid geben ob das Problem dort auch ist..... Falls JA bitte mal verschiedene XPUIPC Versionen testen !
Good Luck !
2018-05-13 03:45
Avatar
Alfrodo
Posts: 6
Hallo Sebastian,

danke für die Antwort - der doppelte Post war nicht von mir initiiert, der Webserver hat innerhalb einer Sekunde zweimal denselben Post im Board angelegt.

Bei den Fragen bin ich schon etwas weitergekommen, die zwei Posts haben auch unterschiedliche Hintergründe.

Bzgl. dem Switch bei der Parkbremse muss man bei Xplane nicht 0 und 1 setzen bei Press und Release, sondern 0 und 32767, dann funktioniert es. Mir ist auch aufgefallen, dass du in dem LED PIN Tutorial noch die alte Maske mit Multiplizier drin hast. Die neue Version hat ja dort das Transform Label. Hier musste ich $*1 eintragen - ist vielleicht für Newbies nicht gleich ersichtlicht.

Bei dem Problem in diesem Thread habe ich nun ein anderes Phänomen beim Encoder für die Altitud, wenn ich Standard Xplane 737 oder 747 verwende.

Rechts herum geht alles prima (normal und fast), links herum wird der Wert gleich auf 0 zurückgestellt.

Meine Einträge sind.

rechts: $+1997537
rechts fast: if($>0,$+19975370,0)
links: $-1997537
links fast: if($>0,$-19975370,0)

Hier der Auszug aus dem Debug-Log:

13.05.2018 11:50:50(185): Executing OnLeft: Encoder China@SN-803-409
13.05.2018 11:50:50(154): Config found for button: Encoder China@SN-803-409
13.05.2018 11:50:49(770): Executing OnLeft: Encoder China@SN-803-409
13.05.2018 11:50:49(739): Config found for button: Encoder China@SN-803-409
13.05.2018 11:50:49(244): Executing OnLeft: Encoder China@SN-803-409
13.05.2018 11:50:49(210): Config found for button: Encoder China@SN-803-409
13.05.2018 11:50:48(770): Command: SetModule <1,0,2,00000,31;>
13.05.2018 11:50:48(687): Executing OnLeft: Encoder China@SN-803-409

13.05.2018 11:50:48(653): Config found for button: Encoder China@SN-803-409
13.05.2018 11:50:46(601): Executing OnRightFast: Encoder China@SN-803-409
13.05.2018 11:50:46(571): Config found for button: Encoder China@SN-803-409
13.05.2018 11:50:46(539): Command: SetModule <1,0,2,05900,31;>
13.05.2018 11:50:46(399): Executing OnRightFast: Encoder China@SN-803-409
13.05.2018 11:50:46(372): Config found for button: Encoder China@SN-803-409
13.05.2018 11:50:46(339): Command: SetModule <1,0,2,04900,31;>
13.05.2018 11:50:46(237): Executing OnRightFast: Encoder China@SN-803-409
13.05.2018 11:50:46(204): Config found for button: Encoder China@SN-803-409

Bei links kommt immer gleich 0, egal ob langsam oder schnell.

Alle anderen AP Funktionen funktionieren sowohl von der Anzeige als auch via Encoder.

Gruß

Thomas
2018-05-13 12:26
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2732
Supporter
Hi Thomas...

Vorweg... Ich bin nicht Sebastian ! Cheffe ist hier im Forum unter "DocMoebius". Stephan und ich sind nur die "Mädchen für alles"

About Topic.

Das Tutorial ist Uralt.... aber bis auf den Multiply ist es "eigentlich" noch up to date.
Du musst übrigens den Transform in diesen Falle gar nicht verwenden. Damals by Multiply war standard "1" also 1x den Wert .... Somit Schlicht Input=Output.
Bei Transform wenn du diesen NICHT anklickst dann ist $ schlicht $ . Also $*1 ist das selbe wie wenn du den Transform gar nicht verwendest !

Zur Config.
Diese ist so nicht ganz korrekt,
iconAlfrodo:


rechts: $+1997537
rechts fast: if($>0,$+19975370,0)
links: $-1997537
links fast: if($>0,$-19975370,0)



Bei "Rechts" also "Altitude erhöhen" brauchst du die Schwelle nicht ( Bzw brauchst du eine Maximumschwelle das die Höhe nicht mehr als z.b. 40.000 Ft sein kann ( je nach System)
Bei Links wiederrum musst du die Schwelle sowohl bei FAST als auch bei NORMAL haben ( Sofern du sie überhaupt brauchst.... siehe unten)

Weiterhin ist die Schwelle falsch programmiert.....
Der Wert $ ist IMMER größer 0 .... Somit kommt dein ELSE nie zu tragen.

Frage ist hier schlicht.... Erkennt dein System ( Xplane via XPUIPC) das ein Negativer Wert "NULL" sein soll oder nicht ?
Falls JA dann brauchst du gar kein IF denn dann sagt Xplane " Wenn Wert unter 0 gesetzt wird ( wie z.b. bei 0 Minus 1997530 wenn du bei null weiter drehst) DANN setzte einfach erneut Null"
Erkennt Xplane das NICHT und du hast dann einen Fehler dann brauchst du eine "Schwelle" die das verhindert.
In diesen Fall wäre das bei "Nach links" if($>19975370,$-19975370,0) ... Auf Deutsch.... wenn Aktueller Wert Größer 100 ft dann setzte Wert-100ft sonst setzte 0

****
Einfach testen.... Ich nutze kein Xplane ( wie die meisten hier) Deshalb musst du da leider etwas selber probieren !

lg.
Good Luck !
2018-05-13 15:34
Avatar
Alfrodo
Posts: 6
Dann nochmals danke an dich, pizman82 (leider sehe ich nirgends deinen Vornamen :rolleyes:

ich habe die Parameter so eingetragen - danke für die Erklärung, ist logisch so - ich dachte ich hätte die Einstellung aus eurem Video 2 richtig übertragen.

Left: if($>1997537,$-1997537,0)
Left fast: if($>19975370,$-19975370,0)
Right: if($<818990284,$+1997537,818990284) -> Begrenzung ab 41.000 ft
Right fast: if($<818990284,$+19975370,818990284)

Leider bleibt das Problem beim Linksdrehen bestehen, in den Xplane Standard-Datarefs für Altitude kommt auch sofort 0 beim Linksdreh.

Hier scheint es wohl doch einen Mismatch in der XUIPC-FSUIPC Umsetzung zu geben. Ich versuche nochmals die Vorgängerversion, ich verwende momentan die 2.0.4.7.

Edit: Version 2.0.0.0 hat das gleiche VErhalten - ich werde mal bei XUIPC weiter recherchieren
Gruß

Thomas
[Last edited by Alfrodo, 2018-05-13 18:33]
2018-05-13 17:16
Avatar
slammer88
From: LTBJ, Turkey
Posts: 146
iconAlfrodo:

Dann nochmals danke an dich, pizman82 (leider sehe ich nirgends deinen Vornamen :rolleyes:

ich habe die Parameter so eingetragen - danke für die Erklärung, ist logisch so - ich dachte ich hätte die Einstellung aus eurem Video 2 richtig übertragen.

Left: if($>1997537,$-1997537,0)
Left fast: if($>19975370,$-19975370,0)
Right: if($<818990284,$+1997537,818990284) -> Begrenzung ab 41.000 ft
Right fast: if($<818990284,$+19975370,818990284)

Leider bleibt das Problem beim Linksdrehen bestehen, in den Xplane Standard-Datarefs für Altitude kommt auch sofort 0 beim Linksdreh.

Hier scheint es wohl doch einen Mismatch in der XUIPC-FSUIPC Umsetzung zu geben. Ich versuche nochmals die Vorgängerversion, ich verwende momentan die 2.0.4.7.

Edit: Version 2.0.0.0 hat das gleiche VErhalten - ich werde mal bei XUIPC weiter recherchieren
Gruß

Thomas



Hi Alfrodo, did you solve the proble m?
2019-05-19 22:06
icon