指南针-Memsic3280调试笔录 (续)

真是个烫手的芋头,黄小琥唱的没错-没那么简单。Memsic搞个2.2版本的给我,还整个守护进程,让我煞费苦心啊。原来上层用的指南针是用Orientation的数据,而3208只是个Magnetic设备,要想得到Orientation的pitch、yaw、roll数据,必须得利用Accelerometer和Magnetic的数据做处理来得到。这样我就得抽取Memsic给的一坨里面的算法,再根据自己的平台做处理。真让我纠结。。。折腾。。。考虑到Orientation是虚拟的,我还得给抽象一个输入设备驱动给它,在Hal层通过Ioctl接口把处理后的数据写入Orientation虚拟驱动并由它上报。整个思路是没什么问题,关键得看到效果啊。首先我得编码,然后测试。编码到没太大麻烦,到了测试就很痛苦了,很多不是自己控制的,还得有点运气。说这运气也很气人,有一次不小心调到了貌似正常,把我给激动的,眼看再调调效果就没什么问题了,然后放置在那等待第二天来调。那个折腾啊,第二天稍微做了修改就给整没了,后悔啊,伤心那。折腾了一天就是没找到昨天那个状态,教训,以后一定记得备份,有了个好的状态就得备份。反正这一天是彻底的浪费时间,不光没进步反而把成果给搞毁了。唉。。。

      没办法这事情还没完啊,不又是一天么,整理思路重新整呗。思维不能太禁锢了,不能想当然,很多时候就得换个角度想问题,终于不负有心人,终于回到了那个正常状态。原来当时调到正常的时候也是我“运气”,阴差阳错的给调好的,所以一直都记不得怎么调好的。这回是自己分析得出的,才知道靠运气是不靠谱的。工作来调的第一个驱动整成这样真的很深刻。最后效果上还得调调,总算是整的差不多了。


你可能感兴趣的:(算法,工作,测试,平台)