ekran dotykowy rezystancyjny - problem z uruchomieniem...

Jul 30, 2011 4 Replies

Dorwałem 10" touchscreen dla EEE 100x, ale wygląda na idealny do mojego Lenovo S10. Pasuje na lcd co do milimetra, więc czemu by nie wsadzić...



formatting link
- to co przyszło wygląda inaczej, elektronikę ma od:
formatting link
czyli
formatting link
co też by nie było złe, ale całość jest wykonana po chińsku. Wtyczki źle obsadzone (w USB d+ i d- zamienione ze sobą, hub usb nie działał nawet), nie wiem co jeszcze źle.



Konstrukcja wygląda następująco:



-4pin touchscreen rezystancyjny 10"



-kontroler touchscreen ADS7846



-CY7C63723C "USB Combination Low-Speed USB and PS/2 Peripheral Controller" - jego linie gpio podpiete do ADS7846, posiada eeprom z zapisanymi ustawieniami



- 4port usb2.0 hub (dziala ok)



Od strony usb patrząc



- +5v jest



- usb hub dziala (podlaczone inne urzadzenia usb do jego portow - dzialaja)



- CY... jest wykrywany prawidlowo (chyba), usb-device daje wynik: Bus=01 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#= 6 Spd=1.5 MxCh= 0 Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfg= 1 Vendor=0eef ProdID=0001 Rev=01.00 Manufacturer=eGalax Inc. Product=Touch #Ifs= 1 Cfg#= 1 Atr=a0 MxPw=44mA IF#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid


- AD... "coś widzi" bo każde dotknięcie ekranu dotykowego zapala leda (na jego wyjściu diagnostycznym), i daje "sieczkę" transmisji na jego wyjściach cyfrowych.



Niestety - kalibracja (pod softem windowsowym) nie działa, tak jakby wcale nie było dotnięcia, czeka 15s na dotknięcie 1szego punktu i wychodzi), pod linuksem dowolne dotknięcie ekranu - skok kursorem w lewy górny róg i tam kursor zostaje (chyba ze myszką go przegonie gdzie indziej)



Próbowałem odwracać wtyczkę-taśmę (4pin) od warstwy rezystancyjnej, nic to nie zmienia.



Cóż więcej mogę diagnozować? Gdzie szukać problemu? Nawet nie wiem czy to wina drivera, braku drivera, niewłaściwego działania softu/kalibracji, niewłaściwego działania hardware? uhhhh :/



W dniu 2011-07-30 20:15, BartekK pisze:

Cholera chińska jasna... Pod windowsem odpaliłem usb sniffer, i co się okazuje - przy podłączaniu urządzenia (lub restarcie drivera) kontroler CY7C63723C się zgłasza... i to koniec jego rozmów z systemem. Podczas kalibracji itd - nic się z nim nie wymienia. Nie generuje żadnego przerwania, nie odbywa się jego "pooling".

Odpaliłem Ubuntu 11.04 z płytki - touchscreen działa! Co prawda zamienione ma X z Y (mogę zawsze zamienić wyprowadzenia na wejściu X+/X-/Y+/Y-), ale działa, sam z siebie. Czyli chińskie drivery są gówniane/niewłaściwe/źle się instalują. Tylko co teraz dalej?

W dniu 2011-07-31 16:09, BartekK pisze:

No i znów odpowiadam sam sobie :)

Drivery pobrane stąd:

formatting link
- działają z windowsem XP bez problemu!

Pozostają problemy montażowe, poprowadzenie kabli, upchnięcie kontrolera

- np to że po złożeniu laptopa - ramka (plastikowa obudowa) od lcd dotyka do krawędzi ekranu dotykowego i symuluje docisk, trzeba dodać podkładki by oddalić ramkę, a to znów spowoduje szparę wokół ekranu... Ale to już kosmetyka.

Btw jakby się komuś zachciało... to niech mu się odechce robić takich modyfikacji :) Zbyt dużo roboty w stosunku do efektu, gdy można kupić po prostu nowe Lenovo S10-3T z dotykiem i obracanym ekranem

W dniu 2011-07-31 16:09, BartekK pisze:

Zamianę osi można zrobić programowo. W linuksie możesz wydać polecenie: xinput set-int-prop "nazwa urządzenia" "Evdev Axes Swap" 8 1

Prościej jest posłużyć się programem xinput_calibrator_x11

formatting link

W dniu 2011-07-31 20:45, Zbych pisze:

A jeszcze prościej było zamienić te 4 piny w właściwą kolejność, i teraz działa jako-tako nawet pod linuksem bez drivera i kalibracji.

Gorzej że pod windowsem do działania potrzebuje driverów "których nie ma"- to (jak się okazało) jest "nieoficjalny klon" eGalax a nie oryginał, stąd na ich driverze w najnowszej wersji - nie działa. A starczych (4.x.x.x) ciężko znaleźć.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required