diff --git a/js/fc.js b/js/fc.js index 96f99f03..19822760 100644 --- a/js/fc.js +++ b/js/fc.js @@ -763,6 +763,24 @@ var FC = { return retVal; }, + getAccelerometerCalibrated: function () { + var calibrated = true; + var flagNames = FC.getArmingFlags(); + + if (CALIBRATION_DATA.accGain.X === 4096 && CALIBRATION_DATA.accGain.Y === 4096 && CALIBRATION_DATA.accGain.Z === 4096 && + CALIBRATION_DATA.accZero.X === 0 && CALIBRATION_DATA.accZero.Y === 0 && CALIBRATION_DATA.accZero.Z === 0 + ) { + calibrated = false; + } + + if ((calibrated) && flagNames.hasOwnProperty(13)) { + if (bit_check(CONFIG.armingFlags, 13)) { + calibrated = false; + } + } + + return calibrated; + }, getUserControlMode: function () { return [ "Attitude", diff --git a/tabs/calibration.js b/tabs/calibration.js index 80877045..05edcc39 100755 --- a/tabs/calibration.js +++ b/tabs/calibration.js @@ -176,24 +176,16 @@ TABS.calibration.initialize = function (callback) { } function setupCalibrationButton(callback) { - let showCalibrate = false; - var flagNames = FC.getArmingFlags(); - if (flagNames.hasOwnProperty(13)) { - if (bit_check(CONFIG.armingFlags, 13)) { - showCalibrate = true; - } - } - - if (showCalibrate) { - $('#calibrate-start-button').html(chrome.i18n.getMessage("AccBtn")); - $('#calibrate-start-button').prop("title", chrome.i18n.getMessage("AccBtn")); - $('#calibrate-start-button').addClass("calibrate"); - $('#calibrate-start-button').removeClass("resetCalibration"); - } else { + if (FC.getAccelerometerCalibrated()) { $('#calibrate-start-button').html(chrome.i18n.getMessage("AccResetBtn")); $('#calibrate-start-button').prop("title", chrome.i18n.getMessage("AccResetBtn")); $('#calibrate-start-button').removeClass("calibrate"); $('#calibrate-start-button').addClass("resetCalibration"); + } else { + $('#calibrate-start-button').html(chrome.i18n.getMessage("AccBtn")); + $('#calibrate-start-button').prop("title", chrome.i18n.getMessage("AccBtn")); + $('#calibrate-start-button').addClass("calibrate"); + $('#calibrate-start-button').removeClass("resetCalibration"); } if (callback) callback();