AP_Compass: make internal compasses use a higher cal threshold

they tend to be a lot noisier
This commit is contained in:
Andrew Tridgell 2016-05-18 16:32:32 +10:00
parent d67b1edf10
commit f7ac6c8d86

View File

@ -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);