... siehe erster Post im Thread...
TouchTFT-Plugin: Lassen wirs raus...
- Frankman
- Geschlossen
-
-
Hallo,
neues Release gebaut und Minit-Howto gelesen.Das Theme wird angezeigt. Tja, wenn ich jetzt das Touch-Plugin im Setup konfigurieren möchte passiert folgendes....genauer, wenn ich im Setup-Menue die Plugins aufrufe schmiert der VDR vollständig ab:
Code
Alles anzeigenJun 28 16:37:47 elwms01 runvdr: restarting VDR Jun 28 16:37:47 elwms01 kernel: saa7146: unregister extension 'dvb'. Jun 28 16:37:47 elwms01 kernel: cf9834a4 Jun 28 16:37:47 elwms01 kernel: Modules linked in: ipv6 lp smbfs af_packet w83627hf hwmon_vid hwmon i2c_isa lirc_serial lirc_dev dvb_bt8xx nxt6000 mt352 dvb_pll sp887x dst_ca dst cx24110 or51211 lgdt330x pcspkr nvram capability commoncap touchkitusb tkusb eth1394 joydev evdev usbmouse usbhid usbkbd psmouse serio_raw bt878 dvb_ttpci l64781 saa7146_vv saa7146 v4l1_compat ves1820 stv0299 tuner dvb_core parport_pc parport snd_atiixp snd_ac97_codec tda8083 stv0297 sp8870 ves1x93 8139too bttv video_buf v4l2_common btcx_risc tveeprom snd_ac97_bus ohci1394 ieee1394 ttpci_eeprom mii videodev snd_pcm snd_timer snd ohci_hcd soundcore ati_agp agpgart shpchp pci_hotplug snd_page_alloc ehci_hcd usbcore radeonfb Jun 28 16:37:47 elwms01 kernel: CPU: 0 Jun 28 16:37:47 elwms01 kernel: EIP: 0060:[<cf9834a4>] Not tainted VLI Jun 28 16:37:47 elwms01 kernel: EFLAGS: 00010286 (2.6.15.7) Jun 28 16:37:47 elwms01 kernel: EIP is at av7110_stop_feed+0xd8/0x125 [dvb_ttpci] Jun 28 16:37:47 elwms01 kernel: eax: cf968260 ebx: 00000000 ecx: cf9681c8 edx: ccaf0360 Jun 28 16:37:47 elwms01 kernel: esi: ccaf040c edi: cf9a713c ebp: 00000260 esp: c2643e00 Jun 28 16:37:47 elwms01 kernel: ds: 007b es: 007b ss: 0068 Jun 28 16:37:47 elwms01 kernel: Process vdr (pid: 6022, threadinfo=c2642000 task=c2635550) Jun 28 16:37:47 elwms01 kernel: Stack: 00000004 ccaf040c cf9a713c ccd9e49c c420fd80 cf927e43 cf9a713c cf98f1ec Jun 28 16:37:47 elwms01 kernel: ccaf03c0 cf925fc7 cf9a713c cf98f26c cf98f1ec cf92609b cf98f1ec cf98f1ec Jun 28 16:37:47 elwms01 kernel: cf926556 cf98f1ec 00000008 c420fd80 c0146c6e ccaf03c0 cf98f1ec ccacdee8 Jun 28 16:37:47 elwms01 kernel: Call Trace: Jun 28 16:37:47 elwms01 kernel: [<cf927e43>] dmx_section_feed_stop_filtering+0x44/0x6a [dvb_core] Jun 28 16:37:47 elwms01 kernel: [<cf925fc7>] dvb_dmxdev_feed_stop+0x38/0x4a [dvb_core] Jun 28 16:37:47 elwms01 kernel: [<cf92609b>] dvb_dmxdev_filter_stop+0x2d/0x87 [dvb_core] Jun 28 16:37:47 elwms01 kernel: [<cf926556>] dvb_dmxdev_filter_free+0x51/0xbf [dvb_core] Jun 28 16:37:47 elwms01 kernel: [<c0146c6e>] __fput+0x91/0x12b Jun 28 16:37:47 elwms01 kernel: [<c0145826>] filp_close+0x4e/0x57 Jun 28 16:37:47 elwms01 kernel: [<c0116a41>] put_files_struct+0x66/0xa3 Jun 28 16:37:47 elwms01 kernel: [<c011742d>] do_exit+0x18d/0x2e6 Jun 28 16:37:47 elwms01 kernel: [<c0117615>] sys_exit_group+0x0/0x11 Jun 28 16:37:47 elwms01 kernel: [<c011e258>] get_signal_to_deliver+0x25d/0x26d Jun 28 16:37:47 elwms01 kernel: [<c01028df>] do_signal+0x52/0xd6 Jun 28 16:37:47 elwms01 kernel: [<c03678e1>] schedule_timeout+0x74/0x8d Jun 28 16:37:47 elwms01 kernel: [<c011c3ac>] process_timeout+0x0/0x9 Jun 28 16:37:47 elwms01 kernel: [<c0155625>] do_poll+0x91/0xaf Jun 28 16:37:47 elwms01 kernel: [<c01557fb>] sys_poll+0x1b8/0x1c5 Jun 28 16:37:47 elwms01 kernel: [<c0154dcf>] __pollwait+0x0/0x9a Jun 28 16:37:47 elwms01 kernel: [<c010298a>] do_notify_resume+0x27/0x3d Jun 28 16:37:47 elwms01 kernel: [<c0102b4e>] work_notifysig+0x13/0x25 Jun 28 16:37:47 elwms01 kernel: Code: 18 11 00 00 e8 2a fa ff ff 89 c3 5d 85 c0 75 60 31 db 83 bf fc 10 00 00 01 75 55 31 ed c7 04 24 00 00 00 00 eb 3b 8b 46 70 01 e8 <83> 78 74 04 75 27 39 78 38 75 22 c7 40 74 03 00 00 00 8b 46 04 Jun 28 16:37:47 elwms01 kernel: <1>Fixing recursive fault but reboot is needed! Jun 28 16:37:47 elwms01 kernel: ACPI: PCI interrupt for device 0000:02:01.0 disabled Jun 28 16:37:49 elwms01 kernel: saa7146: register extension 'dvb'. Jun 28 16:37:49 elwms01 kernel: ACPI: PCI Interrupt 0000:02:01.0[A] -> Link [LNKF] -> GSI 9 (level, low) -> IRQ 9 Jun 28 16:37:49 elwms01 kernel: saa7146: found saa7146 @ mem cf91ec00 (revision 1, irq 9) (0x13c2,0x000e). Jun 28 16:37:49 elwms01 kernel: DVB: registering new adapter (Technotrend/Hauppauge WinTV Nexus-S rev2.3). Jun 28 16:37:49 elwms01 kernel: adapter has MAC addr = 00:d0:5c:24:f9:c3 Jun 28 16:37:50 elwms01 kernel: dvb-ttpci: info @ card 0: firm f0240009, rtsl b0250018, vid 71010068, app 80f22623 Jun 28 16:37:50 elwms01 kernel: dvb-ttpci: firmware @ card 0 supports CI link layer interface Jun 28 16:37:50 elwms01 kernel: dvb-ttpci: Crystal audio DAC @ card 0 detected Jun 28 16:37:50 elwms01 kernel: saa7146_vv: saa7146 (0): registered device video0 [v4l2] Jun 28 16:37:50 elwms01 kernel: DVB: registering frontend 0 (ST STV0299 DVB-S)... Jun 28 16:37:50 elwms01 kernel: input: DVB on-card IR receiver as /class/input/input4 Jun 28 16:37:50 elwms01 kernel: dvb-ttpci: found av7110-0.
Irgendwie scheint sich das Touch-Plugin mit der Nexus-S bzw. mit den Technotrend-Modulen zu kolidieren!????
Tja, sind jetzt ja 2 Fussballfreie Tage:->>>
Hardware und Software siehe Signature.
Tschau, Karsten.
-
Hallo,
Projekt eingestampft oder Sommerurlaub???Tschau, Karsten.
-
Hallo Frankman!
Erst einmal ist dies Plugin eine tolle Idee, hab nämlich schon länger ein TFT mit Egalax-Touchscreen.
Hab das jetzt zwar kompiliert bekommen (das Makefile ist noch nicht ganz richtig/Apiversion), aber VDR stürzt bei der Bedienung des OSDs ab (keine verwertbare Fehlermeldung).
In cache.h des dfbrenderers fehlen übrigens noch folgende kleine Änderungen aus einem alten Patch:
C
Alles anzeigen[...] #ifndef __GTFT_CACHE_H #define __GTFT_CACHE_H #include <map> #include "common.h" + #include "vdr/tools.h" // template class generic cache template<class K,class D> [...]
und
Code[...] template<class K,class D> inline void DataCache<K,D>::Update(Item *item) { - item->_lastUsed = time_ms(); + item->_lastUsed = cTimeMs::Now(); if (item->_next != NULL || item->_prev != NULL) Unlink(item); [...]
Läßt sich sonst nicht kompilieren.
Der Treiber heißt im aktuellen Kernel (2.6.17) nun "usbtouchscreen".
grüße
ralf
-
Hallo Ralf,
Gott sei Dank.....ich dachte schon ich wäre allein auf weiter Flur:-)Dat mit dem OSD ist wie in meinem vorherigen Post genau das selbe.
Entweder ein Restart des VDR oder ab und an eine vollkommene Kernel-Panic und es hilft nur der harte Weg (Strom aus) zum Ziel.
Versuche das Paket zu Debianisieren und habe schon diverse Änderung z.b API-Version am Makefile durchgeführt. Patches aus dem Original Graphtft-Plugin vom TomG bzw. Tobi (ct-vdr) eingespielt.
Fakt der Dinge......das Ding toucht......ich weiss zwar nicht wo ich touchen muss up dem Display....aber es passiert was..... Ich kann Kanäle runterschalten
Wenn man is Setup kommen würde, könnte man evt. och die genauen Daten eingeben.......aber.......siehe oben.
Ein ändern der Setup.conf des VDR (ja, VDR ist ausgeschaltet) bringt nichts:-(
Frankman: Bitte weitermachen
Tschau, Karsten.
-
Ja doch,
Geduld, ich arbeite noch an dem Skin und warte sehnsüchtig auf den neuen Kernel für LinVDR. Ansonsten war ich in den letzten Tagen mit Kindergeburtstag und Jugendfussball beschäftigt, da leidet speziell beim akutellen Wetter der VDR immer drunter...
Die Frage ist, wie der Skin aufgebaut werden soll. Bei Touchscreens soll ja auch die Ergonmie stimmen.
So sollten spezielle Buttons immer an der gleichen Stelle auftauchen.
Welche Buttons wären dies?
Menu, OK, Back, Up, Down? -
Moin!
Was genau brauchst du denn genau in dem Kernel? Vielleicht kan Doc das ja direkt mit einbauen!
Gruß
Toxic
-
Sorry,
wollte keinesfalls drängeln! Nur fast 2 Wochen ohne Feedback hatte ich schon Befürchtungen.ZitatOriginal von Frankman
Ja doch,Geduld, ich arbeite noch an dem Skin und warte sehnsüchtig auf den neuen Kernel für LinVDR. Ansonsten war ich in den letzten Tagen mit Kindergeburtstag und Jugendfussball beschäftigt, da leidet speziell beim akutellen Wetter der VDR immer drunter...
Die Frage ist, wie der Skin aufgebaut werden soll. Bei Touchscreens soll ja auch die Ergonmie stimmen.
So sollten spezielle Buttons immer an der gleichen Stelle auftauchen.
Welche Buttons wären dies?
Menu, OK, Back, Up, Down?Yep, sollte reichen.......evt. noch die 4 Farbtasten????? Muss aber nicht sein.....da liege ja nur Key-Makros drup......und bevor die Ergonomie überfrachtet ist.....!
Toxic-Tonic: Ich denke einmal unter "USB HID Protocol Drivers" den EGALAX als Modul und unter "Input Devices" den Config_input_Touchscreen". Die 4 Treiber GUNZE, ELO, MTOUCH und MK712 sind hier ebenfalls als Module in dem Kernel eingebaut.
LinVDR kenne ich leider nicht.....sollte aber dito sein. Arbeite hier mit Kernel 2.6.15-7 und Ct-VDR.
Tschau, Karsten.
-
Hallo!
ZitatDie Frage ist, wie der Skin aufgebaut werden soll. Bei Touchscreens soll ja auch die Ergonmie stimmen.
So sollten spezielle Buttons immer an der gleichen Stelle auftauchen.
Welche Buttons wären dies?
Menu, OK, Back, Up, Down?Die Auswahl allein über eine Knopfleiste o.ä. entspricht doch nicht den Fähigkeiten eines Touchscreens.
Als Beispiel ein Hauptmenü mit den vier Einträgen " TV | Radio | MP3 | System":
Mit der FB / Tastatur drücke ich AUF oder AB und dann OK, bei einem Touchscreen wähle ich den Eintrag "MP3" direkt an.Oder bei der Wiedergabe eines Musikstückes:
Wenn Titel / Künstler usw. angezeigt werden, könnte man doch durch Drücken auf den Eintrag "Madonna" eine Liste mit den Alben von "Madonna" angezeigt bekommen.
Oder durch das Drücken auf den Zähler schalte ich zwischen abgespielter- und Restzeit um, usw.Das macht doch erst einen Touchscreen Sexy !
Es müßte also meiner Meinung nach jedes Element ein "EventButtonPress" oder sowas in der Art bekommen
grüße
ralf
-
Zitat
Original von ralf
Die Auswahl allein über eine Knopfleiste o.ä. entspricht doch nicht den Fähigkeiten eines Touchscreens.
Als Beispiel ein Hauptmenü mit den vier Einträgen " TV | Radio | MP3 | System":
Mit der FB / Tastatur drücke ich AUF oder AB und dann OK, bei einem Touchscreen wähle ich den Eintrag "MP3" direkt an.Oder bei der Wiedergabe eines Musikstückes:
Wenn Titel / Künstler usw. angezeigt werden, könnte man doch durch Drücken auf den Eintrag "Madonna" eine Liste mit den Alben von "Madonna" angezeigt bekommen.
Oder durch das Drücken auf den Zähler schalte ich zwischen abgespielter- und Restzeit um, usw.Das macht doch erst einen Touchscreen Sexy !
Es müßte also meiner Meinung nach jedes Element ein "EventButtonPress" oder sowas in der Art bekommen
grüße
ralf
Das stimmt auf jeden Fall, das Textmenu wird im GraphTFT aber nicht Zeile für Zeile aufgebaut, sondern nur als Block definiert. Schwierig wird hier die Ermittlung des selektierten Eintrags. Daher wollte ich erstmal mit Buttons anfangen.
Hier muss der Aufbau der Skins grundsätzlich geändert werden. Die Kunst dürfte darin bestehen, die in den jweiligen Masken per Touch verfügbaren Funktionen festzulegen. Im Modus normalTV muss ein MP3 direkt auswählbar sein. Dann wechselt der Modus nach "mp3", dort sind aktueller Titel und Interpret gezielt wählbar.
Schwierig wirds wie gesagt mit dynamischen Textlisten. Ich denke, das kriegen wir später...
-
So, nachdem jetzt lange Funkstille war (Urlaub :D), habe ich mich nochmal drankgesetzt. Bei mir läuft das ganze jetzt.
Man benötigt den neuesten Dr.Seltsam-Kernel 2.6.17.8. Er war so freundlich und hat das Module usbtouchscreen als "M" konfiguriert.
Ihr findet das Plugin hier:download
Eine für den MT-cody-linvdr 1.4.0 compiliertes gibts hier: download
Das Archiv enthält neben dem Plugin auch unter
../touchTFT-0.0.2/touchTFT ein Theme ("Blue") für den Touchscreen. Wichtig ist hierbei, auf welche Funktionen ihr in keymacros.conf die Tasten gesetzt habt. Die Buttons im normalTV rechts sind nämlich die Buttons User1..User4In der Setup.conf muss ergänzt werden:
touchtft.entprell_ms = 20
gibt an, wie viele Millisekunden zwischen zwei Touchereignissen vergehen müssen.touchtft.TouchDevice = /dev/input/event0
der input-Device...touchtft.xmax = 1805
touchtft.xmin = 170
touchtft.ymax = 1931
touchtft.ymin = 381
Die Touch-Koordinaten, die der TFT tasächlich ausfüllt. Theoretisch macht der TFT 0..2048 für beide Koordinaten, tatsächlich wird vom Bild aber nicht alles genutzt.touchtft.realx = 720
touchtft.realy = 576
Die Ausdehnung, die der TFT als Bildschirm hat. Ist wohl immer die PAL-Auflösung. -
Hallo,
Packet ist Debianisiert und kompiliert......Hat jetzt jemand nen Tip für mich warum der VDR beim laden des Blue-Themes einen restart macht?
Tschau, Karsten.
-
hi*
ich haette mal gerne nen screenshot gesehen. .. bzw ein foto haette da jemand mal lust zu?
mfg mentox
-
machts bei mir nicht... Hast Du mal ein LOG-File. Stell mal in der Setup.conf den Eintrag touchtft.Logger = 2 und .Level = 10.
-
Ich hab mal ein paar Fotos und einen AVI aufgenommen. Beim AVI stört euch nicht an meinem Geächze und Gestöhne. Is nix unanständiges! War nur ein wenig dicht am Mikro der Kamera!!
-
Hallo,
musste noch nen Patch aus dem Tobi-Archiv auf deine Quellen loslassen.Theme Blue kommt auf dem Touchscreen.
Jetzt das nächste Prob wo ich mir die Zähne ausbeisse. Das Device wird nicht mehr unter /dev/input angelegt. Das hat jetzt nichts mit deinem Plugin zu tun!
Was mich besonders ärgert ist, dass es ja schon mal lief.....weiss der Henker was ich da geändert habe:-(
Tschau, Karsten.
-
Hallo,
wenn man sooo viel Urlaub hatte, kann man doch bestimmt ganz entspannt Plugins entwickeln
Also:
Erst einmal ein riesengroßes "Hurra", der Absturz ist in dieser Version behoben!
Ich durfte dann allerdings feststellen, das mein System doch tatsächlich keine Unterstützung für das Format "Tif" hat
Die Knöpfe umgewandelt in PNGs sieht das jetzt bei mir nicht mehr gar so kahl aus.Nun muß ich nur noch herausfinden welches Device mein Touchscreen nutzt, da zuckt zur Zeit leider noch garnichts...
Achja:
Wie schön das der "Themes"-Ordner jetzt "touchTFT" und nicht mehr "TouchTFT" heißt, hatte natürlich nur dein neues Theme "Blue" in den alten Ordner kopiert
Natürlich nicht nur dafür vielen Dank
ralf
-
Hallo,
vieleicht sollte man mal auch nen anderen USB-Host-Controller versuchen:-(An einem anderen USB-Port wird das Touchscreen erkannt und das Plugin nimmt Befehle entgegen.
Super.....vielen Dank.
Was mir noch nicht klar ist, sind die Einstellungen für die Koordinaten.
Das Display wird über FB mit 640 * 480 angesteuert....müssen die Einstellungen:
touchtft.realx = 720
touchtft.realy = 576wirklich so bleiben?
Physikalisch hat dat Display 2400 * 480 Bildpunkte. Ist nen Ex-Audio 7" Display.
Wenn ich die Kalibrierung aufrufe und auf die 4 Kreuze klicke bekomme ich folgende Koordinaten:
1713*456 - 1552*29 502*468 - 448*14
1705*1614 - 1544*1389 498*1596 - 438*1394
habe demzufolge folgendes eingetragen:
touchtft.xmax = 1713
touchtft.xmin = 498
touchtft.ymax = 1614
touchtft.ymin = 14Wo ist mein Denkfehler
Tschau, Karsten.
-
Hallo,
ZitatOriginal von ralf
Hallo,Nun muß ich nur noch herausfinden welches Device mein Touchscreen nutzt, da zuckt zur Zeit leider noch garnichts...
ralf
cat /proc/bus/input/devices
ist dein Freund:-)
Tschau, Karsten.
-
Moin Karsten!
Mein Lilliput hat auch die 2400x480, nach "außen" sind das 800x480 Bildpunkte.
Mein Framebuffer ist auf 800x600 eingestellt, entsprechend die Werte für "touchtft.realx/y".
Sieht jedenfalls ganz ordentlich aus
Leider funktioniert das "Knöpfchen-Drücken" nicht, als Gerätedateien sind "event2" und "mouse0" angegeben, geht bei beiden nicht.
Ist das OSD bei dir auch so träge (Reaktionszeit ca. 2-3 Sekunden)??
Danke für den Hinweis...
ralf
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!