T527 Qt 触摸 ----- TSLIB

news2024/11/28 10:36:03

一、调试

1、驱动路径

bsp/drivers/input/ctp/gt9xx/gt9xx_ts.c

2、硬件接口

挂载在TWI0下

3、中断复位脚

4、设备树

&twi0 {
        clock-frequency = <400000>;
        pinctrl-0 = <&twi0_pins_default>;
        pinctrl-1 = <&twi0_pins_sleep>;
        pinctrl-names = "default", "sleep";
        /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 1 */
        twi_drv_used = <1>;
        twi-supply = <&reg_dcdc4>;
        status = "okay";
        
          gt9xx {
                compatible = "goodix,gt9xx";
                reg = <0x5d>;
                status = "okay";
                irq-gpios = <&pio PD 20 GPIO_ACTIVE_LOW>;
                irq-flags = <2>;
                reset-gpios = <&pio PD 21 GPIO_ACTIVE_LOW>;
                vdd_ana-supply = <&reg_dcdc4>;
                
                touchscreen-max-id = <11>;
                touchscreen-size-x = <1280>;
                touchscreen-size-y = <800>;
                touchscreen-max-w = <512>;
                touchscreen-max-p = <512>;
                //touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158,KEY_MENU=139*/
                goodix,slide-wakeup = <0>;
                goodix,type-a-report = <1>;
                goodix,driver-send-cfg = <0>;
                goodix,send-cfg-id = <0>;
                goodix,resume-in-workqueue = <0>;
                goodix,int-sync = <1>;
                goodix,revert_x = <0>;
                goodix,revert_y = <0>;
                goodix,swap-x2y = <0>;
                goodix,tp_idle_support = <1>;
                goodix,esd-protect = <1>;
                goodix,auto-update-cfg = <0>;
                goodix,power-off-sleep = <1>;
                goodix,pen-suppress-finger = <0>;
                /* GT9271_Config_20221222_v67.cfg*/
                goodix,cfg-group0 = [
                        B4 00 05 20 03 0A 3D 00 01 0A
                        28 0F 50 32 03 05 00 00 00 00
                        00 00 06 17 19 1F 14 8E 2E 99
                        2D 2F 35 11 00 00 00 1A 03 10
                        00 00 00 00 00 00 00 00 00 00
                        00 32 50 94 D5 02 07 00 00 04
                        8E 48 00 8A 4D 00 86 53 00 83
                        59 00 80 60 00 80 00 00 00 00
                        00 00 00 00 00 00 00 00 00 00
                        00 00 00 00 00 00 00 00 00 00
                        00 00 00 00 00 00 00 00 00 00
                        00 00 00 01 04 05 06 07 08 09
                        0C 0D 0E 0F 10 11 14 15 16 17
                        FF FF FF FF FF FF FF FF FF FF
                        FF FF 28 27 26 25 24 23 22 21
                        20 1F 1E 1C 1B 19 13 12 11 10
                        0F 0D 0C 0A 08 07 06 04 02 00
                        FF FF FF FF FF FF FF FF FF FF
                        FF FF FF FF AB 01
                ];
        };
};

5、buildroot 构建

项目根路径执行./build.sh buildroot_menuconfig,选择tslib相关配置:

问题1:编译烧录无tslib插件,厂家的opengl库被qt覆盖的问题的。

makefile 修改后编译无法执行,需要删除out目录下,才会重新执行。

rm -rf out/t527/demo_linux_car/buildroot/buildroot/build/gpu_um_pub/

发现: qtbase 也会编译 eglfs, 导致覆盖了了厂家库, 需要执行上面的操作,让最后生成的厂家库覆盖qt编译的opengl。

二、验证测试

1、驱动

烧录后加载了对应驱动

2、系统指令 hexdump 测试

hexdump /dev/input/event3可以读取触摸/dev/input/eventX设备的原始数据,确认驱动可以上报数据。

3、读取事件

cat /dev/input/event3

4、文件系统存在 tslib 插件库。

存在

5、文件系统配置 Qt 插件路径和tslib 环境变量。

env查看环境变量,更改自己的配置

(rootfs修改:buildroot/package/auto/rootfs/etc/profile.d/qtenv.sh)

缺少tslib的库文件,触摸无反应,移植现有的tslib的库文件到buildroot/package/auto/rootfs/usr/lib目录下(需要库文件可联系我)

修改环境变量:

6、Qt GUI验证

Qt显示旋转方向和触摸旋转方向不一致

在buildroot/package/auto/rootfs/etc/profile.d/qtenv.sh中修改:

修改后应用启动后验证触摸和显示一一映射,准确且正确映射。 

7、触摸不准

之前用ts_calibrate校准过,电容屏不需要校准,删除校准文件pointercal

路径:export TSLIB_CALIBFILE=/etc/pointercal

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1581868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue通过echarts实现数据可视化

1、安装echarts cnpm install echarts -Sechart官方图表示例大全&#xff1a;https://echarts.apache.org/examples/zh/index.html#chart-type-line 2、代码实现 <template><div><div class"box" ref"zhu"></div><div class&…

设计模式之创建型模式---建造者模式

文章目录 建造者模式概述经典的建造者模式建造者模式的变种总结 建造者模式概述 建造者模式是一种广泛使用的设计模式&#xff0c;在三方开源库和各种SDK中经常见到。建造者设计模式在四人帮的经典著作《设计模式&#xff1a;可复用面向对象软件基础》中被提及&#xff0c;它的…

赛氪网|2024中国翻译协会年会“AI科技时代竞赛与就业”分论坛

在2024年中国翻译协会年会期间&#xff0c;赛氪网与中西部翻译协会共同体多边合作平台共同承办&#xff0c;于3月30日下午在长沙成功举办了“AI科技时代竞赛与就业分论坛”。该论坛汇聚了众多翻译界、科技界和教育界的专家学者&#xff0c;共同探讨科技、实践、就业与竞赛人才培…

五、Redis 集群搭建

目录 一、redis集群搭建&#xff08;3台机器、6个节点&#xff09; 1、在安装目录下创建7001、7002文件夹&#xff0c;把之前的redis.conf配置文件复制到7001文件夹中&#xff0c;进行编辑 2、传到其他服务器的文件要记得修改端口和集群节点信息和pidfile,不然redis 起不来 …

【MySQL】C# 连接MySQL

C# 连接MySQL 1. 添加MySQL引用 安装完MySQL之后&#xff0c;在安装的默认目录 C:\Program Files (x86)\MySQL\Connector NET 8.0 中查找MySQLData.dll文件。 在Visual Studio 中为项目中添加引用。 2. 引入命名空间 using MySql.Data.MySqlClient;3. 构建连接 private …

【项目】棋海争锋

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f4d5;格言&#xff1a;吾愚多不敏&#xff0c;而愿加学欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 项目介绍 WebSocket介绍 使用 项目创建 数据库设计 用户模块 登录接口 注册接口 获取用户信息接口 匹配模块 …

Java每日一题(三道同一类型的题)

前言 本文一共有三道题:1.两数之和 2.三数之和 3. 四数之和 为什么把这三道题放一起呢&#xff0c;因为三数之和是可以根据两数之和进行推导&#xff0c;四数之和可以根据三数之和进行推导。 两数之和 思路分析: 我的思路: 1.排序 2.使用左右指针 3.处理细节问题 先让数组…

【C++成长记】C++入门 |函数重载、引用、内联函数

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;C❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、函数重载 1、函数重载概念 二、引用 1、引用概念 2、引用特性 3、常引用 4、使用场景 5、…

【C++杂货铺】详解 stack 和 queue

&#x1f308;前言&#x1f308; 欢迎收看本期【C杂货铺】&#xff0c;本期内容将讲解CSTL中stack和queue的内容&#xff0c;其中包含了stack &#xff0c; queue&#xff0c;priority_queue是什么&#xff0c;怎么使用以及模拟实现这些容器。 此外&#xff0c;还将将讲解设计模…

秋叶Stable diffusion的创世工具安装-带安装包链接

来自B站up秋葉aaaki&#xff0c;近期发布了Stable Diffusion整合包v4.7版本&#xff0c;一键在本地部署Stable Diffusion&#xff01;&#xff01; 适用于零基础想要使用AI绘画的小伙伴~本整合包支持SDXL&#xff0c;预装多种必须模型。无需安装git、python、cuda等任何内容&am…

wordpress全站开发指南-面向开发者及深度用户(全中文实操)--wordpress中的著名循环

wordpress中的著名循环 首先&#xff0c;在深入研究任何代码之前&#xff0c;我们首先要确保我们有不止一篇博客文章可以工作。因此&#xff0c;我们要去自己的wordpress站点&#xff0c;从侧边栏单机Posts(文章)&#xff0c;进行创建 在执行代码的时候会优先执行single.php如…

【算法刷题】八大排序算法总结(冒泡、选择、插入、二分插入、归并、快速、希尔、堆排序)

文章目录 八大排序算法总结1.冒泡排序2.选择排序3.插入排序4.二分插入排序5.归并排序6.快速排序7.希尔排序8.堆排序 八大排序算法总结 排序排序方法平均情况最好情况最坏情况空间稳定性1冒泡排序O(n2)O(n)O(n2)O(1)稳定2选择排序O(n2)O(n2)O(n2)O(1)不稳定3插入排序O(n2)O(n)O…

生活中的数学 --- 等额本息贷款和等额本金贷款的月供应该怎么算?

等额本息贷款和等额本金贷款的月供应该怎么算&#xff1f; 从一个例子开始&#xff0c;假设我要从银行贷款36万(即&#xff0c;本金)&#xff0c;银行给出的贷款年利率是12%(月利率为年利率除以12)&#xff0c;贷款半年(6个月)&#xff0c;按月还款&#xff0c;分6期还完。 问分…

go websocket

WebSocket 是一种网络协议&#xff0c;建立在 HTTP 协议之上&#xff0c;允许双向通信。WebSocket 协议允许服务器发送数据到客户端&#xff0c;同时也可以让客户端向服务器发送数据。WebSocket 使用 HTTP 协议的升级请求和响应来建立连接。WebSocket 的主要优点在于它可以通过…

【Node.js】短链接

原文链接&#xff1a;Nodejs 第六十二章&#xff08;短链接&#xff09; - 掘金 (juejin.cn) 短链接是一种缩短长网址的方法&#xff0c;将原始的长网址转换为更短的形式。短链接的主要用途之一是在社交媒体平台进行链接分享。由于这些平台对字符数量有限制&#xff0c;长网址可…

Lua热更新(AssetBundle)

AssetBundle 新版本导入ab包报错,则删除其中的Tests文件夹。 给资源分组 打包设置:平台、路径、重复打包清空文件夹、复制到streaming文件夹 建议勾选 建议使用LZ4压缩方式 用来观察文件中的包大小,不常用 参数总结: 这六个只做了解,重要的是上面的

kubesphere部署(apple m1 m2 m3)

背景&#xff1a;使用一个命令kk(KubeKey)同时快速安装 Kubernetes 和 KubeSphere的集成环境&#xff0c;提高效率&#xff0c;减少部署时所花费的精力。这里环境为apple m2 一、KubeSphere简介 KubeSphere 是在 Kubernetes 之上构建的面向云原生应用的分布式操作系统&#x…

YOLOv7全网独家改进: 卷积魔改 | 变形条状卷积,魔改DCNv3二次创新

💡💡💡本文独家改进: 变形条状卷积,DCNv3改进版本,不降低精度的前提下相比较DCNv3大幅度运算速度 💡💡💡强烈推荐:先到先得,paper级创新,直接使用; 💡💡💡创新点:1)去掉DCNv3中的Mask;2)空间域上的双线性插值转改为轴上的线性插值; 💡💡💡…

人工智能——深度学习

4. 深度学习 4.1. 概念 深度学习是一种机器学习的分支&#xff0c;旨在通过构建和训练多层神经网络模型来实现数据的高级特征表达和复杂模式识别。与传统机器学习算法相比&#xff0c;深度学习具有以下特点&#xff1a; 多层表示学习&#xff1a;深度学习使用深层神经网络&a…

智过网:报考中级注册安全工程师需要什么条件?

随着社会的快速发展和科技的日新月异&#xff0c;安全生产问题越来越受到人们的关注。中级注册安全工程师作为专业安全管理人才&#xff0c;其职责与角色日益凸显。那么&#xff0c;想要报考中级注册安全工程师&#xff0c;需要满足哪些条件呢&#xff1f; 首先&#xff0c;报考…