多点触摸串口触摸屏调试——添加驱动部分(一)

最近调试一个红外触摸屏,既有USB,又有串口两种协议,两种协议都会用到。

1. 需要通过串口发送命令去开关触摸屏的USB 触摸功能

2. 切换串口触摸的点数

static void gen_ir_process_data(struct gen_ir *pgen_ir)
{
	struct input_dev *dev = pgen_ir->dev;
	char num = pgen_ir->data[41];
	char mtouch = 0;
	unsigned char *buf = pgen_ir->data;
	
	for(i=0; i< num; i++){
		buf = &(pgen_ir->data[6*i+5]);

		if(buf[0]==0x03 || (buf[0]==0x02 && touch[i] == 0xff))
		{
			mtouch = 1;
			touch[i] = buf[0];
		}			
		else if(buf[0]==0x02 && touch[i] == 0x03){
			mtouch = 0;
			touch[i] = 0xFF;
		}
	
		if(mtouch)
		{
			input_report_abs(dev, ABS_MT_POSITION_X, GEN_IR_GET_XC(buf));
			input_report_abs(dev, ABS_MT_POSITION_Y, GEN_IR_GET_YC(buf));
			input_mt_sync(dev);
		}
		else
		{
			if(num == 1)
				input_mt_sync(dev);

		}
	}
	input_sync(dev);
}

static irqreturn_t gen_ir_interrupt(struct serio *serio,
		unsigned char data, unsigned int flags)
{
	struct gen_ir* pgen_ir = serio_get_drvdata(serio)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值