关于触摸屏校准

时间:2021-02-12 11:44:17
触摸屏校准中,如果校准的数据没有之前的数据准,该怎么取舍?也就是说我们如何获取最佳的校准数据,而不是一校准就更新注册表中的校准数据?
看了下MDD层的函数,在TouchPanelReadCalibrationPoint函数中,通过“ *pRawX = lCalibrationXCoord; *pRawY = lCalibrationYCoord; ”来获取新的校准数据,那我们如果想达到最佳校准数据的目的,是不是要在这里对数据进行判断?如果是这样,那我们如何判断?在比较好的校准数据之上加个偏差?其次,我们能否修改MDD层的函数,修改之后,对系统有无影响?PB会调用新的MDD函数吗?
还有一个问题,在注册表中TOUCH的一个变量“MaxCalError”= “8”,这个值以整数类型打印出来后,变为56,该怎么理解?8的ASCII码为0x48.它在校准中是作用能否详细的解释下?

6 个解决方案

#1


求高人解释下……

#2


一般情况下,没有必要修改MDD的函数吧, 通过
修改PDD的函数, 可以达到一般要求的.

注册表中的CalibrationData项保存你每次设置好的样准值. 
wince启动时,默认的校准值就是从这里加载的.

当然,你的注册表要是hive的,否则不保存设置. 

#3


可是,如果想达到我所说的那种要求,修改PDD的函数好像实现不了?
我的注册表是hive的,所以每次校准完都会保存。

#4


mark

#5


楼主的问题应该不是修改MDD可以解决的,
还是要考虑修改PDD层。
如果采样足够准的话,就不会出现校准后反而不准的情况了。

#6


修改MaxCalError的值就可以达到目的了,越小越好,实验证明,实践是检验真理的唯一办法。

#1


求高人解释下……

#2


一般情况下,没有必要修改MDD的函数吧, 通过
修改PDD的函数, 可以达到一般要求的.

注册表中的CalibrationData项保存你每次设置好的样准值. 
wince启动时,默认的校准值就是从这里加载的.

当然,你的注册表要是hive的,否则不保存设置. 

#3


可是,如果想达到我所说的那种要求,修改PDD的函数好像实现不了?
我的注册表是hive的,所以每次校准完都会保存。

#4


mark

#5


楼主的问题应该不是修改MDD可以解决的,
还是要考虑修改PDD层。
如果采样足够准的话,就不会出现校准后反而不准的情况了。

#6


修改MaxCalError的值就可以达到目的了,越小越好,实验证明,实践是检验真理的唯一办法。