触摸屏校准之tslib

时间:2021-09-21 11:48:49
      上篇文章学习了触摸屏的移植,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。那么触摸屏还需要校准才能使用,这篇文章就一起学习使用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  触摸屏校准之tslib
触摸屏校准之tslib
# 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
然后在tslib/etc中会生成一个校验文件pointercal。
./ts_print_raw: 触摸屏校准之tslib
./ts_test : 可在屏幕上画画。


这里容易遇到的错误:

触摸屏校准之tslib


触摸屏校准之tslib

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


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