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

  • /etc/vdr/plugins/plugin.graphlcd.conf:


    Code
    -c /etc/graphlcd.conf -d serdisp


    /etc/graphlcd.conf:


    Code
    [serdisp]
    Driver=serdisp
    Device=HID:/dev/usb/hiddev0
    #Device=USB:4243/ee08
    Controller=l4m132c
    BGColour=0x000000
    FGColour=0xFFFFFF
    POSTOFFMODE=1
    CONTRAST=3
    #Options=PARANOIA=off

    VDR: yavdr-ansible/22.04 LTS auf Intel NUC (BOXNUC6CAYH), 2x Kingston KVR16LS11/4, One For All URC 2981

    VDR-Server: yavdr-ansible/22.04 LTS in ESXi VM

    2 Mal editiert, zuletzt von urknall ()

  • Hi!


    Hatte noch keine Zeit mich einem speziellen Skin für das Display zu widmen.
    Aber so schlecht sieht der Default Skin auf dem Display auch wieder nicht aus,
    klar steckt da noch Optimierungspotential :)

    VDR: yavdr-ansible/22.04 LTS auf Intel NUC (BOXNUC6CAYH), 2x Kingston KVR16LS11/4, One For All URC 2981

    VDR-Server: yavdr-ansible/22.04 LTS in ESXi VM

  • hi,
    ich versuche grad den tochcol.skin an mein 128x64 glcd Display anzupassen. Die 128er Werte hab ich schon auf 65 runtergesetzt, der Skin wird aber immer noch zu groß angezeigt...so wirklich hab ich keinen Plan wo ich noch "drehen" muß. Die Darstellung vom Menu passt, nur das "Hauptbild" ist zu groß und der Sendernahme wird "verwischt"angezeigt.
    lola hat da mal Bilder gepostet, wäre das mit dem Skin umsetzbar?



    Gruß,
    leon357

    Test-yaVDR:Foxconn 6627MA;Intel Celeron E1200;2x512MB DDR2 Elixir;8400GS;-Skystar HD;Cyberlink FB;GLCD2USB 128x64(dank naicheben);Gehäuse=Bastelware

  • naehere erlaeuterungen? fotos?
    damit vielleicht andere einen 'plan' davon haben koennen, wo's spiesst?


    screenshots kann man btw. bequem via sdl-treiber machen:
    einfach in graphlcd anhaengen:


    Code
    [test_sdl]
    Driver=serdisp
    Device=out:
    Controller=sdl
    Options=depth=1;width=128;height=64


    und dann "test_sdl" verwenden bei -d

  • das mit dem Screenshot hat nicht so geklappt wie ich wollte...oder ich habs nicht gerafft :wand


    [Blockierte Grafik: http://www.bilder-hochladen.net/files/jlg2-3-eccb.jpg] [Blockierte Grafik: http://www.bilder-hochladen.net/files/jlg2-1-c4ca.jpg] [Blockierte Grafik: http://www.bilder-hochladen.net/files/jlg2-4-a87f.jpg]


    sorry, wenn die Bilder zu groß sind.. wie gesagt, ich hab am Skin nur die werte auf 65 runtergesetzt. Vom Design aus den Link im letzte Post bin ich noch weit weg.


    Auch wenn es Offtop ist, sollte das Display nicht vom Treiber oder vom Plugin abgeschalten werden, oder ist das vom Display abhängig? Es bleibt leider beim runterfahren immer an und leuchtet munter ohne Anzeige vor sich hin. Das konnte ich zwar im Shutdown bzw in der s3.conf lösen aber interessiern würde es nich trotzdem.


    cu

  • der touchcol-skin ist auch nicht wirklich auf skalierbarkeit ausgelegt sondern zieml. auf 320x240 hingearbeitet. sieht man auch an den einander ueberlappenden schriftzuegen.
    am besten, du nimmst dir den default-skin als grundlage. der sollte viel besser skalieren.


    sdl: da wird dann nicht auf ein physikalisches display ausgegeben, sondern auf der x11-oeberflaeche ein SDL-fenster aufgemacht, welches man dann mit einem screenshot-programm (z.b. ksnapshot) 'abfotografieren' kann. beispiele gibt es in diesem thread einige (fast alle bilder von mir).

  • news (graphlcd-base):

    • Image/GraphicsMagick: use much more relieable sample() instead of scale() for scaling images:
      problems with distorted scaled icons/images or other display errors should now be history.
    • monochrome images: fix monochrome bug in imagefile.c:
      bgcolor and color should be working again for monochrome icons/symbols
    • improved relieability of eq()/ne()/gt()/lt()/ge()/le() if comparing 'mixture' of string / bool / value
    • fixed a bug which could lead to an infinite loop under rare circumstances (if a content part contains a spare # without a variable name)
    • permit and evaluate $( )$ expressions to enable direct embedding of functions in the content part of elements such as <text/>:
      eg: <text>$(add(#SomeVar,#SomeOtherVar))$</text>
      attention: $()$ is not verified (yet) when parsing the skin. if it contains syntactical errors, the unprocessed term will be displayed at runtime.
    • clang can now be used instead of g++.
      'CXX=clang make' now compiles the whole graphlcd-base using clang.
    • added support for fontconfig font name representations:
      eg.: <font id="FontInfo" url="fc:Sans Serif:bold:size=12"/>
      attention: specifying a size term (eg. 'size=12') is mandatory!

    news (vdr-plugin-graphlcd):

    • fixed a bug that has been introduced in a former update and rendered some services unusable
  • hallo wastl


    kannst du mir helfen das hier in den standard umzuschreiben


    ich habe kein 372 sondern 355 und 352. und die funzen nicht mit dem treiber. ich hab mir was aus der windowswelt zusammen gesucht und das geht auch. aber den patch immer mitschleppen is doof


    als wireing habe ich das windows kabel geloetet.


    danke



    vg mentox


  • du verwendest ja dieses wiring:

    Code
    Strobe (01)   nWR   (17)   (Write)
    nSEL   (17)   R/S   (19)   (Register Select, C/D)
    Line	(14)   nRD   (21)   (Read)


    dann bitte auf das aendern des folgenden abschnittes beschraenken:

    Code
    const unsigned char kWindowsWRHI = 0x00; // 01 / nSTRB
    const unsigned char kWindowsWRLO = 0x01; //
    const unsigned char kWindowsRDHI = 0x00; // 14 / nLINEFEED
    const unsigned char kWindowsRDLO = 0x02; //
    const unsigned char kWindowsCDHI = 0x00; // 17 / nSELECT
    const unsigned char kWindowsCDLO = 0x08; //


    (da brauchts dann auch keine mask. mit ein bisschen bool'scher algebra sollten die zeilen oben leicht angepasst werden koennen)
    und deine version benoetigt noch eine zusaetzliche zusaetzliche signalschaltung (port->WriteControl() + nSleep())


    der GU256X64_372-treiber ist leider noch immer nicht verifiziert ob er funktioniert nach der touchcol-umstellung .. (wenn er von keinem vermisst wird, wandle ich ihn in einen 355er um ...)
    ich kann leider weder noch (372 vs. 355) testen (habe nur ein paar gu128x18 oder so herumliegen die noch auf ansteuerung warten ...)



    nachtrag:


    eigentlich sollten 372 und 355 zueinander kompatibel sein (lt. div. beitraegen im netz). kann es sein, dass du ein etwas laengeres kabel + schlechte abschirmung hast, so dass dein display die etwas schnellere ansteuerung (mit 3 statt 4 pegelschaltungen) nicht vertraegt? (ist nur geraten, aber ich habe ja selber schon viel mit solchen signalansteuerungen herumgespielt und da haengt es immer wieder mal von kabellaenge/schirmung/... ab).

  • danke schon mal


    schirmung. keine vorhanden. ist flachbandkabel.
    länge ca 30 cm


    ich habe aus faulheit nicht alle gnd pins gelötet. sollte ich wohl mal nachziehen


    mit meinen änderungen läufts aber super.


    das touchcol theme ist nur zu gross für das display. aber die animationen usw sieht nett aus ;)

  • soo alle gnd verbunden. jetzt ist nur noch 25 und 26 frei bzw nicht verdrahtet


    keine aenderung. mit anpassung gehts. ohne nicht.


    wie loese ich denn die maske auf?




    vg mentox

  • hab das ganze mal am papier durchgespielt (testen kann ich wie gesagt das ganze nicht an einem display).


    so wie's im bestehenden code fuer das windows-wiring definiert ist, kann's gar nicht gehen.


    eventuell reicht eine kleine aenderung, und es sollte funktionieren (nicht vergessen: im graphlcd.conf Wiring=Windows setzen bei [gu256x64-372]):


    alt:

    Code
    const unsigned char kWindowsWRHI = 0x00; // 01 / nSTRB
    const unsigned char kWindowsWRLO = 0x01; //
    const unsigned char kWindowsRDHI = 0x00; // 14 / nLINEFEED
    const unsigned char kWindowsRDLO = 0x02; //
    const unsigned char kWindowsCDHI = 0x00; // 17 / nSELECT
    const unsigned char kWindowsCDLO = 0x08; //


    neu:

    Code
    const unsigned char kWindowsWRHI = 0x00; // 01 / nSTRB
    const unsigned char kWindowsWRLO = 0x01; //
    const unsigned char kWindowsRDHI = 0x02; // 14 / nLINEFEED
    const unsigned char kWindowsRDLO = 0x00; //
    const unsigned char kWindowsCDHI = 0x00; // 17 / nSELECT
    const unsigned char kWindowsCDLO = 0x08; //


    (es werden nur die definitionen fuer RDLO und RDHI ausgetauscht. denn die koennen im vorliegenden code nicht stimmen. nehme an, dass der urspruengliche entwickler ausschliesslich mit standard-wiring getestet hat.)


    ist dann zwar immer noch nicht sauber (eigentlich gehoeren bei den signalfolgen RDHI und RDLO ausgetauscht, aber das mache ich dann, wenn positive rueckmeldung von dir kommt.


    bitte testen!

  • JuhUUUUU es geht ...


    Super ...


    Dürfte ich fragen wie genau du das ausgerechnet hast .. da würde ich gerne noch zulernen.


    grüße mentox


    mein patch

  • naja. die maske invertiert ja nur die signale. und davon gibt es in diesem fall 3 (/RD, /WR, C/D). die maske ist mit 11 angegeben = 1011. die null kannst du ignorieren, da parport 16 (INIT) nicht verwendet wird => mask = 1#11


    und damit kannst du dann genauso die 6 HI/LO-folgen wie im originalcode hinbasteln.


    warum das mit RDHI bzw. RDLO nicht funktioniert hat:
    /RD (oder auch nRD geschrieben) ist active low (heisst, dass RD aktiv ist, wenn es auf 0 gesetzt ist. der parport invertiert auf pin 14 aber ebenfalls (weil auch dieser active low ist) -> dh will man, dass NICHT vom display gelesen wird (RD also nicht aktiv ist), muss man im code RD auf 0 setzen. RD = 0, parport pin 14 macht 1 daraus, 1 heisst: RD ist nicht aktiv.
    weil aber RD im originalcode auf 1 gesetzt worden ist, konnte dein display mit windows-wiring nicht funktionieren, da dem display dadurch mitgeteilt worden ist: bitte vom display etwas auslesen!
    beim standard-wiring ist dieser fehler deshalb nicht aufgefallen, weil sowohl RDHI als auch RDLO mit 0x00 definiert sind ...


    anmerkung (der vollstaendigkeit halber):
    eigentlich ist die beruecksichtigung von RD im code ohnedies ueberfluessig, da es sich sowieso nie aendert bei der ganzen ansteuerung. es wuerde daher ausreichen, RD 'hardwired' auf high zu ziehen (= direkt mit +5V (via vorwiderstand) zu verbinden). dann wuerde man mit 2 anzusteuernden signalleitungen im code auskommen ...
    aber die 2 wirings haben sich nun mal so eingebuergert ...

  • danke dir. bis auf warum die 0 init ist konnte ich es nachvollziehen. hihi.


    nimmst du das mit ins git auf? waere sehr cool. teste auch gerne mal nen git für dich wenns mit oder um das gu256x64 geht




    vg mentox

  • läuft hier im windows wireing astrein.


    baue mir auch gerade ein skin der von weitem gut lesbar ist. aber stark auf das display optimiert. sammeln wir die irgendwo?



    [Blockierte Grafik: http://img.tapatalk.com/59b60d3b-6172-8433.jpg]



    vg mentox

  • wenn du mit den fonts in plugins/graphlcd/fonts auslangen findest: fein, ansonsten noch ein wenig warten (moechte in der doku noch ein paar fontconfig-beispiele inkl. moeglichkeiten fuer fall backs usw. hineinschreiben).


    den skin bitte nicht nach dem treiber benennen (ein spezialisierter 256x64-skin wird auch fuer andere displays interessant sein). 'mentox' oder so wuerde sich anbieten. ausser du hast vor, meherer skins zu entwerfen :)


    den skin entw. irgendwo downloadbar machen oder mir mailen. ich werde ihn dann ins GIT werfen (muss aber vorher noch ein paar dinge bereinigen (zb. symbols aus der skin-definition wegbringen)).

Jetzt mitmachen!

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