VtsHalSensorsV2_0Target#SensorsHidlTest.FlushSensor(default)_32bit Fail:

问题描述
VtsHalSensorsV2_0Target
VtsHalSensorsV2_0Target#SensorsHidlTest.FlushSensor(default)_32bit
Fail:
hardware/interfaces/sensors/2.0/vts/functional/VtsHalSensorsV2_0TargetTest.cpp:730
Expected equality of these values:
callback.getFlushCount(sensor.sensorHandle)
Which is: 0
expectedFlushCount
Which is: 5

解决方案
1.没有使用pick up sensor(很少有function用到此功能)的情况下:

在projectconfig中注释掉上述宏控即可
在ProjectConfig.mk 中去掉 CUSTOM_KERNEL_PICK_UP_SENSOR
2.使用pick up sensor的情况下:
ex:这个sensor 用于抬起亮屏
如果是MTK算法,直接关掉.
如果三方算法,需要第三方处理并做以下修改:
/kernel-4.14/drivers/misc/mediatek/sensors-1.0/situation/pickup_gesture/pickup_gesture.c
{
int err = 0;
if (event->flush_action == FLUSH_ACTION)
— pr_debug(“pickup_gesture do not support flush\n”);
+++ situation_flush_report(ID_PICK_UP_GESTURE);
else if (event->flush_action == DATA_ACTION)
err = situation_notify_t(ID_PICK_UP_GESTURE,
(int64_t)event->time_stamp);
return err;
}
/vendor/mediatek/proprietary/hardware/sensor/sensors-1.0/Situation.cpp
case ID_PICK_UP_GESTURE:
if (event->flush_action == DATA_ACTION) {
mPendingEvent.version = sizeof(sensors_event_t);
mPendingEvent.sensor = ID_PICK_UP_GESTURE;
mPendingEvent.type = SENSOR_TYPE_PICK_UP_GESTURE;
if (event->time_stamp)
mPendingEvent.timestamp = event->time_stamp;
else
mPendingEvent.timestamp = android::elapsedRealtimeNano();
mPendingEvent.data[0] = (float) event->word[0];
— }
+++ }else if (event->flush_action == FLUSH_ACTION) {
+++ mPendingEvent.version = META_DATA_VERSION;
+++ mPendingEvent.sensor = 0;
+++ mPendingEvent.type = SENSOR_TYPE_META_DATA;
+++ mPendingEvent.meta_data.what = META_DATA_FLUSH_COMPLETE;
+++ mPendingEvent.meta_data.sensor = ID_PICK_UP_GESTURE;
+++ // must fill timestamp, if not, readEvents may can not report flush to framework
+++ mPendingEvent.timestamp = android::elapsedRealtimeNano() + IGNORE_EVENT_TIME;
}
break;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值