嵌入式Linux应用程序开发-(10)i.MX6UL基于嵌入式QT实现电容...
i.MX6UL基于嵌入式QT实现电容屏多点触控基于i.MX6UL平台,使用嵌入式QT实现电容屏的多点触控,前提是开发板的电容触摸屏驱动已经支持多点触控,并且驱动程序能通过事件方式向应用程序上报触控数据。关于电容触摸屏多点触控驱动程序的介绍,不在本章节描述之列。本章节重在实现多点触控的QT应用程序。
嵌入式QT电容屏多点触控应用程序,是基于qTUIO库和mtdev库来实现的。qTUIO是国外一位开发者编写的第三方库,这个第三方库在本地UDP套接字上实现了一个基于TUIO协议的监听器,然后把监听到的事件转发到QT的内部事件系统。
mtdev是一个独立的库,它可以将来自内核的MT事件转换为时隙类型的B协议,这些MT事件可能来自内核中所有的MT设备。
总的来说,mtdev库可以把内核上报的多点触摸事件,通过mtdev2tuio后台应用程序(后面会讲到这个应用程序的移植),转换为TUIO协议,然后QT应用程序可以使用qTUIO库对内核上报的触摸事件进行处理。
以下是多点触控应用程序(涂鸦画板)运行时的界面:
界面描述:
(1)手写板界面,可以用多个手指同时涂鸦,最多支持5点同时触摸。
(2)Options里面有clear screen按钮,可以进行清屏。
本章节主要分以下两个步骤进行讲述:
(1) 在i.MX6UL开发板上移植qTUIO库,使其支持嵌入式QT多点触摸应用程序开发。
(2) 基于qTUIO库,编写一个QT多点触控应用程序。(手写板应用程序)
具体的移植和开发过程,请点击这里
应用程序在开发板上运行的界面,如下图所示:
帮顶 开拖拉机的孩子 发表于 2019-6-13 22:23
帮顶
感谢支持 这个不错,感谢楼主,有空学学 谢谢分享,以后会用到 donglaile 发表于 2019-6-14 20:32
这个不错,感谢楼主,有空学学
感谢关注 flash3g 发表于 2019-6-14 20:59
谢谢分享,以后会用到
感谢关注 支持一下,这块一直很想入坑,但苦于没时间和精力 NIC 发表于 2019-6-15 13:38
支持一下,这块一直很想入坑,但苦于没时间和精力
时间就像rugou,挤挤就会有了,精力呢,需要靠锻炼{:lol:} 请教下楼主,QT的触控程序我之前有移植到树莓派上做些测试,类似在界面上增加按钮测试,发现触控位置不准确,前后左右都是反着的。不清楚怎么回事。只有在qt上触控是反着的,其他界面触控位置正常 ziziy 发表于 2019-6-15 14:45
请教下楼主,QT的触控程序我之前有移植到树莓派上做些测试,类似在界面上增加按钮测试,发现触控位置不准确 ...
是不是QT的环境变量没有配置好,建议检查一下呢 广轻电气091 发表于 2019-6-15 15:11
是不是QT的环境变量没有配置好,建议检查一下呢
环境变量应该是配置好的,编译出的程序可以使用,但是以QT的语法写触摸类程序,就会出现触摸点的坐标上下左右是反着的,不清楚Qt有没有设置校准方向的程序。同一个程序在pc上运行,触控点都正常 支持一下,QT已入坑 ziziy 发表于 2019-6-16 16:29
环境变量应该是配置好的,编译出的程序可以使用,但是以QT的语法写触摸类程序,就会出现触摸点的坐标上下 ...
暂时没有碰到这类问题呢{:lol:} Llinuxu 发表于 2019-6-18 09:06
支持一下,QT已入坑
感谢支持,祝早日出坑 ziziy 发表于 2019-6-16 16:29
环境变量应该是配置好的,编译出的程序可以使用,但是以QT的语法写触摸类程序,就会出现触摸点的坐标上下 ...
你可以直接hexdump/dev/input/event*查看上报的位置是否反了。
一般这个情况,通过更新屏的固件可以解决。 没有pdf格式了 zhongsandaoren 发表于 2019-6-20 09:35
没有pdf格式了
有的,到blog找联系方式 元器件及PCB销售 发表于 2019-6-20 14:38
一巧不通的我,看不懂。
学习一下,就懂了{:lol:} 学习学习 tyustli 发表于 2019-6-23 14:00
学习学习
感谢关注 学习了,楼主加油 linhuaou 发表于 2019-6-24 11:30
学习了,楼主加油
一起学习,一起进步 imx6ul跑qt5以上的版本,流畅吗?最近在6q和6ul之间考虑中,下一代产品打算换成linux + qt,目前是wince + qt 、winform 产品软件还需要3D模型绘制 hyf88 发表于 2019-7-6 14:25
imx6ul跑qt5以上的版本,流畅吗?最近在6q和6ul之间考虑中,下一代产品打算换成linux + qt,目前是wince +...
imx6ul跑Qt5还是比较流畅的 hyf88 发表于 2019-7-6 14:26
产品软件还需要3D模型绘制
还没研究过3D图形绘制,3D渲染方面,imx6ul可能稍有逊色,建议使用imx6q 广轻电气091 发表于 2019-7-7 10:14
imx6ul跑Qt5还是比较流畅的
好的,谢谢 有时间就聊聊技术,谈谈人生,欢迎关注公众号 【微联智控】
楼主到10就没有了吗?建议pdf和源码都放在这个网站,跳来点去的别的网站也麻烦,csdn我一直都不喜欢!正打算入手一块6ul呢,楼主给力!不知道我入坑能否成功!
能不能来个CAN通讯方面的撸一章! jiang887786 发表于 2019-8-1 22:06
楼主到10就没有了吗?建议pdf和源码都放在这个网站,跳来点去的别的网站也麻烦,csdn我一直都不喜欢!正打 ...
感谢建议,后面会有CAN通信的章节 已经关注!!! jiang887786 发表于 2019-8-18 00:45
已经关注!!!
感谢关注! 楼主,我也使用yoctc构建工程,配置如下:
Build Configuration:
BB_VERSION = "1.30.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-16.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "imx6dlsabreauto"
DISTRO = "fsl-imx-wayland"
DISTRO_VERSION = "4.1.15-2.1.0"
TUNE_FEATURES = "arm armv7a vfpneon callconvention-hard cortexa9"
TARGET_FPU = "hard"
meta
meta-poky = "HEAD:f5da2a5913319ad6ac2141438ba1aa17576326ab"
meta-oe
meta-multimedia = "HEAD:247b1267bbe95719cd4877d2d3cfbaf2a2f4865a"
meta-fsl-arm = "HEAD:be78894e4682f111575470fb23e51e6ba523508d"
meta-fsl-arm-extra = "HEAD:3dfb82fc7e703eae9891b3ffda0e9393701f2396"
meta-fsl-demos = "HEAD:a165068f8a0d1cf29aabe4b4053f28be1c2aa492"
meta-bsp
meta-sdk = "HEAD:823b26a67261270d2bf22d511e6190641a8a90cf"
meta-browser = "HEAD:77736988073a5d90fcff9d0005c8477332ede387"
meta-gnome
meta-networking
meta-python
meta-filesystems= "HEAD:247b1267bbe95719cd4877d2d3cfbaf2a2f4865a"
meta-qt5 = "HEAD:ccae79be69c5268df3b47e4e14cea0591c39a531"
错误如下:
| ...skipped <p/home/xialixin/workspace/fsl-release-bsp/build-wayland/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/boost/1.60.0-r0/boost_1_60_0/arm-poky-linux-gnueabi/boost/bin.v2/libs/log/build/8208f58b5e252bb068de8fecdebc659d>libboost_log_setup.so.1.60.0 for lack of <p/home/xialixin/workspace/fsl-release-bsp/build-wayland/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/boost/1.60.0-r0/boost_1_60_0/arm-poky-linux-gnueabi/boost/bin.v2/libs/log/build/8208f58b5e252bb068de8fecdebc659d>init_from_settings.o...
| ...failed updating 1 target...
| + bb_exit_handler
| + ret=1
| + echo WARNING: exit code 1 from a shell command.
| WARNING: exit code 1 from a shell command.
| + exit 1
| ERROR: Function failed: do_compile (log file is located at /home/xialixin/workspace/fsl-release-bsp/build-wayland/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/boost/1.60.0-r0/temp/log.do_compile.38778)
ERROR: Task 4600 (/home/xialixin/workspace/fsl-release-bsp/sources/poky/meta/recipes-support/boost/boost_1.60.0.bb, do_compile) failed with exit code '1'
然后就卡死在这儿了,请教一下楼主怎么解决? LingYi 发表于 2019-8-19 11:06
楼主,我也使用yoctc构建工程,配置如下:
Build Configuration:
BB_VERSION = "1.30.0"
你好,目前没有遇到过类似的问题,从错误提示看,是编译wayland源码的时候出现错误,可查看一下log文件,检查一下wayland相关的源码及依赖库有没有下载完整。 广轻电气091 发表于 2019-8-19 11:19
你好,目前没有遇到过类似的问题,从错误提示看,是编译wayland源码的时候出现错误,可查看一下log文件, ...
应该是有1个目标文件没能更新到本地,为啥会这样,不清楚
LingYi 发表于 2019-8-19 11:37
应该是有1个目标文件没能更新到本地,为啥会这样,不清楚
因为不可描述的因素,访问国外服务器下载源码的时候,可能会出现问题 广轻电气091 发表于 2019-8-19 11:44
因为不可描述的因素,访问国外服务器下载源码的时候,可能会出现问题
楼主,用的是ubuntu 16.464位的吗? LingYi 发表于 2019-8-26 16:19
楼主,用的是ubuntu 16.464位的吗?
是的,教程用的是ubuntu16.04.2,镜像源是使用 ubuntu 的官方源 广轻电气091 发表于 2019-8-26 16:31
是的,教程用的是ubuntu16.04.2,镜像源是使用 ubuntu 的官方源
谢谢!似乎卡死在这儿了! 18501501628 发表于 2019-8-26 17:09
yocto从入门到放弃,劝退很多人
yocto的坑,挺深的 你好,建议你阅读一下yocto的官方文档。 广轻电气091 发表于 2019-8-28 10:36
你好,建议你阅读一下yocto的官方文档。
楼主你编译的内核代码怎么精准导入到source insight的?
我按照:http://www.pianshen.com/article/9213120160/ 这个可以实现uboot的导入。
但是 使用yocto编译生成的.config文件,从build/.config拷贝到 ./git 再使用make 进行编译,最终也生成了vmlinux
在使用脚本 PF_Prj_Gen.sh去解析的时候,生成不了list文件。不知道你怎么弄 的
页:
[1]