簡介:主流嵌入式LINUX下GUI解決方案,基本概念介紹GUIGRAPHICALUSERINTERFACES圖形用戶界面GUI,圖形用戶接口為用戶提供界面友好的所見所得的操作環(huán)境主流解決方案QT/EMBEDDED圖形庫大而全,能夠開發(fā)較為復(fù)雜的圖形系統(tǒng)MICROWINDOWS項目規(guī)模較小、功能較為薄弱,缺乏等三方軟件開發(fā)的支持MINIGUI小巧、靈活,源碼相對較少,基本概念,QTQT是TROLLTECH公司所開發(fā)的一個跨平臺FRAMEWORK環(huán)境一個運行的平臺,有一堆常用的“庫”多平臺的C圖形用戶界面應(yīng)用程序框架支持組件編程(把系統(tǒng)分割成一些組件或設(shè)施的一種思想,修改項目代碼的一些部分不會破壞整個系統(tǒng))TROLLTECH跨平臺應(yīng)用程序界面框架QT嵌入式LINUX開發(fā)的應(yīng)用程序平臺,能夠應(yīng)用到PDA和各種移動設(shè)備QTOPIAQT/EQT庫開發(fā)商TROLLTECH公司開發(fā)的面向嵌入式系統(tǒng)的QT版本采用C封裝豐富的控件資源較好的可移植性,QT/EMBEDDED,QT/E實現(xiàn)結(jié)構(gòu)QT/EMBEDDED的底層圖形引擎基于FRAMEBUFFER計算機顯示存儲器的一部分,存放屏幕圖像的內(nèi)容。FRAMEBUFFER是一種驅(qū)動程序接口將顯示設(shè)備抽象為幀緩沖區(qū)顯示內(nèi)存的一個映像(用戶)QWSSERVER負(fù)責(zé)事件的服務(wù)分發(fā),,QT/EMBEDDED,QPE(QTPLAMTOPENVIRONMENT)針對PDA軟件的整體解決方案底層的GUI系統(tǒng)、WINDOWMANAGER、SOFTKEYBOARD上層的PIM(個人信息管理器)、瀏覽器、多媒體QTOPIA是基于QT/EMBEDDED開發(fā)的一個嵌入式的窗口系統(tǒng)和應(yīng)用程序集QTOPIA平臺組成QTOPIA庫QT/E,LIBQPE,LIBQTOPIA1,QTOPIAPIMQTOPIASERVER/LAUCHER控制窗口系統(tǒng)進程間通信發(fā)起所有應(yīng)用和其他核心任務(wù)的主要服務(wù)程序,,系統(tǒng)平臺介紹,系統(tǒng)平臺軟件結(jié)構(gòu)圖引導(dǎo)裝載程序VIVI設(shè)備驅(qū)動(包括幀緩存FB)嵌入式LINUX內(nèi)核文件系統(tǒng)YAFFS(只讀CRAMFS,需做修改)基于QT/EMBEDDED和QTOPIA的用戶圖形界面以及應(yīng)用程序,,,QT/E、QTOPIA,構(gòu)建GUI時用于QT開發(fā)的典型工具TMAKE跨平臺的MAKEFILE生成器MOC用于QTC擴展的METRAOBJECT編譯器DESIGNER用于設(shè)計窗口組建的應(yīng)用程序,UI文件UIC從界面文件生成代碼的用戶界面編譯器(CPPUNSIGNEDSHORTXUNSIGNEDSHORTYUNSIGNEDSHORTPAD}TS_RET驅(qū)動程序提供給上層應(yīng)用程序使用的信息,用來存儲觸摸屏的返回值,,項目進度,觸摸屏坐標(biāo)確定觸摸屏本身有自己的指標(biāo)分辨率,比如20482048(即它的坐標(biāo)系),它和我們LCD顯示屏的坐標(biāo)系(比如大點的1024768)是兩個概念。通過ADS控制器的SPI/I2C總線讀取到的觸摸屏的坐標(biāo)信息,是觸摸屏(貼在LCD上面很像包裝紙的一層薄膜)以它本身坐標(biāo)原點O(物理的固定的,4個邊角的某一個)為參考的坐標(biāo)對(X,Y)原理是兩個電壓值(NX,NY),根據(jù)觸摸屏X,Y方向的參考電壓,做個線性比較,得到其坐標(biāo)值(X,Y),,項目進度,觸摸屏坐標(biāo)確定實際使用過程中,唯一的參考定位是LCD屏的坐標(biāo)系(X,Y),TSLIB就是把兩個2維線性坐標(biāo)系通過幾個樣值的比較,對應(yīng)轉(zhuǎn)換,即(X,Y)X,Y(1)計算程序,調(diào)用LCD顯示驅(qū)動程序,在LCD上打印幾個光標(biāo),選擇方便計算的,比如(X1,Y1),X2,Y22觸摸屏驅(qū)動程序應(yīng)該還沒有設(shè)計完成,這里只需要做到其觸摸屏控制器初始化函數(shù)、坐標(biāo)數(shù)據(jù)讀取函數(shù)和相應(yīng)的點擊中斷程序工作就可以了。分別點擊這些點,程序中讀出這些點對應(yīng)的觸摸屏坐標(biāo)值(X1,Y1),(X2,Y2)3這時候,就可以得到了兩個坐標(biāo)系的對應(yīng)關(guān)系,具體就是代入程序中讀到的采樣值求解下面對應(yīng)方程的6個系數(shù)A,B,C,D,E,F{XAXBYC,YEXFYG},,項目進度,TSLIB校正原理觸摸動作模擬鼠標(biāo)動作傳統(tǒng)的鼠標(biāo)相對定位系統(tǒng),只和前一次鼠標(biāo)的位置坐標(biāo)有關(guān)觸摸屏絕對坐標(biāo)系統(tǒng)絕對坐標(biāo)系統(tǒng)的特點每一次定位坐標(biāo)與上一次定位坐標(biāo)沒有關(guān)系,每次觸摸的數(shù)據(jù)通過校準(zhǔn)轉(zhuǎn)為屏幕上的坐標(biāo),不管在什么情況下,觸摸屏這套坐標(biāo)在同一點的輸出數(shù)據(jù)是穩(wěn)定的。不過由于技術(shù)原理的原因,并不能保證同一點觸摸每一次采樣數(shù)據(jù)相同,不能保證絕對坐標(biāo)定位,點不準(zhǔn),這就是觸摸屏最怕出現(xiàn)的問題漂移。對于性能質(zhì)量好的觸摸屏來說,漂移的情況出現(xiàn)并不是很嚴(yán)重。所以很多應(yīng)用觸摸屏的系統(tǒng)啟動后,進入應(yīng)用程序前,先要執(zhí)行校準(zhǔn)程序。,,項目進度,TSLIB校正原理LCD坐標(biāo)和觸摸屏的物理坐標(biāo)的比較從觸摸屏中讀出的是點的物理坐標(biāo),其坐標(biāo)軸的方向、XY值的比例因子、偏移量、縮放因子都與LCD坐標(biāo)不同,,項目進度,TSLIB校正原理使觸摸屏坐標(biāo)和LCD坐標(biāo)一一對應(yīng),且以插件形式提供附加功能如濾波、防抖。TSLIB的API接口TSDEV表示觸摸屏設(shè)備FD打開觸摸屏設(shè)備的文件描述符LIST指針,依次存放指向TSLIB插件的指針,,項目進度,TSLIB校正原理TSLIB的API接口TS_SAMPLE存放按鍵消息X,Y按鍵的坐標(biāo)位置(以LCD坐標(biāo)系為基準(zhǔn))PRESSURE按鍵的輕重程度TV按鍵發(fā)生的時間,,項目進度,TSLIB校正原理TSLIB的函數(shù)TS_OPEN打開觸摸屏設(shè)備TS_CONFIG讀取觸摸屏配置文件并決定加載模塊VARIANCE限定點擊力度方差DEJITTER去除點擊抖動LINEAR將觸摸屏上的坐標(biāo)轉(zhuǎn)換成LCD的坐標(biāo)TS_CLOSE釋放觸摸屏設(shè)備及相關(guān)資源TS_FD返回打開的觸摸屏設(shè)備的文件描述符TS_READ從觸摸屏設(shè)備讀取采樣點坐標(biāo)開發(fā)板上運行CALIBRATE程序,觸摸屏上任何一點的坐標(biāo)就可以在主機LCD屏上回顯出來。于是,就采集到了4個角的物理坐標(biāo)假設(shè)是64英寸屏,640X480分辨率,則它們的像素坐標(biāo)分別是(20,20)、(20,460)、620,460和620,20。這樣,使用待定系數(shù)法就可以算出坐標(biāo)系之間的平移關(guān)系。比如VXXFACTORPXXOFFSETVYYFACTORPYYOFFSET,,QT/E、QTOPIA,QTE/QTOPIA在2410S上的移植使用TSLIBEXPORTTSLIB_CONSOLEDEVICENONETSLIB運行需要的控制臺,這里就是LCD屏幕,設(shè)定控制臺設(shè)備為NONE,否則默認(rèn)為/DEV/TTY,EXPORTTSLIB_FBDEVICE/DEV/FB0指定幀緩沖設(shè)備EXPORTTSLIB_TSDEVICE/DEV/TOUCHSCREEN/0RAW指定觸摸屏設(shè)備節(jié)點文件EXPORTTSLIB_CALIBFILE/ETC/POINTERCAL指定觸摸屏校準(zhǔn)文件PINTERCAL的存放位置EXPORTTSLIB_CONFFILE/ETC/TSCONF指定TSLIB配置文件的位置EXPORTTSLIB_PLUGINDIRQTDIR/LIB/TS指定觸摸屏插件所在路徑校準(zhǔn)屏幕(5點校準(zhǔn))/TS_CALIBRATE用戶點擊從TS驅(qū)動獲得數(shù)據(jù)屏上坐標(biāo)位置運行PDA/QPE,,
下載積分: 4 賞幣
上傳時間:2024-01-06
頁數(shù): 24
大?。?0.36(MB)
子文件數(shù):