给Dragonboard 410c开发板接上触摸屏显示器

博主最近准备基于Dragonboaard 410c做几个智能产品,需要用到显示器和触摸屏,但在官网搜了一下,发现都没有与开发板配套的显示器和触摸屏,没办法,只能去万能的淘宝上看有没适合的了。
淘宝上搜了一圈,最终选择了一款可以使用在树莓派上的7寸触摸显示器。
https://item.taobao.com/item.htm?spm=a230r.1.14.16.pFn5U8&id=527902436783&ns=1&abbucket=12#detail

这里写图片描述
这里写图片描述

选择这款触摸显示器,是因为它已经在树莓派上验证过,那在Dragonboaard 410c开发板上应该也是可以使用的。而且是触摸屏和显示器二合一,VGA和HDMI接口,外加带有选择按键和音频输出,这样的配置基本可以满足大部分的开发调试了。

收到货后赶紧接上板子试一下,显示器、按键和音频输出都是正常的,但是触摸屏虽然有效果,但是座标映射不对,基本没法使用。淘宝的老板给了一款校正软件,但安装上去使用不了。看来还是得自己研究一下相关的触摸驱动。

我的板子上使用的是Android系统,既然触摸屏是有效果的,那说明驱动代码应该是没问题的,只是TP座标需要重新映射一下。那驱动代码在哪里呢?

我们知道一般触摸屏设备都是通过input子系统上报座标值的,都会有对应的input设备节点,既然触摸屏有反应,那我们先看看对应的input设备节点信息。

这里写图片描述

可以看到,蓝色标记出就是对应的input设备节点信息了,那我们直接在工程代码下搜索相应的关键字:

这里写图片描述

过滤搜索出来了几个驱动文件,那具体的驱动文件应该就在这几个当中了。我们直接在这几个驱动文件里添加log信息,最后发现,使用的是kernel/drivers/hid/hid-multitouch.c这个驱动。

既然已经找到驱动文件,那我们只要修改TP上报的座标值,使之重新映射成正确的触摸屏座标就OK了。尝试了几次修改,最后发现直接把上报的X/Y轴值对换就可以了。

这里写图片描述

大功告成!这样整个触摸屏显示器就都可以正常使用啦!

这里写图片描述

发布了31 篇原创文章 · 获赞 10 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章