From d82470657130e8d38b71112eade97e0849c5dd8f Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Tue, 18 Aug 2020 15:03:39 -0400 Subject: [PATCH] commander: mag calibration keep manually configured special rotations - ROTATION_PITCH_9_YAW_180 and ROTATION_ROLL_90_PITCH_68_YAW_293 are kept if manually configured --- src/modules/commander/mag_calibration.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/modules/commander/mag_calibration.cpp b/src/modules/commander/mag_calibration.cpp index 4ef724d2ce..4ba61d852f 100644 --- a/src/modules/commander/mag_calibration.cpp +++ b/src/modules/commander/mag_calibration.cpp @@ -780,6 +780,20 @@ calibrate_return mag_calibrate_all(orb_advert_t *mavlink_log_pub, int32_t cal_ma #endif // DEBUG_BUILD if (worker_data.calibration[cur_mag].external()) { + + switch (worker_data.calibration[cur_mag].rotation_enum()) { + case ROTATION_ROLL_90_PITCH_68_YAW_293: + + // FALLTHROUGH + case ROTATION_PITCH_9_YAW_180: + PX4_INFO("[cal] External Mag: %d (%d), keeping manually configured rotation %d", cur_mag, + worker_data.calibration[cur_mag].device_id(), worker_data.calibration[cur_mag].rotation_enum()); + continue; + + default: + break; + } + if (smallest_check_passed && total_error_check_passed) { if (best_rotation != worker_data.calibration[cur_mag].rotation_enum()) { calibration_log_info(mavlink_log_pub, "[cal] External Mag: %d (%d), determined rotation: %d", cur_mag,