移植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
tslib
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.