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文件夹复制到某个位置,再修改这个变量即可,其它的不用修改。

  • 1
  • 2
  • 下一页

相关内容