触摸屏校准之tslib

来源:互联网 发布:mac speak louder试色 编辑:程序博客网 时间:2024/05/17 04:35
      上篇文章学习了触摸屏的移植,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。那么触摸屏还需要校准才能使用,这篇文章就一起学习使用tslib来调试触摸屏性能。

Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。

确保这些软件已经安装:
$apt-get install autoconf
$apt-get install automake
$apt-get install libtool

1.首先得下载源程序,我使用的是tslib1.4版本的。
   我的下载地址:http://code.taobao.org/p/Myfl2440_1/src/tslib-1.4.tar.bz2

2.然后对其进行解压得到tslib文件夹。

3.进入tslib下,执行脚本文件./autogen.sh

4.进行配置#sudo ./configure --host=arm-linux ac# sudo ./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --prefix=/usr/local/arm/tslib CC=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc
注意这里的--prefix为你安装tslib的路径,还有将交叉编译器的位置设置好。

5.make

6.make install:在tslib下生成四个目录,分别为/bin,/etc,/lib,/include。
   生成的库位于lib中,该目录下的子目录ts是很重要的文件,包含许多校准用到的库,bin目录下为校准、测试工具。

7.将这生成的四个文件夹打包下载到开发板中。

8.在开发板中设置环境变量:
>:vi /etc/profile
 


# Touch Scree tslib Setting                                          export TSLIB_ROOT=/apps/tslib    //指定路径                                 export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf     //指定tslib配置文件的位置               export TSLIB_CALIBFILE=$TSLIB_ROOT/etc/pointercal  //指定触摸屏校准文件的存放位置    export TSLIB_TSDEVICE=/dev/event0       //指定触屏设备               export TSLIB_CONSOLEDEVICE=none         //设置控制台设备为none               export TSLIB_FBDEVICE=/dev/fb0           //指定帧缓冲设备              export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts/   //指定触摸屏插件所在路径
这里的控制台设备可以自己查看,在/dev下。

修改tslib/etc/ts.conf文件:
这里默认关闭所有的module_raw,我们随便打开一个,我打开的是第一个。

修改完上面内容后,我们便可以执行我们的tslib/bin下的测试程序。
./ts_calibrate:校验程序,屏幕出现五个十字宽,逐个点击,出现坐标信息:
然后在tslib/etc中会生成一个校验文件pointercal。

./ts_print_raw:

./ts_test : 可在屏幕上画画。


这里容易遇到的错误:


这个错误是因为/etc/profile中的环境变量没有设置对,设置完记得重启哦


还有很多问题尚未解决,希望有兴趣的朋友与我交流。




0 0
原创粉丝点击