FT5316调试记录
来源:互联网 发布:scratch少儿趣味编程 编辑:程序博客网 时间:2024/05/20 19:15
这个敦泰tp芯片的调试,没什么大问题,但也做一些记录。
1.这个芯片理论上可以支持10手指,但为了兼容他们之前的做法,现在只是汇报了第一个手指的坐标点,相当于只是单点。
2.这个芯片提供三种工作模式,通过设置寄存器0,可以在不一样的工作模式下工作;默认寄存器0的值为0,即正常操作模式,在这个模式下可以读取按键坐标;
通过内核API i2c_transfer,可以一次性读取多个寄存器。
static int ft5316_i2c_read(struct i2c_client *client,u8 addr,u8 *data, int length)
{
struct i2c_msg msgs[] = {
{
.addr = client->addr,
.flags = 0,
.len = 1,
.buf = &addr,
},
{
.addr = client->addr,
.flags = I2C_M_RD,
.len = length,
.buf = data,
},
};
return i2c_transfer(client->adapter, msgs, 2);
}
3.刚开始调试完之后用tslib 库进行校准,测试,没有反应;
触摸屏有三种工作方式,down touch up;当down 和 touch的时候需要汇报一个完整的数据包,包括sync;
当up的时候,不用汇报坐标点,只需汇报
input_report_key(input, BTN_TOUCH, 0);
input_report_abs(input, ABS_PRESSURE, 0);
input_sync(input);
只需汇报这三个值就行。
通过查看代码,发现没有处理当手指为0(up);
通过修改,当手指大于0时候(down touch),汇报完成数据;
当手指为0时候,只汇报input_report_key(input, BTN_TOUCH, 0);
input_report_abs(input, ABS_PRESSURE, 0);
input_sync(input);
修改之后,可以用tslib工具正常测试。
4.正确加载驱动之后,
在/sys/class/input/ 下生成 input0
cat /sys/class/input/input0/event0/uevent 可以看到主次设备号,以及设备名字,也就是在/dev下面的名字
MAJOR=13
MINOR=64
DEVNAME=input/event0
在/dev下面,确实可以看到ls -l /dev/input/event0
5.移植tslib,正确设置环境变量,测试ok
- FT5316调试记录
- 调试记录
- 调试记录
- 调试记录
- spring+ hibernate调试记录
- Nand 驱动调试记录
- sha1调试记录
- directshow程序调试记录
- STC89C5A60S2单片机调试记录
- NativeSample调试过程记录
- WCN1312调试记录
- 驱动调试记录
- camera调试记录
- 代码调试记录
- 编程调试记录之一
- 调试错误记录
- MPC8572调试记录
- BCM4330 WIFI 调试记录
- 判断宽度的js
- 第15周项目8-带姓名的成绩单(一)
- linux编程获取本机IP地址
- ceph对象存储生态文件系统
- Atlantis
- FT5316调试记录
- C# unsafe代码处理数据
- 生成一个树形结构 javascript
- proc文件系统
- n-1位数
- Android 接口和抽象类的区别
- 经典c程序100例(11--20)
- 几个简单数学分布
- Windows server 2003 安全设置