[vts]fix SensorsHidlTest.AccelerometerStreamingOperationSlow(default)_32bit

本文分析了GMS认证中VTS测试Gsensorg单项测试失败的问题,详细解读了测试log,发现Gsensorg精度不足导致数据超出预期范围。通过将Gsensorg配置为高精度模式,问题得以解决,需要驱动工程师和FAE配合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

GMS 认证中VTS测试 关于 Gsensor 单项测试fail

[vts]fix SensorsHidlTest.AccelerometerStreamingOperationSlow(default)_32bit


问题描述:

测试log如下:

hardware/interfaces/sensors/common/vts/utils/SensorsHidlTestBase.cpp:416

Value of: checker.check(sensorEvents, &s)

Actual: false

Expected: true

Event @ 4200687778031 (0.306, 0.076, 0) has norm 0.315297, which is beyond range [8.80665, 10.8067]


原因分析:

根据log分析是因为相关gsensor 的精度太低了,获取到的数据 (0.306, 0.076, 0) ,跟要求的[8.80665, 10.8067]差别太大


解决方案:

gsensor改为高精度后,可以pass,该项需要驱动工程师和相关FAE协助一起把gsensor 相关模块配置成高精度即可

修改高精度举例:

--- a/kernel-4.14/drivers/misc/mediatek/sensors-1.0/accelerometer/mxc400x/mxc400x.c
+++ b/kernel-4.14/drivers/misc/mediatek/sensors-1.0/accelerometer/mxc400x/mxc400x.c
@@ -1543,7 +1543,7 @@ static int mxc400x_get_data (int* x, int* y, int* z, int* status)
     *x = buff[0];
     *y = buff[1];
     *z = cali_sensor_data;
-    *status = SENSOR_STATUS_ACCURACY_MEDIUM;
+    *status = SENSOR_STATUS_ACCURACY_HIGH;
     return 0;
 }

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值