[ANNOUNCE] TouchTFT 0.0.3

  • Das beenden des Threads in ::Housekeeping() war mal in einer Variante von Frank enthalten. Das sollte im endgültigen Archiv nicht mehr drin sein. Ich schaue mal, ob ich ggf. da Archive verwechselt habe beim upload, auch das mit den Debug-Settigns im Setup meine ich eigentlich noch gefixt zu haben...


    Lars

  • frank-km


    bei mir sieht das ok aus
    check mal deine fonts verzeichnis im pluginverzeichnis


    Enigma.ttf
    EnigmaBd.ttf
    Vera.ttf
    VeraBI.ttf
    VeraBd.ttf
    VeraIt.ttf
    VeraMoBI.ttf
    VeraMoBd.ttf
    VeraMoIt.ttf
    VeraMono.ttf
    VeraSe.ttf
    VeraSeBd.ttf


    mein vdr (1.4.4) ist ein klein wenig modifiziert


    vdr-1.4.3.plain-menu-column.diff (gehört zu graphtft)
    vdr-1.4.0-3-liemikuutio-1.5.diff
    vdr-wareagle-icons+setup-1.3.22.diff

  • Hallo IG88,


    Danke - mir fehlen offenbar einige Fonts - kannst Du die Fonts an uns posten???


    Gruß Frank


    @ ALL


    Convert isoUtf8 MUSS auf YES stehen - dann werden Strings mit Umlauten richtig dargestellt, UND dann ist meine bisher offene Frage 3 GELÖST
    """
    3. graphTFT: Menue | Channels sind mit Thema Blue/ Deep Blue bei mir nicht lesbar (Menue | Recordings sind zwar blass, aber immerhin lesbar ???) :streichel
    """


    Gruß Frank
    :n8

  • Quote

    Original von LarsAC
    Das beenden des Threads in ::Housekeeping() war mal in einer Variante von Frank enthalten. Das sollte im endgültigen Archiv nicht mehr drin sein. Ich schaue mal, ob ich ggf. da Archive verwechselt habe beim upload, auch das mit den Debug-Settigns im Setup meine ich eigentlich noch gefixt zu haben...
    Lars


    ja, scheint das falsche Archiv zu sein, erklärt dann auch warum ::Housekeeping() in der 0.0.4 welche ich vor ein paar Wochen runtergeladen habe nicht enthalten ist.


    horchi

  • IG88 , horchi und LarsAC,


    besten Dank für Eure Hilfe - ich denke, dass ich mein Testsystem nun auch mit touchtft/ graphLCD -- nach weiteren <N> Arbeitsstunden -- perfekt zum Laufen bekommen werde. Dazu werde ich ein Test-Theme erzeugen, mit dem ich anhand der äußersten Ecken des TFT die genauen Feineinstellungen vornehmen kann.


    Hier ein paar Vorschläge an LarsAC:
    1. Definiere doch in Setup, dass man die Kalibrierung im Urzeigersinn vornehmen muss., binde eine Plausiblilitätsprüfung in den Code ein
    2. Ein reines Testthema (leerer Screen mit mindestens vier Touch-Buttons - ol, or, ur, ul und zwei x/y Lineale währe sinnvoll - mit diesem könntest Du viel genauer die Koordinten 0,0 abfragen und die genauen Dimensionen des TFT ermitteln. (ggf. 12 Touchpunkte - d.h. 3x4 Punkte - d.h. drei pro Ecke).
    3 Unterdrücke die Einbindung von mouse<y> in die Handlers via Setup.


    horchi und LarsAC,
    Aus meiner Sicht ist die User-Dokumentation wirklich verbesserungswürdig und ein Link zum wirklich aktuellen tochtft-Plugin währe wünschenswert.


    Bin gerne bereit an der Doku und an weiteren Tests mitzuarbeiten.


    @ALL,
    Heute habe ich die ersten eigenen touch-Buttons angelegt - das Thema ist wiklich für jeden Geschmack anpassbar!!!!!!. - EINFACH GENIAL...


    Gruß Frank

  • Hallo,


    Im Moment verwende ich touchtft-0.0.3.


    gute Nachrichten: touchtft läuft jetzt perfekt.


    Meine starke Vermutung: Calibrate hat immer (bei beiden Versionen) mit Debug=2 nicht funktioniert. Habe u.a. bei Calibrate Debug auf 0 gestellt. Nun gehen alle Buttons präziese.


    EDIT: nun ist nur noch Problem 1 offen:
    1. remove mouse1 von den Handlers


    Gruß Frank

  • frank-km : kannst Du mir ein Gefallen tun und bitte Deine aktuellen touchtft settings posten? Habe auch das TM-868 anscheinend mit anderer FW. Jedenfalls touched der hier auch ganz wild durcheinander :)


    Lars : Was mir auch noch aufgefallen ist bei der 0.0.4 ist, dass ich in den Settings das Event nicht ändern kann. Beim Versuch einer Änderung springt der Text wieder nach vorne und ich muss blind ändern. So oder so entsteht dabei auch immer eine korrupte Einstellung.


    Noch ein Vorschlag: Es wär gut, wenn das Event nicht gleich default auf event3 stehen würde und gleich versucht wird es anzusprechen. Am besten wär ein leeres Feld und in dem Fall kein öffnen des events. So dass man erst einmal in den Settings das Event einstellen muss.
    Hintergrund ist, dass bei vielen usern ein anderes Event benötigt wird und nicht alle Events entsprechende user Rechte besitzen, bzw idealerweise VDR nicht als root läuft. In solch einem Fall startet VDR nämlich nicht und man kann das Event nur manuell in der setup.conf einstellen. Ist halt doof wenn man ein Paket bauen will und nach Installation der VDR nicht mehr startet.
    Wie z.B. bei der kürzlich von Tobi debianisierten Version geschehen.


    Gibt es eigentlich eine Möglichkeit das Event so anzulegen, dass es gleich einer entsprechenden Gruppe angehört?
    Das framebuffer device gehört ja z.B. auch gleich der Gruppe video (debian). Oder wird da auch nur irgendwo ein schnödes chmod beim booten gemacht?

    VDR1: AMD Sempron 2200+, KT600-A, 2TB HDD, TT DVB-T 1.2, 2x Avermedia AverTV DVB-T 771, Debian Linux etch 2.6.21.4 (ct4), VDR 1.4.7-2 (Tobi/TomG), touchTFT, atmo, Wakü

    VDR2: Intel Celeron Core 440, P5VD2-X, 2.5TB HDD, TT DVB-S 1.5, 3x Avermedia AverTV DVB-T 771, Debian Linux etch 2.6.25.10 (ct6.1), VDR 1.6.0-6 (Tobi/TomG), touchTFT

  • Hi Strider,


    hier meine Einstellungen:
    1.) echo "Y" > /sys/module/touchkitusb/parameters/swap_xy


    2.)
    touchtft.DumpImage = 0
    touchtft.DumpImageX = 720
    touchtft.DumpImageY = 576
    touchtft.DumpRefresh = 5
    touchtft.DvbRefresh = 20
    touchtft.entprell_ms = 20
    touchtft.HideMainMenu = 1
    touchtft.Iso2Utf = 1
    touchtft.Level = 0
    touchtft.Logger = 3
    touchtft.maxtouchcount = 1
    touchtft.OSDMessageTime = 30
    touchtft.OSDOffsetX = 50
    touchtft.OSDOffsetY = 400
    touchtft.realx = 720
    touchtft.realy = 576
    touchtft.RefreshTimeInSeconds = 2
    touchtft.ShowMutePermanent = 1
    touchtft.Theme = 0
    touchtft.TouchDevice = /dev/input/touchscreen
    touchtft.UseStillPicture = 1
    touchtft.VdrHeight = 5
    touchtft.VdrWidht = 25
    touchtft.VdrX = 0
    touchtft.VdrY = 0
    touchtft.xmax = 127
    touchtft.xmin = 1907
    touchtft.ymax = 130
    touchtft.ymin = 1726


    3.)graphtft.DumpImage = 0
    graphtft.DumpImageX = 720
    graphtft.DumpImageY = 576
    graphtft.DumpRefresh = 5
    graphtft.DvbRefresh = 350
    graphtft.HideMainMenu = 0
    graphtft.Iso2Utf = 1
    graphtft.JpegQuality = 50
    graphtft.Level = 0
    graphtft.LogDevice = 3
    graphtft.OSDMessageTime = 5
    graphtft.OSDOffsetX = 0
    graphtft.OSDOffsetY = 0
    graphtft.ScrollCount = 0
    graphtft.ScrollTime = 50
    graphtft.ShowMutePermanent = 1
    graphtft.SpectrumAnalyzer = 0
    graphtft.Theme = DeepBlue
    graphtft.UseStillPicture = 0
    graphtft.VdrHeight = 0
    graphtft.VdrWidht = 23
    graphtft.VdrX = 0
    graphtft.VdrY = 0
    graphtft.ViewLength = 40
    graphtft.ViewType = 0


    -----------------------------------


    Bezüglich der Zuordnung des input Devices rufe ich in runvdr folgende Funktion auf:


    proparetouchscreen()
    (
    echo "Preparing Touchscreen"
    rm /dev/input/touchscreen 2>/dev/null
    /usr/bin/evrouter -D /dev/input/event* 2>/dev/null | grep Touchscreen | cut -f 2 -d ":" | xargs -i -t ln -s {} \ /dev/input/touchscreen
    echo "Y" > /sys/module/touchkitusb/parameters/swap_xy
    )


    Diese Funktion wird dann am Anfang der while (true) do - Scheife aufgerufen


    Gruß Frank

  • In der Page http://wormhole.homelinux.com/TouchTFT/TouchTFT.html sind noch zwei buggy Links:
    http://home.arcor.de/franksimonbs/TouchTFT/Theme
    http://home.arcor.de/franksimo…vdr-touchtft-0.0.4.tar.gz


    Vorschlag:
    Erwähne doch bitte noch die Konfiguration bzgl.
    TM.868:
    echo "Y" > /sys/module/touchkitusb/parameters/swap_xy


    Gruß Frank

  • Habt ihr das TM868 denn nun erfolgreich zum Laufen gebracht?


    Ich habe leider immer noch Probleme und es touched nicht richtig.


    Es gibt beim Blue Theme genau einen Punkt von ca 2x2 mm auf dem touched was - und zwar mal channel up, mal down... nicht wirklich nachvollziehbar.


    Logging kann ich leider vergessen, da bei Versuch zu touchen immer ein neuer Filehandle für's logfile geöffnet wird bis nach wenigen Sekunden die File descriptoren aufgebraucht sind (too many open files). Unabhängig davon wird auch nichts in's Log geschrieben bis auf das Parsen der config Einträge.


    Laut evtest funktioniert alles bestens, auch die Werte entsprechen denen von Frankman.


    VDR ist 1.4.6
    vdr-plugin-graphtft 0.0.16
    vdr-plugin-touchtft 0.0.4


    Jemand ne Idee?

    VDR1: AMD Sempron 2200+, KT600-A, 2TB HDD, TT DVB-T 1.2, 2x Avermedia AverTV DVB-T 771, Debian Linux etch 2.6.21.4 (ct4), VDR 1.4.7-2 (Tobi/TomG), touchTFT, atmo, Wakü

    VDR2: Intel Celeron Core 440, P5VD2-X, 2.5TB HDD, TT DVB-S 1.5, 3x Avermedia AverTV DVB-T 771, Debian Linux etch 2.6.25.10 (ct6.1), VDR 1.6.0-6 (Tobi/TomG), touchTFT

  • Hi frank-km,


    du hast Recht, bei mir gibt es kein "/sys/module/touchkitusb/parameters/swap_xy", dafür aber "/sys/module/usbtouchscreen/parameters/swap_xy". Das setze ich jetzt immer auf "Y".


    Ich mache das ganz genauso wie Du es mir empfohlen hattest, also mit erweiterter runvdr.


    Das Logging bekomm ich nun auch hin, lasse eifnach in das syslog schreiben, dann klappt das auch - und es passiert jede Menge. Nur werden keine Funktionen ausgelöst. Übersehe ich da nch irgendwas? Benötige ich etwa noch eine spezielle remote.conf?


    Mein Koordinatenursprung ist unten rechts und liegt mit "evtest" ermittelt bei
    x=91, y=117 - rechts oben ist maximal dann: x=1957 y=1947.


    Ist es richtig, dass in den Einstellungen min und max vertauscht sind wegen dem Koordinationursprung links unten? Also:


    touchtft.xmax = 91
    touchtft.xmin = 1957
    touchtft.ymax = 117
    touchtft.ymin = 1947


    Na jedenfalls habe ich Deine Settigns probiert und auch meine eben genannten... nur passieren tut nix.. im log file aber jede Menge... ich nutze zum Testen das original "Blue" Theme und noch nicht das DeepBlue.


    Ein touch in die Mitte des P+ buttons ergibt:



    P- ergibt:


    Im Setup des touch-tft plugins gibt es übrigens auch ein SWAP_XY. evtl. macht es ja das Stellen in den Modul-Parametern obsolete.
    Jedenfalls ändert das Aktivieren auch nix, die Koordinaten im logfile sind auch immer die selben.


    Hier mal meine settings:



    graphtft Einstellungen habe ich 1:1 die von Dir übernommen, bis auf's Theme.


    Was bringt eigentlich das Kalibrieren? Danach ändern sich bei mir keine Werte in der setup.conf... denk ich zumindest.


    Hier noch die Ausgabe der 4 Koordinaten beim Kalibrieren:



    Danke schon mal.

    VDR1: AMD Sempron 2200+, KT600-A, 2TB HDD, TT DVB-T 1.2, 2x Avermedia AverTV DVB-T 771, Debian Linux etch 2.6.21.4 (ct4), VDR 1.4.7-2 (Tobi/TomG), touchTFT, atmo, Wakü

    VDR2: Intel Celeron Core 440, P5VD2-X, 2.5TB HDD, TT DVB-S 1.5, 3x Avermedia AverTV DVB-T 771, Debian Linux etch 2.6.25.10 (ct6.1), VDR 1.6.0-6 (Tobi/TomG), touchTFT

  • Hi Strider,


    als erstes sollten wir prüfen, ob wir identische Devices haben:
    Ich habe Hardware von www.pollin TM-868 (2 Monate alt)


    Ohne vertauschen der x/y Achse, dh mit
    echo "N" > /sys/module/touchkitusb/parameters/swap_xy


    liefert dann
    evtest /dev/input/touchscreen für
    oben rechts
    Event: time 1176287392.192345, type 1 (Key), code 330 (Touch), value 1
    Event: time 1176287392.192347, type 3 (Absolute), code 0 (X), value 134
    Event: time 1176287392.192348, type 3 (Absolute), code 1 (Y), value 103
    unten links
    Event: time 1176287845.829478, type 3 (Absolute), code 0 (X), value 1911
    Event: time 1176287845.829479, type 3 (Absolute), code 1 (Y), value 1697


    Mit
    echo "Y" > /sys/module/touchkitusb/parameters/swap_xy
    liefert bevtest bei mir
    oben rechts:
    Event: time 1176287909.258450, type 3 (Absolute), code 0 (X), value 122
    Event: time 1176287909.258451, type 3 (Absolute), code 1 (Y), value 127
    unten links:
    Event: time 1176287930.918685, type 3 (Absolute), code 0 (X), value 1712
    Event: time 1176287930.918686, type 3 (Absolute), code 1 (Y), value 1901


    Ist das bei Dir auch in etwa so?


    mit Y in swap_xy liefert unten rechts bei mir:
    Event: time 1176288220.040412, type 3 (Absolute), code 0 (X), value 1709
    Event: time 1176288220.040413, type 3 (Absolute), code 1 (Y), value 137
    (Das ist der Punkt warum ich die Fragen stelle - hier ist der Unterschied !!!)



    Das Kalibrieren über setup/plugins ... funktioniert aus meiner Sicht nicht.
    Edit:
    teste mal mit:
    touchtft.xmax = 1957
    touchtft.xmin = 91
    touchtft.ymax = 1947
    touchtft.ymin = 117
    /Edit



    Gruß Frank

  • Hi frank-km,


    ich habe auch ein TM-868, habe ich aber gebraucht gekauft.
    Laut Rechnung ist es 16 Monate alt.


    Ich nutze kernel 2.6.20.1, als Treiber lade ich evdev und touchkitusb.


    Der touchkitusb Treiber ist bei mir aber wohl etwas anders als bei mir.


    Bei mir gibt es wie gesagt kein
    /sys/module/touchkitusb/parameters/swap_xy, dafür aber
    /sys/module/usbtouchscreen/parameters/swap_xy.
    Scheint aber genauso zu funktionieren.


    cat /proc/bus/input/devices

    Code
    1. I: Bus=0003 Vendor=0eef Product=0001 Version=0100
    2. N: Name="eGalax Inc."
    3. P: Phys=/input0
    4. S: Sysfs=/class/input/input4
    5. H: Handlers=event4
    6. B: EV=b
    7. B: KEY=400 0 0 0 0 0 0 0 0 0 0
    8. B: ABS=3


    Hier meine Vergleichswerte:



    Hier nun aber unten rechts:



    Das ist anders als bei Dir. Demnach müsste ich ja kein swap machen.
    Es geht aber weder mit noch ohne swap.


    Gruß, Strider.

    VDR1: AMD Sempron 2200+, KT600-A, 2TB HDD, TT DVB-T 1.2, 2x Avermedia AverTV DVB-T 771, Debian Linux etch 2.6.21.4 (ct4), VDR 1.4.7-2 (Tobi/TomG), touchTFT, atmo, Wakü

    VDR2: Intel Celeron Core 440, P5VD2-X, 2.5TB HDD, TT DVB-S 1.5, 3x Avermedia AverTV DVB-T 771, Debian Linux etch 2.6.25.10 (ct6.1), VDR 1.6.0-6 (Tobi/TomG), touchTFT

  • Hi Strider,


    teste doch mal mit folgenden Werten (bitte bei nichtlaufendem VDR z.B. mit vi ändern)


    (d.h. max/min jeweils vertauscht):
    touchtft.xmax = 1957
    touchtft.xmin = 91
    touchtft.ymax = 1947
    touchtft.ymin = 117


    BTW:
    cat /proc/bus/input/devices liefert bei mir u.a.:
    I: Bus=0003 Vendor=0eef Product=0001 Version=0100
    N: Name="USB Touchscreen 0eef:0001"
    P: Phys=/input0
    S: Sysfs=/class/input/input5
    H: Handlers=mouse1 event5
    B: EV=b
    B: KEY=400 0 0 0 0 0
    B: ABS=3


    evdev habe ich im Kernel, d.h. nicht als Modul geladen, verwende auch touchkitusb


    Gruß Frank
    :n8

  • Hi Frank,


    achja - die vertauschten Werte hatte ich auch noch probiert. Leider ohne Erfolg.


    /proc/bus/input/devices sieht ja bis auf den Namen ziemlich gleich aus.


    Es scheint aber schon unterschiede zwischen unseren beiden TFTs zu geben, die Werte gehen ja auch teils schon ein Stück auseinander.


    Das sollte aber egal sein, weil Koordinaten und Touch events kommen ja sauber.


    Wird mir am Ende nur übrigbleiben den Source selber zu übersetzen und weiteres debugging einzubauen.


    Das ist ja das komische, ich habe ja schon einiges ausprobiert und bin ja auch kein Anfänger, dennoch funktioniert's nicht.
    Na vieleicht habe ich am WE ja Zeit, dann werde ich das plugin mal auseinander nehmen.


    Dank Dir jedenfalls für den Support.


    Gruß, Strider.

    VDR1: AMD Sempron 2200+, KT600-A, 2TB HDD, TT DVB-T 1.2, 2x Avermedia AverTV DVB-T 771, Debian Linux etch 2.6.21.4 (ct4), VDR 1.4.7-2 (Tobi/TomG), touchTFT, atmo, Wakü

    VDR2: Intel Celeron Core 440, P5VD2-X, 2.5TB HDD, TT DVB-S 1.5, 3x Avermedia AverTV DVB-T 771, Debian Linux etch 2.6.25.10 (ct6.1), VDR 1.6.0-6 (Tobi/TomG), touchTFT