嗨对话框支持,
我正在运行一个基于物联网传感器的项目,SDK 5.160.1.19。
当我连接物联网应用程序时,默认设置为(例如)
—SF速率:10Hz
—校准模式:连续自动
—自动校准模式:基本模式
我想在编译之前修改FW,使其默认为
—SF频率:25Hz
—校准模式:连续自动
—自动校准方式:智能融合
我在user_sensor_config.c中更改了以下行:
const sensor_config_struct sensor_config_default = {ENABLE_ALL_SENSOR_FLAGS、DEFAULT_BMI160_ACCEL_RANGE DEFAULT_ACCEL_DATA_RATE, DEFAULT_BMI160_GYRO_RANGE, DEFAULT_GYRO_DATA_RATE, DEFAULT_MAG_DATA_RATE, DEFAULT_ENV_SAMPLE_INTV_MULT, DEFAULT_SFL_RATE_HZ, 1, CAL_SMARTFUSION_AUTOCAL, 0, 0, 0, 0, 0, 0};
当我连接物联网传感器应用程序时,它仍然显示“旧的”默认设置。这是不方便的,因为基本校准从来没有工作过(传感器总是漂移-磁力计?)
我该如何改变这种行为?
致以最亲切的问候
约翰内斯
设备:
嗨gme_johannes,
您是否尝试更改user_app_wrbl_config.h文件中的默认值?sensor_config_default结构中的默认值在user_app_wrbl_config.h中定义。
谢谢,PM_Dialog
嗨PM_Dialog,
在我找到的这份文件里
我改成了
但我没有发现默认的校准方法。
现在我改变了结构
来
这是否足以在启动时进行聚变自动校准?
编辑:
我重新编译和重新编程,仍然物联网传感器应用显示10Hz和“连续自动”。
同样,如果我按“从NV读取配置”。
解决这个问题的正确方法是什么?
谢谢,
约翰内斯
嗨gme_johannes,,
您可以尝试在user_app_wrbl_config.h文件中取消USE_SPI_FLASH_CONFIG宏的定义吗?
谢谢,PM_Dialog
嗨PM_Dialog,
(1)你能解释当USE_SPI_FLASH_CONFIG被定义/未定义时会发生什么吗?
(2)每一种情况下的默认值从哪里来,什么时候它被定义了,什么时候它没有定义?
(3)当我从应用程序中更改配置然后“写入NV内存”时,这些值是如何存储的?当USE_SPI_FLASH_CONFIG未定义时,这仍然有效吗?
编辑:我发现“写入NV内存”没有任何影响USE_SPI_FLASH_CONFIG未定义。它是有意义的。
虽然在我设置的代码中
使用CAL_SMARTFUSION_AUTOCAL,物联网应用显示“基本自动校准”,而不是“智能融合自动校准”。你能确认吗?如何使用后者启动?
BR约翰内斯
嗨gme_johannes,
如果未定义USE_SPI_FLASH_CONFIG你可以从默认加载数据数组和user_app_wrbl_config.h改变SENSOR_SAMPLE_RATE_IMU用户样本情况下,例如SENSOR_SAMPLE_RATE_USER_CASE2和选择样本案例BMI160_ACCEL_OUTPUT_DATA_RATE_200HZ和BMI160_ACCEL_OUTPUT_DATA_RATE_200HZ。关于物联网应用程序中的默认值,如您正确提到的,您应该修改sensor_config_default。在重新编译代码之后,应该更改这些值。此外,您可以在app内改变校准模式,并按下“store”按钮。
谢谢,PM_Dialog
你好PM_Dialog,谢谢你的回答。
不幸的是,我仍然不能理解我的观点(4),尽管我设置默认为“CAL_SMARTFUSION_AUTOCAL”,应用程序仍然会显示基本校准。我现在已经手动更改了所有传感器,并将其存储到NVRAM与应用程序。
BR约翰内斯
嗨gme_johannes。
谢谢你的指点和反馈
问候,PM_Dialog