|
|
|
@ -50,9 +50,12 @@ Compass::start_calibration(uint8_t i, bool retry, bool autosave, float delay, bo
@@ -50,9 +50,12 @@ Compass::start_calibration(uint8_t i, bool retry, bool autosave, float delay, bo
|
|
|
|
|
if (!is_calibrating() && delay > 0.5f) { |
|
|
|
|
AP_Notify::events.initiated_compass_cal = 1; |
|
|
|
|
} |
|
|
|
|
if (i == get_primary()) { |
|
|
|
|
if (i == get_primary() && _state[i].external != 0) { |
|
|
|
|
_calibrator[i].set_tolerance(_calibration_threshold); |
|
|
|
|
} else { |
|
|
|
|
// internal compasses or secondary compasses get twice the
|
|
|
|
|
// threshold. This is because internal compasses tend to be a
|
|
|
|
|
// lot noisier
|
|
|
|
|
_calibrator[i].set_tolerance(_calibration_threshold*2); |
|
|
|
|
} |
|
|
|
|
_calibrator[i].start(retry, autosave, delay); |
|
|
|
|