歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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文件夾復制到某個位置,再修改這個變量即可,其它的不用修改。

Copyright © Linux教程網 All Rights Reserved