diff --git a/libraries/AP_Compass/CompassCalibrator.cpp b/libraries/AP_Compass/CompassCalibrator.cpp index 57a374987c571..8845ba260e57c 100644 --- a/libraries/AP_Compass/CompassCalibrator.cpp +++ b/libraries/AP_Compass/CompassCalibrator.cpp @@ -1065,14 +1065,15 @@ bool CompassCalibrator::calculate_orientation(void) */ bool CompassCalibrator::fix_radius(void) { - if (AP::gps().status() < AP_GPS::GPS_OK_FIX_2D) { + Location loc; + if (!AP::ahrs().get_location(loc) && !AP::ahrs().get_origin(loc)) { + GCS_SEND_TEXT(MAV_SEVERITY_WARNING, "MagCal: No location, fix_radius skipped"); // we don't have a position, leave scale factor as 0. This // will disable use of WMM in the EKF. Users can manually set // scale factor after calibration if it is known _params.scale_factor = 0; return true; } - const Location &loc = AP::gps().location(); float intensity; float declination; float inclination;