From 1d78f0273348ce46bed3476ccd7bac7d6dfbe398 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Thu, 28 Nov 2019 10:35:37 +0100 Subject: [PATCH] mag calibration: keep time and number of points per side constant So it is independent from the number of configured sides. Previously, each side would take longer if less than 6 sides were calibrated. Also fixes a bug: calibration_sides was used before it was updated, leading to different behavior on consecutive calibrations with <6 sides. --- src/modules/commander/mag_calibration.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/commander/mag_calibration.cpp b/src/modules/commander/mag_calibration.cpp index db1a615d1b..676fae3718 100644 --- a/src/modules/commander/mag_calibration.cpp +++ b/src/modules/commander/mag_calibration.cpp @@ -524,8 +524,8 @@ calibrate_return mag_calibrate_all(orb_advert_t *mavlink_log_pub) worker_data.mavlink_log_pub = mavlink_log_pub; worker_data.done_count = 0; - worker_data.calibration_points_perside = calibration_total_points / calibration_sides; - worker_data.calibration_interval_perside_seconds = calibraton_duration_seconds / calibration_sides; + worker_data.calibration_points_perside = calibration_total_points / detect_orientation_side_count; + worker_data.calibration_interval_perside_seconds = calibraton_duration_seconds / detect_orientation_side_count; worker_data.calibration_interval_perside_useconds = worker_data.calibration_interval_perside_seconds * 1000 * 1000; // Collect: As defined by configuration