T527 Qt 触摸 ----- TSLIB

2024-04-10 12:36
文章标签 qt 触摸 tslib t527

本文主要是介绍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

这篇关于T527 Qt 触摸 ----- TSLIB的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/891078

相关文章

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

Qt之QMessageBox的具体使用

《Qt之QMessageBox的具体使用》本文介绍Qt中QMessageBox类的使用,用于弹出提示、警告、错误等模态对话框,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.简单介绍3.常见函数4.按钮类型(QMessage::StandardButton)5.分步骤实现弹窗6.总结1.引言

Qt中Qfile类的使用

《Qt中Qfile类的使用》很多应用程序都具备操作文件的能力,包括对文件进行写入和读取,创建和删除文件,本文主要介绍了Qt中Qfile类的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.QFile文件操作3.演示示例3.1实验一3.2实验二【演示 QFile 读写二进制文件的过程】4.

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

Qt中QGroupBox控件的实现

《Qt中QGroupBox控件的实现》QGroupBox是Qt框架中一个非常有用的控件,它主要用于组织和管理一组相关的控件,本文主要介绍了Qt中QGroupBox控件的实现,具有一定的参考价值,感兴趣... 目录引言一、基本属性二、常用方法2.1 构造函数 2.2 设置标题2.3 设置复选框模式2.4 是否

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Qt 中 isHidden 和 isVisible 的区别与使用小结

《Qt中isHidden和isVisible的区别与使用小结》Qt中的isHidden()和isVisible()方法都用于查询组件显示或隐藏状态,然而,它们有很大的区别,了解它们对于正确操... 目录1. 基础概念2. 区别清见3. 实际案例4. 注意事项5. 总结1. 基础概念Qt 中的 isHidd