IPK: TFT-Display an der DM8000/DM7020HD für OE 1.6/2.0 mit LCD4Linux-Unterstützung und Mini-TV

  • Hallo Zusammen,


    hier einmal vorab die Installationspakete (IPK) für das interne RGB-TFT für die DM8000 und DM7020HD für OE 1.6 und OE 2.0. Die IPKs funktionieren an beiden Boxen.


    Bei OE 1.6 (dreambox-usbtft-dream) werden, wie gehabt folgende Bibliotheken benötigt:
    - usbutils
    - libusb-0.1-4
    - libusb-1.0-0
    - libusbpp-0.1-4


    Bei OE 2.0 (dreambox-usbtft-oe2-experimental) wird lediglich die Bibliothek libusb-1.0-0 verwendet.


    Bitte macht sicherheitshalber ein Backup eurer skin_user.xml vor der Installation.


    Falls es Probleme geben sollte, dann bitte hier posten.


    Viel Spaß beim Testen!


    Gruß
    maschine



    Changelog:
    20130103-r4 noch experimentell (OE2.0) und 20121216-r4 noch experimentell (OE1.6):
    *mit LCD4Linux-Unterstützung
    *TFT kann TV darstellen - Stichwort Mini-TV (noch sehr langsam)


    Um das Display zusammen mit LCD4Linux zu verwenden muss natürlich das Plugin von Joerg installiert werden. (Hier: LCD4linux-Plugin)


    Das Plugin muss dann über die Menüführung so konfiguriert werden, dass das Interne TFT der Box ausgewähkt ist.


    Damit das Display im LCD4Linux-Modus arbeitet muss in der Konsole das Skript tft-bmp-mode.sh ausgeführt werden. Je nach Image kann es sein, dass Enigma neugestartet werden muss.


    Im Installationspaket sind ein paar neue Skripte hinzugekommen:
    tft-bmp-mode.sh:
    Schaltet das Display in den Bitmap-Modus. Damit können Bitmaps mit einer Auflösung von 400x240 und 24-Bit RGB direkt an das Display gesendet werden (z.B.: cat irgendein-bmp.bmp > /tmp/usbtft-bmp).


    tft-dream-mode.sh:
    Setzt die Display-Ansteuerung wieder in den "normalen" Modus, so dass die Einstellungen aus der skin_user.xml wieder angezeigt werden.


    tft-dream-mode-noskin.sh:
    Damit läuft das Display einfarbig in der Standard-Auflösung von 128x64. Wie mit dem originalen Display und der "normalen" skin_user.xml. In diesem Modus kann schnell zwischen dem LCD4Linux-Plugin und der Enigma2-Displayansteuerung umgeschalten werden. Wenn dieser Modus gesetzt wird muss die Box neugestartet werden.
    Das Umschalten zwischen LCD4Linux und Enigma funktioniert über die Programme tft-dream-mode-400x240 (LCD4Linux-Modus) und tft-dream-mode-128x64 (Enigma2-Modus). Diese senden einen kurzen Befehl an das Display.


    tft-tv.sh
    Zeigt auf dem Display insgesamt 1000 TV-Bilder (Mini-TV). Das ganze ist noch recht langsam - aber ein Anfang. Nachdem man dieses Skript ausgeführt hat muss man danach entweder den Dream- oder den Bitmap-Modus manuell setzen damit das Display wieder normal arbeitet. Wer mag kann die Skripte gerne auch auf seine Bedürfnisse anpassen.


    Zwischen den Modi kann man zur Laufzeit umschalten. Da ich kein Plugin-Schreiber bin, geht dies momentan nur über die Konsole.



    20121208-r2:
    *DM8000 bei OE 2.0 wurde die RGB-Led nicht angesteuert (behoben)
    *DM7020HD die Hintergrundbeleuchtung des TFTs wurde nicht abgeschalten (behoben)


    20121124-r1:
    *erste Version

  • out of the box will es nicht, aber mit einem opkg remove dm8000-usbtft-oe2-experimental davor kann man(n) es schon überreden :winking_face:

  • Ich habe eine Vermutung.


    Könntest du bitte in der Datei /etc/init.d/usbtftdisplay.sh in der Zeile 16 folgendes ändern:


    Aus dem:

    Code
    kill -9 $(pidof -s usbtftdisplay)


    ein kill -15 machen:

    Code
    kill -15 $(pidof -s usbtftdisplay)


    Vermutlich funktioniert es dann schon. Kann das leider selbst nicht testen, da ich kein OE2.0 installiert habe und auch keine 8000er habe.


    Wenn das funktioniert, nehme ich die Änderung direkt im Paket mit auf.


    Danke im Voraus.


    Gruß

  • Kennst du den Unterschied zwischen OE 1.6 und 2.0 was den Enigma GUI Neustart betrifft?


    Werden bei OE 2.0 irgendwelche Runlevels nicht ausgeführt?

  • hmm sorry keine ahnung, hab mich damit noch nie beschäftigt
    kann mich mit der dream auch nicht beschäftigen da ich bis freitag beruflich im ausland bin

  • Kurze Frage:


    Gibt es inzwischen eine Möglichkeit unter OE20 die Firmware des TFTs zu aktualisieren ("Zitterproblem")?


    Es hat seinerzeit was für OE1.6 gegeben, da ich aber schon OE2.0 hatte konnte ich nicht updaten.


    Falls nicht: Kommt da noch was?


    Danke


    Grüße
    ...jp

    Grüße
    ...jp


    DM900 / OE2.5 Experimental ... und sehr glücklich damit :)

  • Hi,


    werde mal schauen ob ich alle Bibliotheken zusammenbekomme um das Firmware-Update auch in das OE 2.0 IPK einzubauen.


    Gruß
    maschine

  • Hallo maschine,


    Das wäre wirklich prima :)


    Btw, hab auf die hier angepinnte 1.0-r2 upgedated. Damit das klappt, musste zunächst die alte Version manuell deinstalliert werden. Soweit alles kein Thema, nur sind bei der Deinstallation logischerweise die settings unter /etc/grautec/setting verloren gegangen.
    Ich habe sie entsprechend meinen Wünschen wieder eingestellt, nur blinkt die LED bei Aufnahmen nicht mehr (= blinkt gar nicht).
    Meine skin_user.xml ist die, die auch vor dem Update installiert war, die schließe ich also aus.


    Die Settings sehen jetzt wie folgt aus:


    _defaultled
    _displayoff
    _flipupsidedown
    _takeownership
    framecount
    ledmode
    showledpixel


    wobei in ledmode eine "1" für rot steht.


    Habe ich einen Fehler? Oder funkt das mit der r2 nicht mehr?


    Danke


    Grüße
    ...jp

    Grüße
    ...jp


    DM900 / OE2.5 Experimental ... und sehr glücklich damit :)

  • Hi,


    das habe ich wohl etwas ungeschickt in meinem Code geschrieben.


    In showledpixel muss eine 1 oder größer drin stehen. Die Rechte von den Dateien sollten dann noch gesetzt werden. Dann sollte es eigentlich funktionieren.


    Werde das in einer nächsten Version abändern, so dass es genügt wenn die Dateien vorhanden sind...


    Kannst noch mal Bescheid geben ob das mit der 1 funktioniert.


    Gruß

  • Hm, showledpixel hatte schon die 1...
    Nach der Installation waren "owner" und "group" aller Dateien und Verzeichnisse auf "1000" gesetzt.
    Dies habe ich inzwischen auf root geändert, dennoch klappt die LED Ansteuerung nicht.
    Die Rechte müssten eigentlich auch passen, oder?


    Grüße
    ...jp


    Grüße
    ...jp


    DM900 / OE2.5 Experimental ... und sehr glücklich damit :)

    Einmal editiert, zuletzt von juanito_perez ()

  • Sorry maschine, ich muss mich korrigieren ...


    Ich hatte irgendwann mal was umgestellt und die Ansteuerung aus der skin_user.xml rausgenommen und stattdessen defaultled auf 1 = rot gesetzt.
    Es konnte also mit den jetzt gewählten Einstellungen gar nicht funktionieren. Sorry nochmal für die Unruhe.


    Grüße
    ...jp

    Grüße
    ...jp


    DM900 / OE2.5 Experimental ... und sehr glücklich damit :)

  • Zitat

    20121216-r4 noch experimentell (nur OE1.6):
    *mit LCD4Linux-Unterstützung


    Hallo gibt es die LCD4Linux-Unterstützung auch im 20121208-r2 für DM8000 OE 2.0

    8000 + Lüfter + HDD + DVD + RGB TFT Display
    520 OS-2.5
    16GB USB-Stick media/hdd

    DM Two

    SAT 19°

  • Habe nun auch mal angefangen mit Buck's internes TFT (danke machine). Da ich momentan die Kiste(8k) nicht auseinanderreißen kann, um das LCD einzubauen, habe ich es erstmal NUR per USB angeschlossen. (und wenn ich das so betrachte, teste ich vor dem Einbau auch noch ein bissel)
    Ich sag mal so... prinzipiell kann man es auch als normales externes LCD betreiben, aber....
    Da /dev/dbox/oled0 überschrieben wird, funktioniert nach E2-Start das originale LCD nicht mehr (trotz deaktivierten Startscript Reboot nötig).
    Außerdem scheint die oberste Zeile etwa Zeile 60 zu sein und unten tauchen 2-3 Zeilen von oben noch auf. Mag sein, das das LCD nicht richtig initialisiert ist, wenn der Pfostenstecker nicht angeschlossen ist.
    Ich weis, es ist ja auch nicht so vorgesehen :grinning_squinting_face: , aber ich konnte es nicht sein lassen. :winking_face:
    Wenn also im BMP-Modus das originale LCD wieder aktiviert werden könnte.... das würde diverse Möglichkeiten, bis hin zu mehr Umsatz für Buck bringen. Vielleicht kann machine in diese Richtung noch was "modifizieren" *nett guck*
    Jörg


    Edit: Mal ein Foto Pearl 320x240 und TFT 400x320 bei gleicher Einstellung. Für Höhe 320 müsste das Bild noch mächtig gestaucht werden, ob das dann gut ausschaut. Man sieht, oben am TFT fehlt das Datum.
    Edit2: Helligkeit ist wohl für beide LCDs gleich /proc/stb/lcd/oled_brightness . Das ist natürlich auch doof, wenn man Beide betreiben wollte

  • Hi,


    joergm6
    freut mich, dass es bei dir läuft.


    Das Display ist eigentlich für den internen Betrieb gedacht. Daher habe ich auf eine weitere Regelung der Helligkeit verzichtet. Ist das Display in der Box muss man auf ca. 20 Zeilen verzichten, da dieser Bereich von dem Plastik der Frontblende verdeckt wird. Vermutlich ist dadurch der Darstellungsfehler nicht aufgefallen ;-).


    Werde bei der nächsten Version des Installers eine Option für den externen Betrieb vorsehen. Würde das Display an deiner Stelle dennoch einbauen - macht echt was her ;-).


    Hanniball
    Da ich selbst OE1.6 nutze, kam ich noch nicht dazu die Programme anzupassen.


    Gruß
    maschine

  • Doof, habe in L4L irgendwie doch 320 drin, ist aber 400x240. Hatte das wohl genau in die falsche Richtung geändert :face_with_rolling_eyes: . Nun ist das mit dem Versatz auch OK. Und wenn man das LCD-Startscript nach dem E2-Start ausführt, bleibt auch das originale LCD auch aktiv.... gibt noch viel zu testen...
    Edit: aber wenn einmal gestartet, bleibt beim nächsten E2-Start der orginal-LCD-Ladebalken wieder bei 100% hängen und das LCD ist "eingefroren".
    Das TFT lässt sich auch mit 15-40ms bedeutend schneller als das Pearl 400ms beschicken. :winking_face:
    n8

  • Hannibal
    Habe die LCD4Linux-Unterstützung für OE 2.0 hinzugefügt.


    Einfach am Anfang des Threads die Datei dreambox-usbtft-oe2-experimental_1.0-0-2 0130103-r4_mips32el.ipk herunterladen und installieren.


    Weiß nicht genau ob das schon mit Joerg seinem LCD4Linux-Plugin direkt funktioniert, wird aber bestimmt bald kommen.


    Ich hatte es mit: enigma2-plugin-extensions-lcd4linux_2.7-r2_mips32el.ipk getestet und musste noch ein paar Kleinigkeiten anpassen. Am Besten das erwähnte Paket installieren und die angehängte plugin.py nach /usr/lib/enigma2/python/Plugins/Extensions/LCD4Linux kopierren.
    Bitte nur mit der 2.7 Version von dem LCD4Linux-Plugin verwenden sonst kann die Box abstürzen.


    Weiterhin muss man noch in der Konsole folgende Zeile eingeben und eventuell einen Neustart durchführen:
    tft-bmp-mode.sh


    Falls man das LCD4Linux-Plugin wieder deaktivieren möchte dann über:
    tft-dream-mode.sh



    Gruß
    maschine