diff --git a/src/css/tabs/mission_planer.css b/src/css/tabs/mission_planer.css index 0c74ef53..b929614a 100644 --- a/src/css/tabs/mission_planer.css +++ b/src/css/tabs/mission_planer.css @@ -474,4 +474,22 @@ .tab-mission-control .btnTable-success a:hover { background-color: #218838; -} \ No newline at end of file +} + +.tab-mission-control .legendItem { + display:block; +} + +.tab-mission-control .fill{ + border:none; + border-bottom:5px dotted #88CC3E; + display:inline-block; + width:20px; +} + +.tab-mission-control .textLegend{ + margin:2px; +} +.tab-mission-control .valueLegend{ + float:right; +} diff --git a/tabs/mission_control.html b/tabs/mission_control.html index 01359639..9734546b 100644 --- a/tabs/mission_control.html +++ b/tabs/mission_control.html @@ -96,19 +96,33 @@
- - - - - - - - - - - - -
+ + + + + + + + + + + + +
+
+
+ Legend : +
+ + Max distance (m): + +
+
+ + Safe Radius (m): + +
+
diff --git a/tabs/mission_control.js b/tabs/mission_control.js index 3f3a9b23..8d34915c 100644 --- a/tabs/mission_control.js +++ b/tabs/mission_control.js @@ -360,9 +360,22 @@ TABS.mission_control.initialize = function (callback) { ////////////////////////////////////////////////////////////////////////////////////////////// // define & init parameters for default Settings - ////////////////////////////////////////////////////////////////////////////////////////////// - var settings = { speed: 0, alt: 5000, safeRadiusSH : 50}; - + ////////////////////////////////////////////////////////////////////////////////////////////// + var vMaxDistSH = 0; + var settings = {}; + mspHelper.getSetting("safehome_max_distance").then(function (s) { + if (s) { + console.log(s); + vMaxDistSH = Number(s.value)/100; + settings = { speed: 0, alt: 5000, safeRadiusSH : 50, maxDistSH : vMaxDistSH}; + } + else { + console.log(s); + vMaxDistSH = 0; + settings = { speed: 0, alt: 5000, safeRadiusSH : 50, maxDistSH : vMaxDistSH}; + } + }); + console.log(settings); ////////////////////////////////////////////////////////////////////////////////////////////// // define & init Waypoints parameters ////////////////////////////////////////////////////////////////////////////////////////////// @@ -543,7 +556,7 @@ TABS.mission_control.initialize = function (callback) { let circleStyle = new ol.style.Style({ stroke: new ol.style.Stroke({ - color: 'rgba(255, 163, 46, 1)', + color: 'rgba(144, 12, 63, 0.5)', width: 3, lineDash : [10] }), @@ -570,9 +583,10 @@ TABS.mission_control.initialize = function (callback) { style : function(iconFeature) { let styles = [getSafehomeIcon(safehome)]; if (safehome.isUsed()) { - //circleStyle.setGeometry(new ol.geom.Circle(iconFeature.getGeometry().getCoordinates(), safehomeRangeRadius)); + circleStyle.setGeometry(new ol.geom.Circle(iconFeature.getGeometry().getCoordinates(), getProjectedRadius(settings.maxDistSH))); circleSafeStyle.setGeometry(new ol.geom.Circle(iconFeature.getGeometry().getCoordinates(), getProjectedRadius(Number(settings.safeRadiusSH)))); styles.push(circleSafeStyle); + styles.push(circleStyle); } return styles; } @@ -1029,6 +1043,8 @@ TABS.mission_control.initialize = function (callback) { cleanSafehomeLayers(); renderSafehomesTable(); renderSafehomesOnMap(); + $('#safeHomeMaxDistance').text(settings.maxDistSH); + $('#SafeHomeSafeDistance').text(settings.safeRadiusSH); }; button.addEventListener('click', handleShowSafehome, false); @@ -1530,8 +1546,11 @@ TABS.mission_control.initialize = function (callback) { $(this).addClass('disabled'); GUI.log('Start of sending Safehome points'); mspHelper.saveSafehomes(); - GUI.log('End of sending Safehome points'); - $('#saveEepromSafehomeButton').removeClass('disabled'); + setTimeout(function(){ + mspHelper.saveToEeprom(); + GUI.log('End of sending Safehome points'); + $('#saveEepromSafehomeButton').removeClass('disabled'); + }, 500); }); ///////////////////////////////////////////// @@ -1635,8 +1654,14 @@ TABS.mission_control.initialize = function (callback) { // Callback for settings ///////////////////////////////////////////// $('#saveSettings').on('click', function () { - settings = { speed: Number($('#MPdefaultPointSpeed').val()), alt: Number($('#MPdefaultPointAlt').val()), safeRadiusSH: Number($('#MPdefaultSafeRangeSH').val()) }; + let oldSafeRadiusSH = settings.safeRadiusSH; + settings = { speed: Number($('#MPdefaultPointSpeed').val()), alt: Number($('#MPdefaultPointAlt').val()), safeRadiusSH: Number($('#MPdefaultSafeRangeSH').val()), maxDistSH : vMaxDistSH}; saveSettings(); + if (settings.safeRadiusSH != oldSafeRadiusSH && $('#showHideSafehomeButton').is(":visible")) { + cleanSafehomeLayers(); + renderSafehomesOnMap(); + $('#SafeHomeSafeDistance').text(settings.safeRadiusSH); + } closeSettingsPanel(); });