tslib

移植Tslib
1 下載源碼tslib-x.x.tar.gz
2 解壓,cd tslib
3 生成configure
  ./autogen.sh
4 配置,生成Makefile
  ./configure --host=arm-none-linux-gnueabi(平臺) --prefix=/(安裝目錄)
  --enable-debug=no
5 編譯
  make
6 安裝
  make install
  在指定的安裝目錄下生成/bin  /etc  /lib /include文件夾,並放入相應的文件。如果
相應的文件夾已經在,則把相應的文件放入對應的文件夾。

7 運行測試程序,需要配置如下參數
export TSLIB_PLUGINDIR=/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event1
mkdir /data
touch /data/pointercal

8 如把配置命令寫入ts.config,要放在module pthres pmin=1之前
  否則運行測試程序時會出現Segmentation fault錯誤,各個設置選項前也不能有空格。

9 運行ts_test前要先運行ts_calibrate進行校準

TsLib介紹:
tslib背景:
在採用觸摸屏的移動終端中,觸摸屏性能的調試是個重要問題之一,因爲電磁噪聲的緣故,
觸摸屏容易存在點擊不準確、有抖動等問題。tslib是一個開源的程序,能夠爲觸摸屏驅動獲
得的採樣提供諸如濾波、去抖、校準等功能,通常作爲觸摸屏驅動的適配層,爲上層的應用
提供了一個統一的接口。

Tslib較準原理:
在Qtopia 中,就觸摸屏的調試問題主要涉及到以下三個部分:觸摸屏驅動、Tslib、
QTslibTPanelHandlerPrivate 封裝。
觸摸屏驅動爲與硬件直接接觸部分,爲上層的Tslib 提供最原始的設備座標數據,並可以配置
採樣間隔、屏幕靈敏度等。採樣間隔決定了單位時間內的採樣數量,在其他參數不變的情況下,
採樣間隔越小意味着單位時間內的採樣數量越多,也就意味着採樣越逼真、越不容易出現採樣
信息丟失如輸入法書寫時丟筆劃的情況,但因爲噪聲的影響,採樣間隔越小同時也意味着顯示
出來的圖形的效果越差。
 	Tslib 爲觸摸屏驅動和應用層之間的適配層,其從驅動處獲得原始的設備座標數據,通過
一系列的去噪、去抖、座標變換等操作,來去除噪聲並將原始的設備座標轉換爲相應的屏幕座標。
 	在tslib 中爲應用層提供了2 個主要的接口ts_read()和ts_read_raw(),其中ts_read()爲
正常情況下的藉口,ts_read_raw()爲校準情況下的接口。
 	正常情況下,tslib 對驅動採樣到的設備座標進行處理的一般過程如下:
raw device --> variance --> dejitter --> linear --> application
module module module
 	校準情況下,tslib 對驅動採樣到的數據進行處理的一般過程如下:
raw device--> Calibrate
QTslibTPanelHandlerPrivate 爲tslib 提供了應用層封裝,爲tslib 與應用層的接口部分。
 	在觸摸屏調試過程中,涉及到的參數主要有采樣間隔(驅動)、靈敏度(驅動)、去噪
算法及約束(tslib)、去抖算法及約束(tslib)、ts 門檻值(tslib)。
 	由於各種相關期間的影響,在不同的硬件平臺上,相關參數可能需要調整。以上參數的
相互關係爲:採樣間隔越大,採樣點越少,採樣越失真,但因爲信息量少,容易出現丟筆劃
等丟失信息情況,但表現出來的圖形效果將會越好;去噪算法跟採樣間隔應密切互動,採樣
間隔越大,去噪約束應越小,反之採樣間隔越小,去噪約束應越大。去抖算法爲相對獨立的
部分,去抖算法越複雜,帶來的計算量將會變大,系統負載將會變重,但良好的去抖算法可
以更好的去除抖動,在進行圖形繪製時將會得到更好的效果;靈敏度和ts 門檻值爲觸摸屏的
靈敏指標,一般不需要進行變動,參考參考值即可。

pthres 爲Tslib 提供的觸摸屏靈敏度門檻插件;variance 爲Tslib 提供的觸摸屏濾波算法插件;
dejitter 爲Tslib 提供的觸摸屏去噪算法插件;linear 爲Tslib 提供的觸摸屏座標變換插件

參考:https://github.com/kergoth/tslib
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章