Skip to content

Commit ec44968

Browse files
committed
fix: last_data_ptr_ not updated in Predictor
1 parent 7cdda29 commit ec44968

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

include/fusion/predictor.hpp

+8-6
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,14 @@ class Predictor {
3838
void process(Data::ConstPtr data_ptr, std::function<void(Data::ConstPtr, Data::ConstPtr)> func_predict = nullptr) {
3939
if (!data_ptr) return;
4040

41-
if (!push_data(data_ptr)) return;
42-
43-
if (func_predict != nullptr)
44-
func_predict(last_data_ptr_, data_ptr);
45-
else
46-
predict(last_data_ptr_, data_ptr);
41+
if (!inited_)
42+
push_data(data_ptr);
43+
else {
44+
if (func_predict != nullptr)
45+
func_predict(last_data_ptr_, data_ptr);
46+
else
47+
predict(last_data_ptr_, data_ptr);
48+
}
4749

4850
last_data_ptr_ = data_ptr;
4951
}

include/sensor/imu.hpp

+2-5
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,8 @@ class IMU : public Predictor {
6060
last_am = imu_ptr->acc;
6161
}
6262

63-
if (!inited_) {
64-
imu_buf_.push_back(imu_ptr);
65-
if (imu_buf_.size() > kImuBufSize) imu_buf_.pop_front();
66-
return false;
67-
}
63+
imu_buf_.push_back(imu_ptr);
64+
if (imu_buf_.size() > kImuBufSize) imu_buf_.pop_front();
6865

6966
return true;
7067
}

0 commit comments

Comments
 (0)