• 6703阅读
  • 1回复

触摸屏ts_test.c光标坐标负数问题 [复制链接]

上一主题 下一主题
离线zixin
 
只看楼主 倒序阅读 楼主  发表于: 2007-04-26
— 本帖被 XChinux 从 Qt Installing 移动到本区(2007-08-12) —
首先我运行校准程序得到校准文件
[/mnt/nfs/tslib-1.3/tests/.libs]./ts_calibrate
xres = 640, yres = 480
Took 1 samples...
Top left : X = 585 Y = 3298
Took 2 samples...
Top right: X = 3257 Y = 3289
Took 1 samples...
Bot right: X = 3246 Y = 702
Took 1 samples...
Bot left : X = 580 Y = 753
Took 1 samples...
Middle: X = 1996 Y = 1947
-69.743103 0.202175 -0.000510
539.055481 -0.001745 -0.148005
Calibration constants: -4570684 13249 -33 35327540 -114 -9699 65536
我开始以为是校准的坐标有问题 因为发现LCD的坐标和得到的触摸屏的坐标感觉坐标系是反的.后来又去看关于触摸屏的知识,才知道这正是tslib做的事情,将两个坐标通过算法一一对应转换

然后再看存放在/mnt/yaffs/里的校准文件的内容,发现是写进去了

[/mnt/nfs/tslib-1.3/tests/.libs]cat /mnt/yaffs/pointercal
13249 -33 -4570684 -114 -9699 35327540 65536


运行测试程序
[/mnt/nfs/tslib-1.3/tests/.libs]./ts_test
//这里的printf是自己加的
ts_device open success
ready to put_cross x, y
first time to put_cross
//自己加的printf

//按照输出的samp里面的成员变量定义为
按键发生时间: x坐标 y坐标 压力动作

1253762277.780181: -69 539 0 //轻按
1253762281.350047: -69 539 0
1253762338.250838: -69 539 1 //重按

//自己加的printf
pressure>0
put cross again! c = 0
put cross again! c = 1
//自己加的printf

1253764826.440828: -69 539 2 //拖动
pressure>0
put cross again! c = 0
put cross again! c = 1

//按照这样应该就是画了光标了,因为没有在屏幕上看到光标因为是坐标的x值为负数,而且按其他的地方,坐标值都不变.
这会是什么问题呢????
还是校准的不正确导致的么??

请高手知道的指教一二!谢谢!!!!
[ 此贴被XChinux在2007-08-12 23:10重新编辑 ]
if u think u can,u can~~~
离线zixin
只看该作者 1楼 发表于: 2007-04-28
换了一个tslib-0.1.1版本居然就好了.
if u think u can,u can~~~
快速回复
限100 字节
 
上一个 下一个