RK3568下电容触屏幕调试技巧

Goodix GT911

最重要的事情:检查I2C控制器是否好使;i2c-tools:

我用的是I2C-2,刚开始 I2C-2 一直读不出来东西,

出现 I2C 的 log:"timeout, ipd: 0x10, state: 1"时,此时 I2C 控制器工作正常,但是
cpu 无法响应 I2C 中断,此时可能 cpu0 被阻塞了(一般 I2C 中断都在 cpu0 上面,通过 cat
/proc/interrups 可以查看),或者可能是 I2C 中断位被关闭了。
当出现 I2C 的 log 类似:"timeout, ipd: 0x80, state: 1"时,看到 ipd 为 0x80 打印,可以
说明当前 SCL 被 slave 拉住,要判断被哪个 slave 拉住:

我出现的是"timeout, ipd: 0x10, state: 1,后来发现问题是 I2C的 时钟线在焊接电路的时候接地了(底板子上的器件都是硬件工程师手动焊接的);

### RK3568 平台摸屏调试方法 #### 配置 TSC2007 摸屏控制器 对于基于RK3568平台的应用,当采用TSC2007作为电阻式摸屏控制器时,需关注其驱动程序的配置与设置。这涉及到确保内核已加载相应的模块并正确识别硬件接口参数[^1]。 ```bash modprobe tsc2007 dmesg | grep tsc2007 ``` 上述命令用于加载TSC2007驱动模块,并通过`dmesg`查看系统日志确认设备是否被成功探测。 #### 设置输入设备分类 针对多屏显示环境下的摸交互需求,在代码层面可通过调整输入设备类别实现特定功能绑定。例如,为了使某一外接显示屏响应来自指定源的控事件,则可在相应位置加入如下语句: ```cpp device->classes |= InputDeviceClass::EXTERNAL; ``` 此操作意在标记该输入装置为外部类型,从而影响后续的数据路由逻辑[^3]。 #### 实现摸数据读取 完成初步设定之后,开发者可以编写应用程序来获取实际的坐标信息。下面给出了一段简单的Python脚本示范如何利用Linux evdev库处理原始事件流: ```python import evdev from evdev import InputDevice, categorize, ecodes def read_touch_events(device_path='/dev/input/eventX'): device = InputDevice(device_path) for event in device.read_loop(): if event.type == ecodes.EV_ABS: print(categorize(event)) ``` 这段代码会持续监听选定路径下代表物理按键或传感器状态变化的消息队列,并筛选出绝对定位类型的记录加以展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值