我们正在尝试将加速度计的范围从2G增加到8G/16G,但无论我们做什么,值仍然被限制在2G。我们看到了你之前发表的一篇文章,在bmi160.c的第477行添加了这些行:
s_bmi160.delay_msec (C_BMI160_ONE_UBX);
bmi160_set_accel_range (BMI_160_ACCEL_RANGE);
可以解决问题,但对我们还是不起作用。我们还尝试更改user_app_wrbl_config.h中的默认范围值,但似乎什么都不起作用。请提供加速度计范围增加到上城区8G/16G的解决方案,以便我们获得该范围内的原始数据值。
设备:
嗨pureform,
该修复对物联网的SFL项目有效,我可以看到应用修复后的值发生变化,这取决于为加速度计设置的范围。您使用的项目版本是SFL还是RAW项目?
由于MT_dialog
我们正在使用RAW项目,而不是SFL项目。
嗨pureform,
使用原始的项目我能看到改变的值根据accellerometer的范围从物联网传感器设置android / iOS应用程序,不需要添加额外的线路上使用这种原始项目(使用一个嗅探器为了检查,这样的价值观,我读了空气,我可以看到z轴是根据测量1G时的量程修改的)。关于你总是得到的值,就像设备被配置为在2G中运行一样,你确定这一点吗,可能会有一个机会,由于加速度计校准程序,你会在改变加速度计范围时得到错误的值。尝试禁用定义USE_FAST_ACC_VAL并检查。
由于MT_dialog
我们已经将数据范围设置为16G,而不是从应用端获取命令,当我们按下'Read configuration from NV'时,应用配置页面识别16G。
由于我们没有嗅探器,这就是我们检查来自传感器的数据流的方法。
对于Xcode上的app项目(正式的物联网项目),我只是添加了一行来将加速度计的解析值打印到控制台。但如你所见,我们得到的数据仍然限制在2G。
我们已经附上了Keli和Xcode的截图。
嗨pureform,
那么你提到的应该是iOS应用程序的问题,而不是物联网fw的问题,显然该应用程序试图阻止改变加速度计的范围,因为物联网的官方fw有这个问题。所以尝试在iOS源代码上执行以下mod,并检查是否有效。
SensorController.m
- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)特征错误:(nullable NSError *)错误{
//解决旧的物联网固件bug。范围设置无效。
//保持默认灵敏度,对应2G范围。
if ([self isIoTNewVersion]){//注释掉这个条件
自我。accelerometerSensitivity = [[ACCELEROMETER_SENSITIVITY objectForKey:[NSNumber numberWithInt: byte_accelerometer_range]] floatValue];
NSLog(@“加速度计参数:敏感性= %。2 f”,self.accelerometerSensitivity);
}
由于MT_dialog