T527 Qt 触摸 ----- TSLIB

一、调试

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 0A28 0F 50 32 03 05 00 00 00 0000 00 06 17 19 1F 14 8E 2E 992D 2F 35 11 00 00 00 1A 03 1000 00 00 00 00 00 00 00 00 0000 32 50 94 D5 02 07 00 00 048E 48 00 8A 4D 00 86 53 00 8359 00 80 60 00 80 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 01 04 05 06 07 08 090C 0D 0E 0F 10 11 14 15 16 17FF FF FF FF FF FF FF FF FF FFFF FF 28 27 26 25 24 23 22 2120 1F 1E 1C 1B 19 13 12 11 100F 0D 0C 0A 08 07 06 04 02 00FF FF FF FF FF FF FF FF FF FFFF 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.mzph.cn/news/805933.shtml

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

相关文章

关于ansible的模块 ⑤

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 继《关于Ansible的模块 ①》、《关于Ansible的模块 ②》、《关于Ansible的模块 ③》与《关于Ansible的模块 ④》之后&#xff0c…

Redis(事务)

本篇博客中 Redis 事务是和 MySQL 事务对比来说的(要不我也不会了 …) Redis 事务是什么? Redis 事务的主要意义是 把命令打包在一起执行, 避免其他客户端在我执行一些命令的过程中 插队. ("秒杀"场景, "超卖"问题) Redis 事务 与 MySQL 事务 对比 相比较…

Spring Boot 切面的一种的测试方法,java中级开发面试

void afterReturnName() { Assertions.assertEquals(studentController.getNameById(123L).getName(), "测试姓名Yz");} } 但往往切面中的逻辑并非这么简单&#xff0c;在实际的测试中其实我们也完成没有必要关心在切面中到底发生了什么&#xff08;发生了什么应该在…

正则问题【蓝桥杯】/dfs

正则问题 dfs 刚开始用的是栈&#xff0c;没有想到dfs… #include<iostream> #include<stack> using namespace std; string s; int pos; int dfs() {//ans表示到当前位置最多的x数目//num表示暂存的x数目int num0,ans0;while(pos<s.size()){if(s[pos](){pos;…

HarmonyOS实战开发-如何实现文件管理相关的功能。

介绍 本示例主要展示了文件管理相关的功能&#xff0c;使用ohos.multimedia.medialibrary 、ohos.filemanagement.userFileManager 、ohos.fileio 、ohos.file.fs、ohos.app.ability.contextConstant 等接口&#xff0c;实现了增添文件、删除文件、查找指定类型文件文件、复制…

oracle恢复异常处理

问题现象&#xff1a; RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> 18> 19> 20> 21> 22> 23> 24> using target database control file instead of recovery catalog allocate…

软件测试定义和分类

什么是软件 软件是计算机程序&#xff0c;程序所用的数据以及有关文档资料的集合。 软件是计算机的灵魂&#xff0c;软件又可分为两大类&#xff1a;系统软件和应用软件。 系统软件&#xff1a;系统软件是生成&#xff0c;准备和执行其他程序所需要的一组文件和程序。如操作…

论文阅读--Conservative Q-Learning for Offline Reinforcement Learning

摘要 在强化学习( RL )中有效地利用以前收集的大量数据集是大规模实际应用的关键挑战。离线RL算法承诺从先前收集的静态数据集中学习有效的策略&#xff0c;而无需进一步的交互。然而&#xff0c;在实际应用中&#xff0c;离线RL是一个主要的挑战&#xff0c;标准的离线RL方法…

数字化浪潮下,制造业如何乘势而上实现精益生产

随着数字化技术的迅猛发展&#xff0c;制造业正迎来前所未有的变革机遇。本文将探讨如何利用数字化手段助推制造业实现精益生产&#xff0c;从而在激烈的市场竞争中脱颖而出。 1、构建智能化生产系统 借助物联网技术&#xff0c;实现设备之间的互联互通&#xff0c;构建智能化…

CODEFORCES --- 1676A. Lucky?

1676A. Lucky? 彩票是由六位数字组成的字符串。如果前三位数字之和等于后三位数字之和&#xff0c;则视为幸运彩票。给定一张彩票&#xff0c;输出它是否幸运。请注意&#xff0c;彩票可以有前导零。 输入 输入的第一行包含一个整数 t ( 1≤t≤103 ) - 测试用例的数量。 每…

腾讯云云原生数据库TDSQL-C mysql 以及项目怎么接入

要接入腾讯云的云原生数据库TDSQL-C的MySQL版本&#xff0c;并将它用于你的项目中&#xff0c;你需要按照以下步骤进行&#xff1a; 创建TDSQL-C的MySQL数据库实例&#xff1a; 登录腾讯云控制台。在产品搜索框中搜索TDSQL-C&#xff0c;然后选择它。在TDSQL-C的产品页面上&…

【爬虫】在Scrapy中配置随机User-Agent中间件

祝福这个快要漫出来的杯子吧&#xff0c;让杯里的水变得金光灿烂地流出&#xff0c;把反映你的喜悦的光送往各处! &#x1f3b5; 罗老师《查拉图斯特拉的前言_漾水》 在网络爬虫开发中&#xff0c;合理使用User-Agent&#xff08;UA&#xff09;是绕过服务…

Linux函数学习 select

1、Linux select 函数 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds 最大文件fd 1 readfds 监听可读文件集合fd writefds 监听可写文件集合fd exceptfd 监听异常文件集…

数据结构--循环链表

一.循环链表的设计 1.循环链表的结构设计: typedef struct CNode{ int data; struct CNode* next; }CNode ,*CList; 2.循环链表的示意图: 3.循环链表和单链表的区别: 唯一区别,没有空指针,尾节点的后继为头,为循环之意. 二.循环链表的实现 //初始化free(q);return true; …

Pandas的测试关键词云

文章目录 前言一、pandas是什么&#xff1f; 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a;随着人工智能的不断发展&#xff0c;机器学习这门技术也越来越重要&#xff0c;很多人都开启了学习机器学习&#xff0c;本文就介绍了机器学…

git 拉取项目时切换账号密码

一般拉取线上代码的先 1.git clone 2.在输入用户名 3.输入密码 等三步操作,这样子太麻烦了 直接一步操作 git clone http://用户名:密码地址 1 例子 如果你用户叫123xxx 密码是mypassword 地址是git.xxx.com/www.git git clone http://123xxx:mypasswordgit.xxx.com/www.git注…

Spring boot 入门 ---(一),2024年最新java进阶训练营

spring-snapshots http://repo.spring.io/snapshot spring-milestones http://repo.spring.io/milestone spring-boot-starter-parent是使用Spring Boot的一种不错的方式&#xff0c;但它 并不总是最合适的。有时你可能需要继承一个不同的父POM&#xff0c;或只是不喜欢我…

集成sharding-jdbc实现分库分表

集成sharding-jdbc实现分库分表 sharding-jdbc是由当当捐入给apache的一款分布式数据库中间件&#xff0c;支持垂直分库、垂直分表、水平分库、水平分表、读写分离、分布式事务和高可用等相关功能。 1、ruoyi-framework\pom.xml模块添加sharding-jdbc整合依赖 <!-- shard…

自己写的组件中使用v-model双向绑定

这里的时间选择表单是我写的一个组件&#xff0c;我想用v-model获取到实时的ref值。 代码&#xff1a; //父组件<TimePickerModal v-model:value"time" label-text"计划客面时间" /> const time ref(2024-04-09 15:20:00);//子组件<template>…

基于Springboot中小企业设备管理系统设计与实现(论文+源码)_kaic

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&a…