Embedded Linux Multi-touch driver with QT, TSLIB

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Embedded Linux Multi-touch driver with QT, TSLIB

跳至解决方案
6,556 次查看
Ramtry
Contributor III

Hi,

I am trying to interface capacitive touch screen to our product.The driver for the capacitive touch screen controller (GT927) attached for your reference. Cross compiled the driver and insmod in to the kernel successfully. Getting the corresponding co-ordinate in debug terminal window whenever touched the capacitive screen as follows


root@Toucan /$ insmod gt9xx.ko

[   53.530000] <<-GTP-INFO->> GTP driver install.

[   53.540000] <<-GTP-INFO->> GTP Driver Version:V1.4<2012/12/12>

[   53.540000] <<-GTP-INFO->> GTP Driver build@14:12:47,Jun 10 2013

[   53.550000] <<-GTP-INFO->> GTP I2C Address:0x5d

[   53.680000] <<-GTP-DEBUG->> [664]len1=228,len2=0,len3=0,send_len:228

[   53.680000] <<-GTP-DEBUG->> [681]SENSOR ID:0

[   53.710000] <<-GTP-DEBUG->> [743]X_MAX = 480,Y_MAX = 800,TRIGGER = 0x00

[   53.740000] input: Goodix Capacitive TouchScreen as /devices/virtual/input/in

put1

[   53.760000] <<-GTP-DEBUG->> [886]INT trigger type:0

[   53.760000] <<-GTP-INFO->> GTP works in interrupt mode.

[   53.770000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.

[   53.780000] <<-GTP-INFO->> IC VERSION:9270_1030

[   53.800000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.

root@Toucan /$ [   53.820000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.

[   56.930000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:81.

[   56.940000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22

[   56.960000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:81.

[   56.960000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22

[   56.980000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:81.

[   56.990000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22

[   57.010000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:81.

[   57.010000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22

[   57.030000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:81.

[   57.040000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22

[   57.060000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:81.

[   57.060000] <<-GTP-DEBUG->> [273]ID:0, X:514, Y:423, W:22

[   57.080000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:80.

[   57.090000] <<-GTP-DEBUG->> [433]Touch Release!

[   57.090000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.

[   57.110000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.

[   90.480000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:83.

[   90.490000] <<-GTP-DEBUG->> [273]ID:0, X:399, Y:144, W:29

[   90.490000] <<-GTP-DEBUG->> [273]ID:1, X:455, Y:274, W:41

[   90.500000] <<-GTP-DEBUG->> [273]ID:2, X:405, Y:313, W:38

[   90.520000] <<-GTP-DEBUG->> [377]pre_touch:03, finger:84.

[   90.530000] <<-GTP-DEBUG->> [273]ID:0, X:399, Y:144, W:29

[   90.530000] <<-GTP-DEBUG->> [273]ID:1, X:455, Y:274, W:41

[   90.540000] <<-GTP-DEBUG->> [273]ID:2, X:405, Y:313, W:38

[   90.540000] <<-GTP-DEBUG->> [273]ID:3, X:334, Y:447, W:19

[   90.560000] <<-GTP-DEBUG->> [377]pre_touch:04, finger:85.

[   90.570000] <<-GTP-DEBUG->> [273]ID:0, X:399, Y:144, W:29

[   90.570000] <<-GTP-DEBUG->> [273]ID:1, X:455, Y:274, W:41

[   90.580000] <<-GTP-DEBUG->> [273]ID:2, X:405, Y:313, W:38

[   90.580000] <<-GTP-DEBUG->> [273]ID:3, X:334, Y:447, W:19

[   90.590000] <<-GTP-DEBUG->> [273]ID:4, X:168, Y:142, W:21

[   90.610000] <<-GTP-DEBUG->> [377]pre_touch:05, finger:85.

[   90.620000] <<-GTP-DEBUG->> [273]ID:0, X:399, Y:144, W:29

[   90.620000] <<-GTP-DEBUG->> [273]ID:1, X:455, Y:274, W:41

[   90.630000] <<-GTP-DEBUG->> [273]ID:2, X:405, Y:313, W:38

[   90.630000] <<-GTP-DEBUG->> [273]ID:3, X:334, Y:447, W:19

[   90.640000] <<-GTP-DEBUG->> [273]ID:4, X:168, Y:142, W:21

[   90.660000] <<-GTP-DEBUG->> [377]pre_touch:05, finger:85.

[   90.660000] <<-GTP-DEBUG->> [273]ID:0, X:399, Y:144, W:29

[   90.670000] <<-GTP-DEBUG->> [273]ID:1, X:455, Y:274, W:41

[   90.680000] <<-GTP-DEBUG->> [273]ID:2, X:409, Y:320, W:38

[   90.680000] <<-GTP-DEBUG->> [273]ID:3, X:334, Y:447, W:19

[   90.690000] <<-GTP-DEBUG->> [273]ID:4, X:173, Y:152, W:21

[   90.700000] <<-GTP-DEBUG->> [377]pre_touch:05, finger:81.

[   90.710000] <<-GTP-DEBUG->> [273]ID:4, X:166, Y:145, W:21

[   90.730000] <<-GTP-DEBUG->> [377]pre_touch:01, finger:80.

[   90.730000] <<-GTP-DEBUG->> [433]Touch Release!

[   90.740000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.

[   90.750000] <<-GTP-DEBUG->> [377]pre_touch:00, finger:80.


Now i am facing problem of interfacing the driver in to multitouch protocol of the kernel. I cannot calibrate the touch screen using ts_calibrate. I tried by replacing all the occurrences of ABS_X / Y with ABS_MT_POSITION_X / Y in tslib (plugin/input-raw.c) but it's showing segment fault. How can i implement multi touch protocol for touch screen driver? I followed this link to interface multitouch with QT

http://www.ptrackapp.com/apclassys-notes/embedded-linux-multitouch/

But i can't able to calibrate (ts_calibrate) the touch screen, it gives the "Segment fault"

Please kindly give some suggestion to solve this problem.


Thanks,

Harish Ramasamy

标签 (1)
0 项奖励
回复
1 解答
3,212 次查看
Ramtry
Contributor III

I Solved the problem by disabling the tslib in ltib package.

thanks.

RAM

在原帖中查看解决方案

0 项奖励
回复
3 回复数
3,212 次查看
ieio
Contributor IV

Hi Ram,

I should use a goodix gt9xx chip, but I haven't found any drivers yet. You said you attached it for reference, but I cannot find it.

Where did you find yours?

Thanks in advance.

0 项奖励
回复
3,212 次查看
Ramtry
Contributor III

Hi Ieio,

Are you using gt9xx chip ?? Have you found drivers ?

0 项奖励
回复
3,213 次查看
Ramtry
Contributor III

I Solved the problem by disabling the tslib in ltib package.

thanks.

RAM

0 项奖励
回复