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
hein4bloed
Posts: 29
Hi,

ich bin gerade in Vorbereitung zur Realisierung des 737 Aft Overhead.... die IRS Anzeige möchte ich
auf einem LCD 1601 (16 Zeichen in einer Zeile) realisieren. Habs grad mal ausprobiert mit den entsprechenden
Einstellungen. Das Display funktioniert, läßt sich über IC2 ansprechen aber
ich bekomm aber nur die ersten acht Zeichen dargestellt..... hmmmmm... selbst wenn ich
im Display-Testfeld keine Platzhalter sondern sechzehn Zeichen eingebe werden mir nur die ersten acht
dargestellt....
Hat jemand irgendeine Idee was da falsch läuft?


Grüße

Hein
2019-10-05 16:43
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2648
Supporter
Hi
Überprüfe mal den "Raw Value" der in der Spalte FSUIPC Value angezeigt wird.

Wenn der "Rohe Wert" schlicht nur 8 Zeichen hat dann kann der Ausgabewert auch nur 8 haben.

Ich vermute du sprichst von PMDG...... Diese hat ZWEI Offsets.... Jeweils einer für die Linken 7 und die rechten 8 Stellen.
Good Luck !
2019-10-05 23:44
Avatar
hein4bloed
Posts: 29
Hi, Problem gelöst!:thumbup:
Die Offsets waren übrigens kein Problem, das hat Mobiflight prima als Ausgabewert angezeigt.
nach mehreren Stunden rumprobieren dann folgende Lösung:
das Display wird nicht als 16x1 sondern als 16x2 angesteuert, wobei von beiden Zeilen nur die ersten acht Zeichen (auf dem 16x1 Display dann hintereinander) geschrieben werden.
Da muss man erst mal drauf kommen! Gleichzeitig hatte ich noch einige Abstürze mit Mobiflight: Board nicht erkannt, "Unknown" board, kein Firmwareupdate möglich etc.....
Bin dann noch mal alle Board-Configs durch und hab bemerkt, daß ich zwei I2C LCD-Displays die gleiche Adresse (jeweils 0x3F) gegeben hatte. Obwohl die LCD-Displays
an unterschiedlichen Boards hängen, hatte die Software damit offensichtlich ein Problem. War schnell gelöst, als ich ein LCD-Display mit 0x3D umgelötet und codiert hatte. Läuft jetzt wieder alles prima. Aber bei dem rumprobieren wird man kirre......:cry:
Nebenbei noch ne Frage: kann ich die IRS-Strings im Vergleichsfeld bearbeiten? Wenn die IRS-Offsets nix anzeigen würde ich auf dem Display gerne Leerzeichen anzeigen und nicht die Mobiflight Platzhalter wie z.B: ######## oder §§§§§§§§.... Gibs da ne Idee?

Grüße

Hein
2019-10-06 11:47
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2648
Supporter
Hi Hein

Erstmal schön das es geklappt hat....
Allerdings reden wir jetzt über 3 unterschiedliche Dinge die man jeweils einzeln beleuchten muss.

1. 16-01 Kompatibilität
Hier kann ich leider nicht testen da ich kein 1 Zeilen LCD besitze....
Die Frage ist, ob ein Logikfehler im System ist ODER ob du ein Display verwendest das "unlogisch" aufgebaut ist ( bzw falsche Settings)
Das die EINE Zeile sozusagen auf 2 Halbzeilen eines 16x2 basiert ist definitiv falsch......
Ich Frage mich aber auch wie du mit gewählten 16x1 überhaupt im Display Tab eine 2. Zeile hast um dort was einzugeben...... Bei nen 16x1 hat man im Connector auch nur eine Zeile!
Andersrum wenn du auf 16x2 stellst dann kann es durchaus logisch sein das ein angeschlossenes 16x1 hier jeweils die ersten 8 Stellen benutzt.
Somit die Frage..... Warum stellst du nicht auf 16x1 von Anfang an !

Falls jemand ein 16x1 hat wäre eine Bestätigung des Problems schön.


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

2. Doppelte IC2 Adressen.
Auch hier "sollte" alles passen. Laut Sebastian ist es möglich z.b. 5 Displays auf 5 Megas zu verwenden und alle haben die gleiche IC2 Adresse.... Denn jedes befindet sich ja auf einen anderen Board.
Hier die Frage..... Fehler im System den wir noch nicht erkant haben..... Oder Fehler in deinen Settings bzw womöglich fehlender Restart bzw "alter müll" im EEPROM und das Problem wäre nach einen Zurücksetzten des Boards gelöst gewesen.

Da ich nur ein Display zum testen habe kann ich auch das nicht nachstellen......
Wer also ZWEI Displays hat, bitte mal folgenden Test machen.
2 Megas..... Jeweils ein Display verkabeln..... Auf jeden Mega EIN Device LCD erstellen. Bei beiden die Gleiche IC2 Adresse verwenden. .... TESTEN !


3. String Compare

Im Grundsatz ist ein String Compare möglich..... Der Compare erlaubt auch die Bedingung als String.
Hab das Display selber noch nicht gebaut..... Müsste also selber erstmal testen.
Auf den ersten blick ist es aber komisch...... Wenn der String "leer" ist ist er ja trotzdem vorhanden. Warum da die Placeholder kommen wundert mich.

Falls jemand das IRS Display am laufen hat bitte ne Info..... Ansonsten guck ich mir das die Tage mal an.
Good Luck !
2019-10-06 16:02
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2648
Supporter
UPDATE Punkt 3

Gerade schnellen Testlauf gemacht.... Leerer String ist das Problem.
Leider arbeitet hier PMDG etwas bescheiden..... Anstatt Leerzeichen zu verwenden setzten sie die Terminating Zero "offenbar" als Ending Point.
Also Mobiflight kann keinen String lesen da keiner existiert..... Und zeigt somit die Placeholder Symbole.

Hier wäre Sebatian gefragt..... Womöglich kann man hier mit "False" arbeiten..... Aber das weis ich nicht.
EDIT: Muss jetzt in die Arbeit und kann nicht testen..... Problem sollte sich aber mit dem neuen Variable tool und einer kleinen Formel lösen lassen.
Muss ich aber erst probieren.


Die bessere Lösung wäre es wenn PMDG seine Hausaufgaben gemacht hätte.... Aber das können wir leider nicht erzwingen.
[Last edited by pizman82, 2019-10-06 16:34]
Good Luck !
2019-10-06 16:29
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2648
Supporter
Hallo Hein.

Hab mich der Sache nochmal angenommen und möchte dir einen Status geben.....
Womöglich wird Sebastian das selber auch kommentieren..... Im zweifel auf seine Antwort warten.

1. Das Display Problem
Sebastian hat mir da einen Link gegeben..... https://forum.arduino.cc/index.php?topic=517198.0
Wie ich es verstehe ist das ein Hardware problem der Displays..... Also das alle ?? ( oder einige ??) 16x1 Displays in wirklichkeit technisch 8x2 Displays sind die halt die zweite "8er" Zeile nicht unter sondern neben der ersten haben.
Mangels eigenen 16x1er Display kann ich nicht testen ob du in Mobiflight beim erstellen des Displays theoretisch auch 8x2 angeben kannst ( oder ob Mobiflight das verbietet)
Im Endeffekt ist es aber egal da sowohl 8x2 als auch mit 16x2 ( wie du es aktuell machst) das gleiche Ergebnis entsteht.... Du musst also aufgrund der Bauweise deines Displays hier schlicht mit 2 Zeilen arbeiten.... Die erste für die linken 8 stellen...... die zweite für die rechten.
Wie gesagt.... Leider weis ich nicht ob das ALLE 16x1 betrifft..... Dann könnte man es in Mobiflight abändern..... Wenn es aber auch "echte" 16x1 gibt dann stimmt ja die MF Logik wie sie ist.

**************
2. Das IC2 Problem.
Hier meint Sebastian genau wie ich das es "eigentlich" nicht möglich ist was du berichtest.... Also das Mobiflight kein Problem hat wenn auf unterschiedlichen Arduinos jeweils ein LCD liegt und alle die gleiche IC2 Adresse haben..... Denn die Arduinos sind unabhängig voneinander.
Auch er bzw Stephan und ich haben im moment keine 2 Displays vor Ort um das selber zu testen.
Ich vermute der Fehler war wo anders..... Aber wir können das mal "offen" lassen bis eine dritte Person das bestätigt oder bis du nochmal einen Test mit 2 Displays auf der gleichen Adresse machst.


***********
3. Die String Optik

Hier vorweg.... Einen Schönheitsfehler kann ich nicht lösen......
Wie fürher mal gesagt..... Mobiflight füllt ein LCD Display von RECHTS nach LINKS..... Aktuell plant Sebastian hier wohl keine Wahlmöglichkeit wie "Right Padding" .... Somit sind wir hier an das System gebunden.

Beipiel: ( _ entspricht Leerzeichen)
Wenn das Original Display z.b. "222_ _ _ 333_ _ _ _" anzeigt .... Dann zeigt dein LCD "_ _ _ 222 _ _ _ _ 333 " . DAS kann ich nicht umkehren.... bzw wenn dann nur mit enormen Aufwand, und selbst da glaub ich wird es fast unmöglich das es 100% funktionstüchtig ist.
Folge: Mit diesen "Schönheitsfehler" musst du wohl leben


Das andere Problem mit den Placeholder Symbolen konnte ich lösen....
Seitens Mobiflight wird es hier vermutlich keine Patch Lösung geben da diese Situation enorm speziell ist und das vermutlich außer dir niemand braucht (Denke die meisten werden das Display eher als 7 Segment umsetzten...... Folgerlich reicht es wenn ich dir die "manuelle" Lösung über ne spezielle Config gebe anstatt das man die Software umstellt.

Da dies hier im Forum chaotisch wird..... Schick mir bitte ne Mail.... pizman@freenet.de
Dann können wir entweder telefonieren, Teamviewer oder ich schreib dir ne Anleitung wie du das umsetzten kannst.

lg.
Good Luck !
2019-10-08 01:17
Avatar
hein4bloed
Posts: 29
Hi,

vielen Dank für die Hilfe! die Sache mit dem 16x1 bzw 8x2 Display ist geklärt, das funktioniert.
Die Configs meiner Boards hab ich ausgemistet und "gereinigt", obs tatsächlich an den beiden
gleichen Adressen der Displays lag, weiß ich natürlich auch nicht sicher.... läuft jetzt aber stabil.
Mit den Platzhalter-Strings komm ich klar, das ist kein Problem.

Grüße

Hein
2019-10-08 11:08
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 2648
Supporter
iconhein4bloed:


Mit den Platzhalter-Strings komm ich klar, das ist kein Problem.



Falls du das mit dem Right Padding meinst.... OK.
Falls du auch das Problem mit den Placeholder Symbolen selber hingekriegt hast dann Hut Ab !

Wenn doch noch fragen sind zwecks dieser Sache.... Einfach Mail an mich.

CLOSE
Good Luck !
2019-10-08 15:46
icon