久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

Hi,歡迎來到嵌入式培訓高端品牌 - 華清遠見教育科技集團<北京總部官網>,專注嵌入式工程師培養15年!
當前位置: > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > Android觸摸屏校準方法
Android觸摸屏校準方法
時間(jian):2017-01-05作者:華清(qing)遠見

本文記錄了在調試華清遠見教學平臺FS_S5PC100上(shang)的(de)(de)Android觸(chu)摸屏驅動的(de)(de)過程。屏的(de)(de)型號(hao)是上(shang)篇博(bo)客《液晶背光電源的(de)(de)選擇》中的(de)(de)A043FW02 V0。這里(li)也(ye)給(gei)大(da)家確認下(xia),上(shang)次的(de)(de)電源選擇是沒問(wen)題(ti)的(de)(de)。

我采用(yong)的(de)觸(chu)摸屏(ping)校準方(fang)法利用(yong)到了tslib-1.4。tslib的(de)移植方(fang)法,網上有(you)很多介紹,這里就不(bu)贅述(shu)了。

有過linux下(xia)觸(chu)摸屏(ping)開發經驗(yan)的,應該知道通常驅動是把采(cai)集到的原始坐標(A/D值),直接通過input系統上(shang)報(bao)。對于12位(wei)的A/D,觸(chu)摸屏(ping)的范圍(wei)是:0~0xFFF。在驅動中表(biao)示如(ru)下(xia):

input_set_abs_params(ts->dev, ABS_X, 0, 0xFFF, 0, 0);
     ;    input_set_abs_params(ts->dev, ABS_Y, 0, 0xFFF, 0, 0);

而(er)Android需要驅動直接上報(bao)液晶屏(ping)(ping)坐標。如我們屏(ping)(ping)的(de)分辨率是(shi)480*272,驅動中需要設置觸摸屏(ping)(ping)的(de)范圍如下:

input_set_abs_params(ts->dev, ABS_X, 0, 480, 0, 0);
       &nbsp;input_set_abs_params(ts->dev, ABS_Y, 0, 272, 0, 0);

大家在移植(zhi)別人的(de)觸摸(mo)屏(ping)驅動(dong)時一定要注(zhu)意(yi)上面(mian)范(fan)圍(wei)的(de)設置。必須要匹配(pei)你的(de)屏(ping)分(fen)辨(bian)率。否則(ze)本(ben)文后面(mian)的(de)方法就不適用(yong)了。

接(jie)下來需要思考的是,如何把我們采集(ji)到A/D數據轉換為屏坐(zuo)標。可以用下面的公式來轉換。

int a0,a1,a2,a3,a4,a5,a6;
        x=(int) ts->xp;
        y=(int) ts->yp;
        ts->xp=(long) ((a2+(a0*x)+(a1*y))/a6);
        ts->yp=(long) ((a5+(a3*x)+(a4*y))/a6);

開(kai)始(shi)的(de)ts->xp、ts->yp為(wei)原始(shi)的(de)A/D數據,通過公(gong)式(shi)計算后的(de)ts->xp、ts->yp為(wei)屏坐(zuo)標。

后的問題就是(shi)(shi)如何確定a0~a6的值了。這7個參數的值好的獲取方法就是(shi)(shi)通過tslib了。Tslib的移植(zhi)可以不在android上,搭建一個普(pu)通的根文件系(xi)統(tong)即(ji)(ji)可。移植(zhi)完tslib后,運行校準工具(ju)ts_calibrate,生成pointercal文件。打開文件,里面(mian)會放著7個參數。這7個參數即(ji)(ji)是(shi)(shi)我(wo)們要(yao)的a0~a6。如:

11062 -38 -7188384 69 13570 -19408864 65536

發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)