Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/iNavFlight/inav-configurator.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tabs
diff options
context:
space:
mode:
authorKonstantin Sharlaimov (DigitalEntity) <konstantin.sharlaimov@gmail.com>2019-05-01 22:42:31 +0300
committerKonstantin Sharlaimov (DigitalEntity) <konstantin.sharlaimov@gmail.com>2019-05-01 22:42:31 +0300
commit5916100b226f1cd6dabf4851d85f961f9157638b (patch)
treefec11fec62e44d2e2cbd26e487fd17068897d55e /tabs
parent79c39486db35cc3d91a5a738a4ccfe18a2b5529d (diff)
[OPFLOW] Initial cut on optic flow calibration
Diffstat (limited to 'tabs')
-rwxr-xr-xtabs/calibration.html26
-rwxr-xr-xtabs/calibration.js43
2 files changed, 68 insertions, 1 deletions
diff --git a/tabs/calibration.html b/tabs/calibration.html
index 9cffa245..a68cbeca 100755
--- a/tabs/calibration.html
+++ b/tabs/calibration.html
@@ -115,6 +115,25 @@
</table>
</div>
</div>
+ <div class="gui_box grey">
+ <div class="gui_box_titlebar">
+ <div class="spacer_box_title" data-i18n="calibrationHead5"></div>
+ </div>
+ <div class="spacer_box">
+ <span data-i18n="OpflowCalText">text</span>
+ <div class="default_btn">
+ <div id="opflow_btn">
+ <a class="calibrateopflow" href="#" data-i18n="OpflowCalBtn"></a>
+ </div>
+ </div>
+ <table id="opflow-calibrated-data" class="cf_table">
+ <tr>
+ <td><label for="OpflowScale"><span>Scale</span></label></td>
+ <td><input type="number" name="OpflowScale" min="0" max="10000"></td>
+ </tr>
+ </table>
+ </div>
+ </div>
</div>
</div>
</div>
@@ -155,3 +174,10 @@
<div id="modal-compass-countdown" class="modal__text"></div>
</div>
</div>
+
+<div id="modal-opflow-processing" class="is-hidden">
+ <div class="modal__content">
+ <h1 class="modal__title modal__title--center" data-i18n="accCalibrationProcessing"></h1>
+ <div id="modal-opflow-countdown" class="modal__text"></div>
+ </div>
+</div>
diff --git a/tabs/calibration.js b/tabs/calibration.js
index fa0b830a..a964e0d3 100755
--- a/tabs/calibration.js
+++ b/tabs/calibration.js
@@ -61,7 +61,8 @@ TABS.calibration.initialize = function (callback) {
loadChainer.execute();
saveChainer.setChain([
- mspHelper.saveCalibrationData
+ mspHelper.saveCalibrationData,
+ mspHelper.saveToEeprom
]);
saveChainer.setExitPoint(reboot);
@@ -105,6 +106,7 @@ TABS.calibration.initialize = function (callback) {
$('[name=accZero' + item + ']').val(CALIBRATION_DATA.accZero[item]);
$('[name=Mag' + item + ']').val(CALIBRATION_DATA.magZero[item]);
});
+ $('[name=OpflowScale]').val(CALIBRATION_DATA.opflow.Scale);
updateCalibrationSteps();
}
@@ -176,6 +178,7 @@ TABS.calibration.initialize = function (callback) {
function processHtml() {
$('#calibrateButtonSave').on('click', function () {
+ CALIBRATION_DATA.opflow.Scale = parseFloat($('[name=OpflowScale]').val());
saveChainer.execute();
});
@@ -184,6 +187,11 @@ TABS.calibration.initialize = function (callback) {
$('#mag_btn, #mag-calibrated-data').css('pointer-events', 'none').css('opacity', '0.4');
}
+ if (SENSOR_CONFIG.opflow === 0) {
+ //Comment for test
+ $('#opflow_btn, #opflow-calibrated-data').css('pointer-events', 'none').css('opacity', '0.4');
+ }
+
$('#mag_btn').on('click', function () {
MSP.send_message(MSPCodes.MSP_MAG_CALIBRATION, false, false, function () {
GUI.log(chrome.i18n.getMessage('initialSetupMagCalibStarted'));
@@ -217,6 +225,39 @@ TABS.calibration.initialize = function (callback) {
}, 1000);
});
+ $('#opflow_btn').on('click', function () {
+ MSP.send_message(MSPCodes.MSP2_INAV_OPFLOW_CALIBRATION, false, false, function () {
+ GUI.log(chrome.i18n.getMessage('initialSetupOpflowCalibStarted'));
+ });
+
+ var button = $(this);
+
+ $(button).addClass('disabled');
+
+ modalProcessing = new jBox('Modal', {
+ width: 400,
+ height: 100,
+ animation: false,
+ closeOnClick: false,
+ closeOnEsc: false,
+ content: $('#modal-opflow-processing')
+ }).open();
+
+ var countdown = 30;
+ helper.interval.add('opflow_calibration_interval', function () {
+ countdown--;
+ $('#modal-opflow-countdown').text(countdown);
+ if (countdown === 0) {
+ $(button).removeClass('disabled');
+
+ modalProcessing.close();
+ GUI.log(chrome.i18n.getMessage('initialSetupOpflowCalibEnded'));
+ MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, updateSensorData);
+ helper.interval.remove('opflow_calibration_interval');
+ }
+ }, 1000);
+ });
+
$('#modal-start-button').click(function () {
modalStart.close();
TABS.calibration.model.next();