[Armadillo:03883] Re: Quixunのタッチパネルで同じ座標データしか読めない

email@hidden
2009年 1月 8日 (木) 00:14:53 JST


zzztakemituです。

回答ありがとうございます。
始めに申し上げますと、使用ディスプレイは、
「QT-701AV-S」ではなく、つぎの機種の「QT-702AV-S」です。
残念ながら入手できなかったのです。

>http://download.atmark-techno.com/misc/softwaredesign/chapter3/
参考にしている情報のひとつです。

>以下のカーネル及びユーザランドイメージを使用すると、動作はどうなりますか?
>http://download.atmark-techno.com/misc/softwaredesign/chapter3/linux.bin.gz
>http://download.atmark-techno.com/misc/softwaredesign/chapter3/romfs.img.gz

左右にpre.jpgとnext.jpgは表示されますが、タッチしても反応しません。

>もし上記イメージを使用してもおかしな動作をする場合は、
>ドライバがインストールされていることと、
>デバイスが正常に認識されていることを確認するために、
>カーネルの起動ログとデバイスを差した後のdmesgを
>貼っていただけますか?

まず、タッチパネルのUSBを挿したまま起動したシリアルでの起動ログです。
 
Hermit-At v1.1.17 (armadillo9) compiled at 15:20:39, Apr  9 2008
hermit> b
Uncompressing  kernel...........................................................Uncompressin
g ramdisk...........................................................Doing video=ep93xxfb:CRT
-800x600,24bpp
Doing console=ttyAM0,115200
Doing mtdparts=armadillo9-nor:0x10000(bootloader)ro,0x170000(kernel),0x670000(u)Linux versio
n 2.6.12.3-a9-1 (email@hidden) (gcc version 3.4.4 20050314 (prerel5CPU: ARM920Tid(wb) [4112
9200] revision 0 (ARMv4T)
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Machine: Armadillo-9
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists
Kernel command line: video=ep93xxfb:CRT-800x600,24bpp console=ttyAM0,115200 mtd)PID hash tab
le entries: 512 (order: 9, 8192 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 32MB 32MB = 64MB total
Memory: 55180KB available (2348K code, 483K data, 104K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like dFreeing init
rd memory: 6592K
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
NetWinder Floating Point Emulator V0.97 (double precision)
devfs: 2004-01-31 Richard Gooch (email@hidden)
devfs: boot_options: 0x0
Console: switching to colour frame buffer device 100x37
fb0: EP93xx frame buffer at 800x600x24
ttyAM0 at MMIO 0x808c0000 (irq = 52) is a EP93XX
ttyAM1 at MMIO 0x808d0000 (irq = 54) is a EP93XX
ttyAM2 at MMIO 0x808e0000 (irq = 55) is a EP93XX
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
i2c /dev entries driver
i2c-armadillo9: i2c Armadillo-9 driver, (C) 2004-2005 Atmark Techno, Inc.
i2c-at24cxx: i2c at24cxx eeprom driver, (C) 2003-2005 Atmark Techno, Inc.
i2c-s3531a: Device Type [S-353x0A]
i2c-s3531a: i2c S-3531A/S-353X0A driver, (C) 2001-2005 Atmark Techno, Inc.
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
No card in slot: PFDR=000000ff
armadillo9-nor: Found 1 x16 devices at 0x0 in 16-bit bank
 Amd/Fujitsu Extended Query Table at 0x0040
armadillo9-nor: CFI does not contain boot bank location. Assuming top.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
4 cmdlinepart partitions found on MTD device armadillo9-nor
parse_mtd_partitions:4
Creating 4 MTD partitions on "armadillo9-nor":
0x00000000-0x00010000 : "bootloader"
0x00010000-0x00180000 : "kernel"
0x00180000-0x007f0000 : "userland"
0x007f0000-0x00800000 : "config"
rsrc_start:ff020000, rsrc_len:0
ep93xxusb ep93xxusb.0: EP93xx OHCI
ep93xxusb ep93xxusb.0: new USB bus registered, assigned bus number 1
ep93xxusb ep93xxusb.0: irq 56, io base 0xff020000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
usbcore: registered new driver audio
drivers/usb/class/audio.c: v1.0.0:USB Audio Class driver
Initializing USB Mass Storage driver...
usb 1-1: new full speed USB device using ep93xxusb and address 2
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 7 ports detected
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
usb 1-1.2: new low speed USB device using ep93xxusb and address 3
input: USB HID v1.10 Keyboard [  USB Keyboard] on usb-ep93xxusb.0-1.2
input: USB HID v1.10 Device [  USB Keyboard] on usb-ep93xxusb.0-1.2
usb 1-1.3: new low speed USB device using ep93xxusb and address 4
input: USB HID v1.12 Pointer [eGalax Inc. Touch] on usb-ep93xxusb.0-1.3
usbcore: registered new driver touchkitusb
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for Generic
usbcore: registered new driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
mice: PS/2 mouse device common for all mice
ts: Compaq touchscreen protocol output
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
ip_tables: (C) 2000-2002 Netfilter core team
NET: Registered protocol family 1
NET: Registered protocol family 17
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 6592KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 104K
init started:  BusyBox v1.00 (2005.11.10-05:28+0000) multi-call binary
Starting fsck for root filesystem.
fsck 1.25 (20-Sep-2001)
ext2fs_check_if_mount: No such file or directory while determining whether /dev./dev/ram0: c
lean, 636/1024 files, 4328/6592 blocks
Checking root filesystem: done
Remounting root rw: done
Mounting proc: done
Setting hostname: done
Cleaning up system: done
Running local start scripts.
Changing file permissions: done
Starting syslogd: done
Starting klogd: done
Starting basic firewall: done
Configuring network interfaces: done
Starting thttpd: done
Starting inetd: done
Starting program(SoftwareDesign chapter3): done

atmark-dist v1.3.0 (AtmarkTechno/Armadillo-9)
Linux 2.6.12.3-a9-1 [armv4tl arch]

armadillo9 login: root
Password:

次に、起動後にUSBを挿した場合のメッセージです。
[email@hidden (ttyAM0) ~]# usb 1-1.3: new low speed USB device using ep93xxu4input: USB H
ID v1.12 Pointer [eGalax Inc. Touch] on usb-ep93xxusb.0-1.3

試した情報を記載します。
1、prog.cのjudge_event関数の最後の行を替えて、強引にJPEGを出すことはできました。
変更前 return NO_EVENT; 
変更後 Nreturn EXT_FILE;

2、prog.cのtouchpanel_event関数内にprintfを追加してみた。
	*x = event_data.y;
	*y = WINDOW_HEIGHT - event_data.x;
printf("event_data X=%d Y=%d",event_data.x,event_data.y);

結果 X=-12 Y=617が出力される。どこをタッチしても同様の値。

3、「QT-702AV-S」用のドライバをクイックサンのサイトから入手し、
  debian デスクトップ環境で使用できることを確認。

4、 atmark-dist/linux2.6.x/driver/input/tsdev.c内 tsdev_event関数にprintkを追加してみた。
 		x = tsdev->x;
		y = tsdev->y;
printk(KERN_ERR "X=%d Y=%d",x,y);

結果 X=0 Y=0 が出力された。どこをタッチしても同様の値。

5、「QT-702AV-S」用のドライバをatmark-dist-develop説明書の
追加ドライバを参考にして行ってみた。
tkUSBという名前で追加されたが、デバイス認識してくれない。

以上です。




armadillo メーリングリストの案内