From b0933b4c719e1c91a9734f5a3a6faf522c1fd1a9 Mon Sep 17 00:00:00 2001
From: ArnoTlse <76259684+ArnoTlse@users.noreply.github.com>
Date: Thu, 22 Apr 2021 21:11:15 +0200
Subject: [PATCH] Safehome update version 1.0
Add Save to Eprom to the Save button
Add Second circle to Safehome icon representing the Safehome_max_distance where the value is directly extracted from the COMMON_SETTINGS
Add Legend under Safehome table about the circles
---
src/css/tabs/mission_planer.css | 20 +++++++++++++++-
tabs/mission_control.html | 40 +++++++++++++++++++++-----------
tabs/mission_control.js | 41 ++++++++++++++++++++++++++-------
3 files changed, 79 insertions(+), 22 deletions(-)
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();
});