Browse Source

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.
sbg
Beat Küng 5 years ago committed by Daniel Agar
parent
commit
1d78f02733
  1. 4
      src/modules/commander/mag_calibration.cpp

4
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.mavlink_log_pub = mavlink_log_pub;
worker_data.done_count = 0; worker_data.done_count = 0;
worker_data.calibration_points_perside = calibration_total_points / calibration_sides; worker_data.calibration_points_perside = calibration_total_points / detect_orientation_side_count;
worker_data.calibration_interval_perside_seconds = calibraton_duration_seconds / calibration_sides; 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; worker_data.calibration_interval_perside_useconds = worker_data.calibration_interval_perside_seconds * 1000 * 1000;
// Collect: As defined by configuration // Collect: As defined by configuration

Loading…
Cancel
Save