【发布时间】:2011-11-18 23:32:38
【问题描述】:
我正在将 Android Gingerbread 移植到我的定制板上(使用三星 S5PV210 处理器)。我有一个带有 ESC7000 芯片的触摸屏。我在 /kernel/drivers/input/touchscreen/usbtouchscreen.c 找到了一个驱动程序。它几乎可以工作,但 USB 数据包中的位范围、顺序和字节顺序并不好。我修改了代码以获得正确的 RAW 位置(在控制台上使用 printk 来查看它),现在它几乎可以工作了。我的数据范围从 xmin、ymin 到 xmax,ymax 是 420,430 到 3650、3650,而理论上应该是 0,0 到 4095,4095。这并不奇怪,因为电容式触摸需要校准。这是一个简单的校准,例如每个轴的 y=mx+b(简单线性校准)。我在驱动程序中环顾四周,但无法弄清楚校准的处理位置。它必须是可编程的,因为它依赖于单元,并且要在系统生产中为每个单元校准一次。我想像其他 Android 设备一样干净。有人知道校准信息在安卓系统中存储在哪里吗?进行补偿计算的代码在哪里。任何有关此的网络搜索都会提供有关想要重新校准手机的人的信息。所以对我来说没用。
【问题讨论】:
标签: android linux-kernel touchscreen android-source calibration