graphlcd (base, vdr-plugin) touchcol branch (archiv)

  • Die Sache wird immer seltsamer....


    Wenn ich das andere Display ansteke, dann sagt dmesg:


    Code
    vdr01 ~ # dmesg
    usb 3-2: new full speed USB device using ohci_hcd and address 4
    usb 3-2: New USB device found, idVendor=23ae, idProduct=ee21
    usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    usb 3-2: Product: LCD
    usb 3-2: Manufacturer: DigitalDevices UG
    usb 3-2: SerialNumber:
    input: DigitalDevices UG LCD as /devices/pci0000:00/0000:00:04.0/usb3/3-2/3-2:1.1/input/input9
    generic-usb 0003:23AE:EE21.0007: input,hidraw0: USB HID v1.11 Keyboard [DigitalDevices UG LCD] on usb-0000:00:04.0-2/input1
    vdr01 ~ #


    "l4m320t_tool -p "USB:4243/ee21" -i" gibt dann aber folgendes aus:


    Code
    vdr01 ~ # l4m320t_tool -p "USB:4243/ee21" -i
    Error: Unable to open USB:4243/ee21, additional info: SDCONNusb_open(): unable to find or open a matching device
    vdr01 ~ #


    Und nun??

  • der SVDRP-patch ist committed (im touchcol), inkl. der erweiterungen v. randy.
    funktioniert sogar. zumindest in meinem kurztest.


    Klasse, danke.


    Ich habs gerade mal ausgecheckt, aber irgendwie mag er die Skins nicht. Selbst beim touchcool Skin kommt im Display die Fehlermeldung das Version 1.1 nicht unterstützt wird.


    Ich habe base ausgecheckt und das make all, mak einstall lief durch, dann das plugin ausgecheckt und hier lief das make all auch durch, dann das Plugin in den Pluginordner kopiert.
    Muss ich hier evtl. manuell reste von der alten base Installation entfernen, oder hast du sonst ne Idee wo ich mal schauen könnte?


    Das Log sagt

    Code
    May  5 18:19:00 dirk-vdr vdr: serdisp: SerDisp with sdcmegtron initialized.
    May  5 18:19:00 dirk-vdr vdr: ERROR: graphlcd/skin: skin version '1.1' not supported.
    May  5 18:19:00 dirk-vdr vdr: ERROR: graphlcd/skin: Parse error in /home/vdr/.vdr/plugins/graphlcd/skins/touchcol/touchcol.skin, line 3
    May  5 18:19:00 dirk-vdr vdr: [13511] graphlcd plugin: ERROR loading skin


    Edit: Ich habe die serdisp nicht aktualisiert weil ich ja kein Touch habe (Display geht ja auch und kompelieren tut ja base auch), könnte die Fehlermeldung fälschlicherweise dort herkommen?


    Edit2: Gibt man per Kommandozeile nen nicht exisiterenden skin an dann gibts ne Fehlermeldung auf stdout und der VDr startet nicht
    ("what():std::bad__allocowing an instance of 'std: bad_alloc' code): videoonly, flipping", so ungefähr, musste ich vom TV abschreiben)


    cu

  • usb 3-2: New USB device found, idVendor=23ae, idProduct=ee21


    "l4m320t_tool -p "USB:4243/ee21" -i" gibt dann aber folgendes aus:


    Naja, richtiges Lesen der dmesg Ausgabe oder ein Blick in die Ausgabe von "lsusb" sollte Dir die Lösung zeigen. Dieses Display hat als VendorID: "23ae", wie meines auch.


    Der Befehl muß also lauten: "l4m320t_tool -p "USB:23ea/ee21" -i" ...


    Regards
    fnu


    PS.: Für dieses Display habe ich noch ein Firmware-Package vom Hersteller, wenn Interesse, Update erfolgt aber über Windows, sollte der aktuellste Stand sein ...

    HowTo: APT pinning

    3 Mal editiert, zuletzt von fnu ()

  • Keine_Ahnung


    verwendest du den touchcol-branch (sowohl graphlcd-base als auch vdr-plugin-graphlcd). graphlcd-base vorher installieren nicht vergessen!
    der serdisplib ist die skin-version herzlich egal. es funktioniert halt maximal touch nicht wenn du eine alte version verwendest.


    [EDIT]: ich selbst sollte auch genauer lesen lernen: die versionsmeldung kaeme nicht im alten 0.2.0/color. dh du hast auch die graphlcd-base v. branch touchcol in verwendung. interessant.


    [EDIT2]: kannst du mal testen, wie das ganze laeuft, wenn du den versionscheck deaktivierst:
    in parser.c (von graphlcd-base): einfach in der methode CheckSkinVersion(...) { als erste zeile: return true; hineinschreiben und den rest in dieser methode loeschen/auskommentieren/...


    soll dann so aussehen:


    static bool CheckSkinVersion(const std::string & version) {
    return true;
    }



    @C-3P0
    die prodID passt, die vendorID hat sich geaendert (dh. du hast ein ganz ein neues display. da musste digital devices - lt. auskunft von fnu (siehe auch posting von ihm in diesem thread) - den zugrundeliegenden chip wechseln) -> einfach 4243 umbessern auf 23ae. die aktuellen SVN-versionen v. serdisplib unterstuetzen dies bereits.


    [EDIT]: der eben angesprochene fnu war schneller als ich :)


    /wastl

  • [EDIT]: der eben angesprochene fnu war schneller als ich :)


    wastl


    Offen gesagt beruhigt mich das ungemein, das ich doch nicht der einzige mit dem Display bin, dass die VendorID "23ea" hat ... ;)


    Gruß
    Frank

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • [EDIT2]: kannst du mal testen, wie das ganze laeuft, wenn du den versionscheck deaktivierst:


    Dann läufts.
    (wundert mich das nur ich das Problem habe, ist das son 64Bit Problem? Weil ich hab hier kein 64Bit System)


    Allerdings sieht dein Skin etwas seltsam aus (siehe Anhang), und meiner geht auch nicht (Schrfthintergrund, keine Grafiken), aber das liegt vermutlich daran das du da einigen im Format geändert hast. Schau ich mir dann mal in Ruhe an.



    BTW: Das funktioniert definitiv nicht mehr


    Code
    <variable id="ChannelLogo" value="'{ConfigPath}/channels/64x48/{ChannelAlias}.pbm'"/>


    Code
    <block condition="and(file('#ChannelLogo'),{SettingShowChannelLogo})">


    cu


  • Naja, richtig lesen der dmesg Ausgabe oder ein Blick in die Ausgabe von "lsusb" sollte Dir die Lösung zeigen. Dieses Display hat als VendorID: "23ae", wie meines auch.


    Der Befehl muß also lauten: "l4m320t_tool -p "USB:23ea/ee21" -i" ...



    Ohoooh Mann!!! - Ich möchte jetzt vor lauter Scham versinken, - darauf hätte ich auch selber kommen können... :wand


    Damit geht auch nun das LCD incl. Touch.


    Code
    vdr01 ~ # l4m320t_tool -p "USB:23ae/ee21" -i
    serial number not set (will be auto-generated when updating firmware)
    mismatching firmware version information: 00000919 != 0000091a
    calibration coordinates: offset x/y: 50/100,  scale x/y: 1300/1300
    vdr01 ~ #


    PS.: Für dieses Display habe ich noch ein Firmware-Package vom Hersteller, wenn Interesse, Update erfolgt aber über Windows, sollte der aktuellste Stand sein ...


    Nun, Du kannst es mir gerne zukommen lassen, allerdigs weiss ich nicht, ob es etwas bringt (Verbesserung?)


    @ wastl,


    so wie es scheint, hat das andere LCD wohl doch einen Hau weg? :(


    BTW: Auch mit dem neuen LCD habe ich mit "ROTATE=90" immernoch einen schwarzen Balken auf der rechten Seite des LCDs. Es scheint so, als ob der Skin nicht skaliert?

  • Keine_Ahnung
    wie eingangs erwaehnt: der branch ist dzt. nur mit farbdisplays getestet. und der skin 'touchcol' ist der testskin fuer das l4m320t (zieml. auf dieses hingezimmert ohne auf skalierung zu achten).


    wenn du im skin folgende zwei zeilen aenderst, sind wenigstens die texte und so zu lesen (da ein bug mit den defaulthinter/vordergrundfarben bei sw-displays kaschiert wird). die fonts usw. sind aber fuer ein 240x128 vieeeel zu gross. die muesstest du auch entsprechend anpassen.


    <variable id="ColMonoFG" value="'white'"/>
    <variable id="ColMonoBG" value="'black'"/>


    aendern auf
    <variable id="ColMonoFG" value="'black'"/>
    <variable id="ColMonoBG" value="'white'"/>



    @C-3P0
    das mit dem balken verstehe ich nicht, da ich ja mit demselben display arbeite. im graphlcd.conf (schaetze ich) genauso wie du:
    Options=rotate=90


    was hast du noch fuer optionen gesetzt?


    kannst du ein foto davon machen? muss jetzt nicht gestochen scharf sein, einfach nur dass ich eine idee davon bekomme.


    /wastl

  • Keine_Ahnung
    wie eingangs erwaehnt: der branch ist dzt. nur mit farbdisplays getestet. und der skin 'touchcol' ist der testskin fuer das l4m320t (zieml. auf dieses hingezimmert ohne auf skalierung zu achten).


    Jup, das der touchcool Skin nicht gut läuft dachte ich mir schon, wollte nur mal zeigen wies auf anderen aussieht falls es dich interessiert.


    Ich habe hier einen in der Mache für fest 240x128 S/W (ich denke das mit der automatischen Sklierung wird man nie perfekt hinbekommen), der könnte dann auch mit ins Packet falls Interesse besteht (mehr Auswahl schadet ja nicht).


    Es ging mir ja auch nur erstmal darum das hier einige Dinge generell nicht funktionieren (anscheinend nur bei mir). Oder ist der touchcool Zweig wirklich für dieses und die generelle skin Entwicklung geht im 0.2.0er Zweig weiter?


    cu

  • 0.2.0 in der bisherigen form ist tot. zumindest wenns nach mir geht. aber auch randy ist der meinung, dass nur noch die colour-enabled version weitergefuehrt werden soll.


    der touchcol branch soll alles, was mal als 0.2.x gelaufen ist, weiterfuehren. und eben auch farbe koennen. aber auch schwarzweiss natuerlich (was er ja auch kann. nur gibts anscheinend wieder ein problem mit standard bg/fg (hatte ich schon mal beseitigt, hat sich aber anscheinend wieder eingeschlichen)).


    die alten skins sollten problemlos weiterlaufen (habe features/attribute dazugegeben, aber nichts weggenommen). falls die texte nicht lesbar sein sollten, einfach als erstes zeichenelement (vor allen anderen) folgendes uebergangsweise hineingeben:
    <rectangle x1="0" y1="0" width="sub({ScreenWidth},0)" height="sub({ScreenHeight},0)" color="black" filled="yes"/>


    color="black" entsprechend durch "white" ersetzen wenn erforderlich.


    das ganze zumindest solange, bis der bug korrigiert worden ist.


    und ja, ich weiss, dass sub({ScreenWidth},0) grausam aussieht, aber dzt. kann das formel-evaluate noch nicht mit nur {Variable} alleine. darum der umweg.


    /wastl

  • OK, das mit den Schriften geht jetzt.


    Aber ich mache jetzt einfach mal nen Screenshoot von meinem Display (mit der 0.2.0er Version) und schreibe einfach mal so auf was nicht geht. Zur Information hänge ich das Skinfile mal an. Wobei im Moment nur die Display ID normal mit Logo, message und menu richtig positioniert sind, am Rest spiele ich noch rum.


    1. Ist auch im Bugtrtacker, wenn ein Text genau in die vorgegebene Breite Passt Scrollt er trozdem. Betrift die Stunden der Uhrzeit oben Links (der Doppelpunkt ist nen animiertes glcd damit er im Sekundentakt blinkt).


    2. Die Senderlogos werden aus irgendwelchen Gründen überhaupt nicht angezeigt.


    3. "file" funktioniert anscheinend überhaupt nicht. "#ChannelLogo" hat dabei aber den korrekten Inhalt.


    4. "{SkinPath}" wird anscheinend nicht ausgewertet, das Log sag dazu

    Code
    May  5 23:36:57 dirk-vdr vdr: glcdgraphics: open /home/vdr/.vdr/plugins/graphlcd/skins/sdc_240x128/{SkinPath}/images/symbols/rec.glcd failed (cGLCDFile::Load).


    wobei man {SkinPath} ja anscheinend eh nicht benötigt.


    5. Beim Scrollen beginnt der Buchstabe komplett ausserhalb des Bereichs aufzutauchen. D.h. wenn der Sendername zu lang ist, dann taucht der Buchstabe shcon im Senderlogo auf.

  • wenn es probleme mit alten skins im zusammenspiel mit touchcol-branch gibt: bitte hier posten.


    Genau das tat ich gerade ;)


    Ich zeige dir nen Bild wie es aussehen soll (Damit du überhaupt weisst worüber ich rede), Code (damit du siehst was ich da überhaupt mache) wie es bissher funktionierte und schrieb dazu warum es jetzt mit dem touchcool Zweig nicht mehr geht.
    Ich habe nicht die geringste Ahnung wie ich sonst verdeutlichen soll worüber ich überhaupt rede.


    cu

  • :bounce1

    [...]
    @C-3P0
    das mit dem balken verstehe ich nicht, da ich ja mit demselben display arbeite. im graphlcd.conf (schaetze ich) genauso wie du:
    Options=rotate=90


    was hast du noch fuer optionen gesetzt? ...l


    Jetzt gehts! :bounce1


    Mit dieser config habe ich den schwarzen Balken:


    Code
    [serdisp]
     Driver=serdisp
     Device=USB:23ae/ee21
     Controller=L4M320T
     ROTATE=90


    Und mit dieser geht es nun Perfekt. :]


    Code
    [serdisp]
     Driver=serdisp
     Device=USB:23ae/ee21
     Controller=L4M320T
     Options=rotate=90


    Da hat sich wohl die Syntax geändert?

  • @C-3P0
    nein, syntax hat sich nicht geaendert.


    das options=rotate=90 ist das serdisplib-eigene rotate. und ab da meldet die library ein 320x240 display.
    das rotate=90 ist das graphlcd-eigene rotate. und da koennte es passieren (geraten, hab noch nicht im source nachgesehen), dass das rotate (ie die anfrage v. graphlcd an serdisplib _nach_ dem einlesen des skins erfolgt. da ist es dann aber schon zu spaet da der skin bereits mit 240x320 initialisiert worden ist. ist aber jetzt nur ein verdacht, der nicht verifiziert ist.


    Keine_Ahnung
    das mit dem pfad spinnt in der tat. hab aber noch nicht wirklich eine idee warum. bin dem ganzen aber zumindest auf der spur ( mit file('{ConfigPath}......') tuts zumindest bei mir jetzt etwas, aber auch noch nicht korrekt (aber zumindest das default-logo wird jetzt angezeigt bei mir).


    /wastl

  • Der GLCDprocDriver http://www.muresan.de/graphlcd/lcdproc/ geht jetzt auch nicht mehr. Lohnt es sich den Author mal anzuschreiben oder ist das alles eh noch im Fluss und das lohnt jetzt noch nicht?


    Und das leidige Thema WarEagle Icons ;) Die gehen jetzt nicht mehr (habe den passenden Font gewählt), aber dafür die Umlaute. Ich habe der VDR 1.6 unter UTF-8.
    Wobei ich das Problem nicht verstehe, ob nun normales Zeichen, Umaut oder Icon, es sind doch alles nur normale Zeichen des Zeichensatzes, die Icons brauchen doch überhaupt keine Sonderbehandlung.



    Desweiteren scheinen Objekte jetzt zwangsweise ihren Hintergrund malen zu wollen, gehört das zu den bereits erwähnten bekannten Problemen?


    Hier sieht man ja das der Balken vom Hintergrund des unteren Menupunktes überschrieben wird (ich hab schon alle möglichen Varianten durchprobiert). Mir ist schon klar das sich die Punkte überlappen, aber das ist gewollt (weil nur so passt das von der Aufteilung perfekt).

    Code
    <list x1="0" x2="239" y1="15" y2="114" condition="or({ButtonRed},{ButtonGreen},{ButtonYellow},{ButtonBlue})">
    			<item height="FontLineHeight('FontMenuItem')"/>
    			<rectangle x1="0" x2="239" y1="0" height="FontTotalHeight('FontMenuItem')" bgcolor="white" color="black" filled="yes" condition="{IsMenuCurrent}"/>
    			<text x1="0" x2="239" y1="0" height="FontTotalHeight('FontMenuItem')" bgcolor="black" color="white" font="FontMenuItem">
    				{MenuCurrent}
    			</text>
    			<text x1="0" x2="239" y1="0" height="FontTotalHeight('FontMenuItem')" bgcolor="white" color="black" font="FontMenuItem">
    				{MenuItem}
    			</text>
    		</list>


    cu


    PS: Scheint so als wäre ich der einzige (ausser dir) der sich an Skins versucht. Ich fühle mich hier gerade so alleine mit meinen Problemen ;)


    PPS: Toll das das Display jetzt die Fehlermeldungen des Skin Parsers anzeigt, das vereinfacht einiges.

  • @ wastl,


    ivh habe mal ein ebuild für serdisplib-1.98.x gebaut und wollte "experimental" als USE-Flag einbauen.
    Leider aber scheint das "/server/Makefile" einen Bug zu haben.
    Es geht nur wenn ich es wie folgt ändere:



    Könntest Du das evtl. bitte im git ändern?


    [...] PS: Scheint so als wäre ich der einzige (ausser dir) der sich an Skins versucht. Ich fühle mich hier gerade so alleine mit meinen Problemen ;) ....


    Nun, ich bin wirklich nicht der Profi, was das Erstellen von Skins angeht, wererr mich aber auch einmal daran versuchen.
    Außerdem glaube ich, dass wohl nicht allzu viele User ein L4M320T haben....


    BTW:
    Wie erstellst Du den die tollen Screenshots von dem LCD?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!