免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9627 | 回复: 14
打印 上一主题 下一主题

input_set_abs_params问题求教,什么是中心平滑位置??困惑很久了,求大神解惑啊!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-09 09:39 |只看该作者 |倒序浏览
input_set_abs_params(idev, ABS_X, -64, 64, 4, 0);
对于这个函数我知道是表示idev设备X轴范围是-64到+64,数据误差是-4到+4,中心平滑位置是0;前面几个参数我都能理解他们的意思和作用,但是最后一个参数,中心平滑位置是什么,具体表示的是什么意思??具体一点说这个值设置成0,1,2的具体区别是什么?他是要根据什么进行设置的?
比如在设置gsensor或者tp上报的数据参数时input_set_abs_params(idev, ABS_X, -64, 64, 4, 0)、 input_set_abs_params(idev, ABS_X, -64, 64, 4, 1)、input_set_abs_params(idev, ABS_X, -64, 64, 4, -1)都有怎么样的区别?
这个困惑了我好久了,求大神解答一下,不胜感激啊!!

论坛徽章:
0
2 [报告]
发表于 2013-10-12 09:36 |只看该作者
触摸屏驱动还没写过,爱莫能助

论坛徽章:
0
3 [报告]
发表于 2013-10-12 15:41 |只看该作者
那能请教下,input_set_abs_params这个函数最后一个参数,中心平滑位置是干什么的呢?有什么作用??真心求教啊。。。回复 2# knightlyj


   

论坛徽章:
0
4 [报告]
发表于 2013-10-14 14:37 |只看该作者
本帖最后由 knightlyj 于 2013-10-14 15:34 编辑

回复 3# still_waters_rp

大概是校准用的? 电阻屏经常需要校准的,具体校准流程我也忘记了,只看过一点点这方面资料,并且我的塞班手机经常要校准
   
你可以看看 源码目录/Documents里面的资料

论坛徽章:
0
5 [报告]
发表于 2013-10-15 09:37 |只看该作者
knightlyj 发表于 2013-10-14 14:37
回复 3# still_waters_rp

大概是校准用的? 电阻屏经常需要校准的,具体校准流程我也忘记了,只看过一点点 ...


input_set_abs_params(button_dev, ABS_X, 0, 255, 4, ;

This setting would be appropriate for a joystick X axis, with the minimum of
0, maximum of 255 (which the joystick *must* be able to reach, no problem if
it sometimes reports more, but it must be able to always reach the min and
max values), with noise in the data up to +- 4, and with a center flat
position of size 8.

If you don't need absfuzz and absflat, you can set them to zero, which mean
that the thing is precise and always returns to exactly the center position
(if it has any).
这是Documentation里面对该函数的举例说明。不过他里面还是没有说明中心平滑位置的意义是什么?"always returns to exactly the center position"这句要怎么判断,我要怎么才知道我的设备能不能准确的回到中心平滑位置,如果没有回到中心平滑位置会怎么样?

论坛徽章:
0
6 [报告]
发表于 2013-10-15 09:40 |只看该作者
回复 4# knightlyj

Documentation里面的函数是:
input_set_abs_params(button_dev, ABS_X, 0, 255, 4, 8  );前面回复的时候这个函数不知道为什么就变成了一个表情了。希望大神们能帮忙解答,不胜感激。


   

论坛徽章:
0
7 [报告]
发表于 2013-10-15 11:05 |只看该作者
If you don't need absfuzz and absflat, you can set them to zero, which mean
that the thing is precise and always returns to exactly the center position
这段话已经大概说明意思了,如果设置为0,表示非常精确,
always returns to exactly the center position, 什么东西返回中心,之前提到joystick 操纵杆的意思,这里是设置x轴的误差函数吧,如果每次都很精确,能返回中心值,就设置为0,有偏差就设置一个值,这个要了解具体设备的原理才能理解

论坛徽章:
0
8 [报告]
发表于 2013-10-19 09:21 |只看该作者
回复 7# knightlyj
就比如是一个重力感应器的设备,这里设置他上报他的重力坐标,理想状态他平放在桌面时,x、y轴的值应该都是为0,但是实际情况下他平放在桌面时他的值为2,即误差为2,那么是不是我平滑值就应该设置为2??如果平放上报为-2时他不是就应该设置为-2??可是当我把他设置为2时他还是会偏?求解


   

论坛徽章:
0
9 [报告]
发表于 2013-10-21 09:22 |只看该作者
回复 8# still_waters_rp


    你设置0和2对比一下结果,然后看看源码用的算法,能看懂一点就大概知道原理了

论坛徽章:
0
10 [报告]
发表于 2013-10-24 09:04 |只看该作者
回复 9# knightlyj

试过这个方法,但是发现设成2和0,没有什么差别,最要命的是在内核里也找不到这个变量的用法,所以才来这里发帖求助的。。。。


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP