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
Wolle
Posts: 7
Hi, ich versuche über die Offsets 73BC (2) und 73BE (2) die Anzeigen für Voltage 1 und 2 zu realisieren.

Sonst läuft alles ohne Probleme. Bekomme nur die Batt Spannungen nicht ausgelesen.



Jemand ne Idee ?


Jeehell A320FMGS_B52.0.0
Prpar3D V4.5
Mobiflight: 7.5.2


Danke


Gruss Wolle
2019-04-26 17:13
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2330
Supporter
Hi
Laut deinen Screenshot liest du doch was aus !. FSUIPC Wert ist 4 .... Ausgabewert ist 40 ( Da du vermutlich im Transform $*10 gesagt hast)

An der Verbindung kann es nicht liegen. Was meinst du also mit " Bekomme nur die Batt Spannungen nicht ausgelesen." ???
Good Luck !
2019-04-28 02:43
Avatar
Wolle
Posts: 7
Hi,

4 bzw 40 wären dann aber als VOLT ein wenig viel. Zumal die Anzeige im Overhead 27,6 betragen sollte (laut Softpanel)
Will sagen:

ich benutze die Offsets gem. Offset Tabelle und Transform *10 wie angegeben.

Ich bekomme aber immer nur 4 oder 0 angezeigt. Niemals den Volt Wert auch nur annähernd ?
(wobei dieser mit BATT1 und 2 an , sich ja auch verändert bzw. sollte)

Alle anderen Anzeigen (Speed, QNH, ALt usw.) lassen sich sauber auslesen.

Gem. Anleitung sollte alles korrekt sein:



Danke

Gruss Wolle
2019-04-28 10:44
Avatar
StephanHo
From: EDDG, Germany
Posts: 1201
Supporter
Hi Wolle,

hier kann von der Logik her bereits etwas nicht stimmen. Du kannst aus einem Bit keine Informations herausbekommen, die dir einen Wert z.B. von 27.6 anzeigt. Damit würdest du die Digitaltechnik revolutionieren!

Du separierst ein Bit und möchtest daraus eine Float-Wert oder zumindest einen Integer-Wert maskieren. Wenn du das Byte mit 0x4 maskierst erhälst du für dezimal immer nur den Wert 0 (wenn das Bit 0 ist) oder 4 (wenn das Bit 1 ist). Das Ergebnis (dezimal) kann immer nur 0 oder 4 sein bzw. mit $*10 0 oder 40.

In meiner Liste steht bei 0x73BC:

73BC 2 BAT1 Voltage *10 If ACFT power is OFF, this offset reads If ACFT power is OFF, this offset reads -1.
Für 73BE gilt das Gleiche.

In deiner Config hast du jedoch nur ein Byte Datenlänge angegeben und maskierst dieses Byte mit 0x4. Da es sich um einen Offset handelt, der einen quasi Float-Wert beinhaltet, müßtest du folgendes tun:

In der Config die Länge auf 2 Byte einstellen. Maskieren mit 0xFFFF. Die Transform-Zeile mit $*10 so lassen. Dann schauen, welcher Wert in der MF-Übersicht erscheint. Bei 2 Byte Länge sollte dann ein Integerwert bei herauskommen, bei dem du die Dezimalstelle in der Ausgabe entsprechend setzen mußt.
Die Transformzeile kannst du auch so wandeln: IF($=-1,0FF,$*10)
Soll heißen: wenn der Wert -1 ist soll OFF angezeigt werden, sonst der Wert von $*10. Wenn OFF nicht funktionieren sollte, nimm dafür mal 000.

Probier mal aus und berichte.
Grüße,
Stephan
2019-04-28 11:47
Avatar
Wolle
Posts: 7
Hi Stefan,

Danke für die Super Erklärung.

Es funzt

Manchmal sieht man den Wald vor lauter Config nicht.

Danke Dir

Gruss Wolle
2019-04-28 22:14
Avatar
StephanHo
From: EDDG, Germany
Posts: 1201
Supporter
Hi Wolle,

eigentlich habe ich mit Jeehell nix am Hut. Für alle Fälle (wie deiner) habe ich die Listen davon aber.
Mir fiel halt auf, daß normalerweise Bitweise ausgelesen wird und von daher bist du nur dem altbekannten Muster gefolgt.
Ich stutzte, als ich den Offset sah. Der Rest ist Logik.
Der Vergleich mit Wald und Config paßt gut ;)

Mich interessiert in dem Zusammenhang, wie die Transformzeile arbeitet. Funktioniert OFF oder 000?
Grüße,
Stephan
2019-04-29 01:20
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2330
Supporter
Hiho

Mich würde jetzt eher interessieren wie man da auf 1 Byte Size und Bitmask 0x4 kommt !

Gehe ich recht in der Annahme das du eine andere Config "kopiert" hast die z.b. eine LED auf Bit 4 Liest und hast schlicht vergessen das zu ändern ?
In der Liste steht ja klar das es ein 2 Byte Offset ist ohne Bitmask !

@ Stephan.
Habs zwar grad nicht getestet aber im Transform geht das "noch" nicht.... Im compare geht es schon.
OFF würde einen Syntax Error bringen da der Transform noch kein String ist und ein INT bzw FLT kann nicht "OFF" sein. 000 wiederrum ist Mathematisch schlicht 0. Kein Syntax Error aber auch keine veränderung zu 0.

Hab da die letzten Wochen mal exerimentiert und vieles rausgefunden..... Das wäre aber mal ne Sache für Teamviewer/Discord. Muss ich dir am Bildschirm zeigen.
Good Luck !
2019-04-29 22:21
Avatar
Wolle
Posts: 7
Wie man drauf kommt ?

...

Manchmal sieht man den Wald vor lauter Config nicht.
.....
:)

PS: Nein, da ist nichts kopiert von einer anderen Config. Habe meines von Grund auf selbst gebaut und auch die Configs, Schritt für Schritt erstellt.

@ stefan, -1 kann zur Zeit nicht erreicht werden Siehe Post von (Pizman82) , daher macht die Zeile einzufügen m.E. noch keinen Sinn.

Mir reicht aber erst mal, dass die Werte BAT1 und 2 sauber funktionieren. Nochmals Danke

Gruss Wolle
2019-05-01 15:35
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2330
Supporter
Hi Nochmal.

Stephans Ansatz ist nicht grundlegend falsch.... Nur die Stelle wo er es macht ist schlecht gewählt.

Ich hab jetz keine Ahnung wie du das ganze Anzeigen willst. Bei nen 7 Segment kannst du natürlich nicht "OFF" schreiben. ( By the way.... Hab keine Ahnung ob im Airbus da OFF steht wenn die Spannung <xxx ist)

Was allerdings geht falls das im Airbus nötig ist wäre einen "Compare" zu machen....

Beispiel: Du verwendest ein 7 Seg Display mit 3 Stellen.... Und es soll aber bei 0,00 Volt eben nicht "000" dor stehen sondern "---" dann kannst du im Compare Sagen...
IF Value = 0 THEN --- ELSE $ ( Nur eben wie Stephan meinte im Transform Feld geht das "noch" nicht.)

Falls du ein LCD Display nimmst gehen auch Buchstaben.
Dort kannst du sagen If Value = 0 THEN Krautsalat ELSE $
Folge: Das Display gibt die Spannung aus.... Und bei Null Volt schreibt ers stattdessen "Krautsalat" hin. ( Welch geiles Beispiel :thumbup: )
Good Luck !
2019-05-01 16:36
icon