mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-03 06:11:36 +08:00
fix position_estimator_inav_main: put terrain_estimator on the stack
This fixes a memory leak
This commit is contained in:
@@ -410,7 +410,7 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
|
|||||||
|
|
||||||
/* wait for initial baro value */
|
/* wait for initial baro value */
|
||||||
bool wait_baro = true;
|
bool wait_baro = true;
|
||||||
TerrainEstimator *terrain_estimator = new TerrainEstimator();
|
TerrainEstimator terrain_estimator;
|
||||||
|
|
||||||
thread_running = true;
|
thread_running = true;
|
||||||
hrt_abstime baro_wait_for_sample_time = hrt_absolute_time();
|
hrt_abstime baro_wait_for_sample_time = hrt_absolute_time();
|
||||||
@@ -1264,8 +1264,8 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* run terrain estimator */
|
/* run terrain estimator */
|
||||||
terrain_estimator->predict(dt, &att, &sensor, &lidar);
|
terrain_estimator.predict(dt, &att, &sensor, &lidar);
|
||||||
terrain_estimator->measurement_update(hrt_absolute_time(), &gps, &lidar, &att);
|
terrain_estimator.measurement_update(hrt_absolute_time(), &gps, &lidar, &att);
|
||||||
|
|
||||||
if (inav_verbose_mode) {
|
if (inav_verbose_mode) {
|
||||||
/* print updates rate */
|
/* print updates rate */
|
||||||
@@ -1358,8 +1358,8 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
|
|||||||
global_pos.eph = eph;
|
global_pos.eph = eph;
|
||||||
global_pos.epv = epv;
|
global_pos.epv = epv;
|
||||||
|
|
||||||
if (terrain_estimator->is_valid()) {
|
if (terrain_estimator.is_valid()) {
|
||||||
global_pos.terrain_alt = global_pos.alt - terrain_estimator->get_distance_to_ground();
|
global_pos.terrain_alt = global_pos.alt - terrain_estimator.get_distance_to_ground();
|
||||||
global_pos.terrain_alt_valid = true;
|
global_pos.terrain_alt_valid = true;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user