分享

设备驱动外传

 WUCANADA 2015-05-04
2010-12-20 20:10 1723人阅读 评论(0) 收藏 举报

1. 总论

  触摸屏校正就是从触摸屏到显示屏转换的算法实现。所谓的算法实现,是指通过一个线性算法把触摸屏坐标转换为显示屏坐标,为什么要有这么个转换,想想笔记本上的触摸屏对应液晶屏就明白了。

2. 算法

    Xs = (A*Xt + B*Yt + C) / G

    Ys = (D*Xt + E*Yt + F) / G

(Xs, Ys)为转换后得到的显示屏坐标,(Xt, Yt)为原始的触摸屏坐标,ABCDEFG为该线性算法的7个参数,通过至少三点(Xt1,Yt1),(Xt2,Yt2),(Xt3,Yt3),(Xs1,Ys1),(Xs2,Ys2),(Xs3,Ys3)求出这些参数,其中的(Xsi,Ysi)为校正时屏幕上出现校正点的显示屏坐标。

一般情况下,驱动程序初始化过程中,会预先实现这个算法,即取三个理论点实现算法。然而,在产品生产过程中,装配触摸屏总会有所偏差(坐标点比理论值相差几个像素),而且每块板子偏差还不一样,所以必须通过校正程序,将每块板子实际的触摸屏坐标点转换得到相对应合适的算法,其实就是得到了针对每块板子合适的算法参数ABCDEFG。

3. 校正

    系统校正完后,生成一个配置文件,存放ABCDEFG算法参数信息,文件存放于比如/etc/pointcal。如果系统启动没有发现/etc/pointcal,即没有校正过,则执行校正程序,并生成它。如果文件已经存在,则将该文件写入触摸屏驱动,真正实现算法,以后每次点触摸屏得到的坐标,就通过这个触摸屏驱动的算法转换为显示屏的坐标。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多