tslib移植到TQ2440
tslib移植到TQ2440
在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。
一、编译环境
linux环境:Ubuntu-10.10
交叉编译:4.3.3
arm板子:tq2440
二、交叉编译
# ./autogen.sh
# ./configure --host=arm-linux --prefix=/nfs/tslib
# make
# make install
三、配置文件
配置文件ts.conf内容如下:
module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
module_raw有许多种,这里只使用input(即Linux的input子系统,设备文件名称为/dev/input/event0),其它的删除掉。后面的几个module还没有深入了解,它们使用的库就在tslib/lib/ts中,最后三个模块的字面意思是“方差(滤波)”、“去抖动(去噪)”、“线性(坐标变换)”。
四、挂载到tq2440的mnt目录下
# cd /mnt
# mkdir tslib
# mount -t nfs 192.168.2.105:/nfs/tslib /mnt/nfs -o nolock
将/mnt/nfs目录下的所有内容都拷贝到/mnt/tslib目录下。lib中是生成的库文件,该目录下还有一个子目录ts,它包含了许多校准用到的库(如input.so等);etc下的ts.conf为配置文件,板子的触摸屏设备文件描述符默认值是/dev/input/event0(可以在配置文件ts.conf中设置这个环境变量);bin目录下为校准、测试工具(如校准的ts_calibrate,测试用的ts_test)。
在客户端执行以下设置:
# export TSLIB_ROOT=/mnt/tslib
# export TSLIB_TSDEVICE=/dev/event0
# export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
# export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
# export TSLIB_CALIBFILE=/etc/pointercal
# export TSLIB_CONSOLEDEVICE=none
# export TSLIB_FBDEVICE=/dev/fb0
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
使用TSLIB_ROOT这个变量比较好,因为只要将编译生成后的tslib文件夹复制到某个位置,再修改这个变量即可,其它的不用修改。
|
评论暂时关闭