1.0
This commit is contained in:
@@ -191,9 +191,15 @@ VL53L0X_Error Vl53Board_ReadAll(Vl53Board_t *board, Vl53BoardSnapshot_t *snapsho
|
||||
snapshot->range_status[i] = data.RangeStatus;
|
||||
|
||||
if (data.RangeStatus == 0u) {
|
||||
/* 2. 标记有效并更新卡尔曼滤波器 */
|
||||
/* 2. 标记有效并按开关决定是否应用卡尔曼滤波 */
|
||||
snapshot->valid_mask |= (1u << i);
|
||||
#if PARAM_VL53_USE_KALMAN_FILTER
|
||||
snapshot->range_mm_filtered[i] = vl53_kalman_update(&board->kf[i], (float)data.RangeMilliMeter);
|
||||
#else
|
||||
snapshot->range_mm_filtered[i] = (float)data.RangeMilliMeter;
|
||||
board->kf[i].x = (float)data.RangeMilliMeter;
|
||||
board->kf[i].initialized = 1u;
|
||||
#endif
|
||||
} else {
|
||||
/* 测距失败时,滤波值维持上一次的历史最佳估计不变 */
|
||||
snapshot->range_mm_filtered[i] = board->kf[i].x;
|
||||
|
||||
Reference in New Issue
Block a user