【硬體】EETI Touch Screen


【目的】
  • 驅動 EETI Touch Screen。
【原理】
  • 連接方式:透過Usb連接,傳入x,y position給 controller。
  • 傳輸方式:Usb共有四種傳輸方式(Bulk/Control/Interrupt/Iso)。這個裝置和滑鼠鍵盤一樣是利用中斷(Interrupt)方式。
【相關資料】
  • 元件的VID/PID:0eef/4800
【Linux下面的資料】
    T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
    D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=0eef ProdID=4800 Rev= 2.00
    S: Manufacturer=eGalax Inc.
    S: Product=USB TouchController
    C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
    E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=1ms
 
【傳回資料 MSB,LSB】
  • x position: buf[3,2]
  • y position: buf[5,4]
  • (x,y * pixel deep)/ 0xfff
【參考】
  • Linux2.6.25/drivers/input/touchscreen/usbtouchscreen.c/usbtouch_process_pkt()
【Linux下面的驅動方式參考]
【多點觸控】
  • 廠商有提供在Linux下的soluction。
  • 還需研究,目前只有廠商的.a(static library)檔,沒有source code for porting。或許可以參考Linux kernel function/usbtouch_process_multi()。
【參考】
Multi-Point Touch Panel Driver
 

Ed32. Copyright 2008 All Rights Reserved Revolution Two Church theme by Brian Gardner Converted into Blogger Template by Bloganol dot com