sensor调试过程HAL层数据不能被转移到app
2015-10-24 20:40
295 查看
最近调试e-compass传感器,我遇到了一个奇怪的问题,驱动器正常报告数据。但该数据到HAL后该层已经无法上传app。
经debug,我发现这是一个供应商派的代码存在bug,open的fd没有设置NOBLOCK铅。
制造商的HAL接从sensorbase类中派生出来的,而sensorbase的openinput中的open函数仅仅是,open(devname, O_RDONLY),所以假设去read这个fd将以堵塞的方式进行。
非常多传感器是从samsungsensorbase中派生出来的。而samsungsensorbase的构造函数中已经将data_fd通过fctl函数设置O_NOBLOCK,所以通过samsungsensorbase派生的传感器HAL代码没有问题,而直接从sensorbase派生的HAL在此处碰到了这个问题。
临时记录它。空的具体时间,然后进行分析和整理我遇到了这个问题。
经debug,我发现这是一个供应商派的代码存在bug,open的fd没有设置NOBLOCK铅。
制造商的HAL接从sensorbase类中派生出来的,而sensorbase的openinput中的open函数仅仅是,open(devname, O_RDONLY),所以假设去read这个fd将以堵塞的方式进行。
非常多传感器是从samsungsensorbase中派生出来的。而samsungsensorbase的构造函数中已经将data_fd通过fctl函数设置O_NOBLOCK,所以通过samsungsensorbase派生的传感器HAL代码没有问题,而直接从sensorbase派生的HAL在此处碰到了这个问题。
临时记录它。空的具体时间,然后进行分析和整理我遇到了这个问题。
相关文章推荐
- android 控件不同状态 selector----drawable
- IOS开发-C基础2
- iOS NSUserDefaults 之最简单存取数据 小Demo
- Android自定义View之TitleBar,通用标题栏
- Android Studio加入百度地图功能
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十)
- 【每日一点】android 震动
- android百度地图(二)之定位
- Swift2.0推送
- Cocos2D-x内存管理的原则
- Cocos2d-JS使用log方法控制台无法打印出结果
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十九)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十九)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十九)
- #在蓝懿学习iOS的日子#第一个练习日
- Cocos2d-JS屏幕适配
- Android四大图片缓存框架之-Fresco之initialize(二)
- xcode非app store安装方法