diff --git a/tabs/calibration.html b/tabs/calibration.html
index 8fc495da0..50dc13d00 100755
--- a/tabs/calibration.html
+++ b/tabs/calibration.html
@@ -168,7 +168,7 @@
diff --git a/tabs/calibration.js b/tabs/calibration.js
index 353767159..d162b1c9a 100755
--- a/tabs/calibration.js
+++ b/tabs/calibration.js
@@ -199,27 +199,36 @@ TABS.calibration.initialize = function (callback) {
$(button).addClass('disabled');
- modalProcessing = new jBox('Modal', {
+ let modalProcessing = new jBox('Modal', {
width: 400,
height: 100,
animation: false,
closeOnClick: false,
closeOnEsc: false,
- content: $('#modal-compass-processing')
+ content: $('#modal-compass-processing').clone()
}).open();
var countdown = 30;
helper.interval.add('compass_calibration_interval', function () {
countdown--;
- $('#modal-compass-countdown').text(countdown);
if (countdown === 0) {
- $(button).removeClass('disabled');
-
- modalProcessing.close();
- GUI.log(chrome.i18n.getMessage('initialSetupMagCalibEnded'));
- MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, updateSensorData);
- helper.interval.remove('compass_calibration_interval');
+ setTimeout(function () {
+ $(button).removeClass('disabled');
+
+ modalProcessing.close();
+ GUI.log(chrome.i18n.getMessage('initialSetupMagCalibEnded'));
+
+ MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, updateSensorData);
+ helper.interval.remove('compass_calibration_interval');
+
+ //Cleanup
+ delete modalProcessing;
+ $('.jBox-wrapper').remove();
+ }, 1000);
+ } else {
+ modalProcessing.content.find('.modal-compass-countdown').text(countdown);
}
+
}, 1000);
});