1
0
Fork 0
mirror of https://github.com/iNavFlight/inav-configurator.git synced 2025-07-19 06:15:11 +03:00
This commit is contained in:
breadoven 2021-11-15 22:14:59 +00:00
parent 389e292e49
commit 82865ba1e5
3 changed files with 24 additions and 9 deletions

View file

@ -5,7 +5,7 @@ let WaypointCollection = function () {
let self = {}, let self = {},
data = [], data = [],
maxWaypoints = 60, maxWaypoints = 120,
isValidMission = 0, isValidMission = 0,
countBusyPoints = 0, countBusyPoints = 0,
version = 0, version = 0,
@ -81,7 +81,7 @@ let WaypointCollection = function () {
self.reinit = function () { self.reinit = function () {
data = []; data = [];
maxWaypoints = 60; maxWaypoints = 120;
isValidMission = 0; isValidMission = 0;
countBusyPoints = 0; countBusyPoints = 0;
version = 0; version = 0;

View file

@ -784,12 +784,14 @@ TABS.mission_control.initialize = function (callback) {
totalmultimissionWPs = multimission.get().length + mission.get().length; totalmultimissionWPs = multimission.get().length + mission.get().length;
$("#updateMultimissionButton").removeClass('disabled'); $("#updateMultimissionButton").removeClass('disabled');
$("#setActiveMissionButton").removeClass('disabled'); $("#setActiveMissionButton").removeClass('disabled');
$('#missionPlanerElevation').show();
} else { } else {
$('#missionDistance').text('N/A'); $('#missionDistance').text('N/A');
totalmultimissionWPs = mission.get().length; totalmultimissionWPs = mission.get().length;
$("#editMission").show(); $("#editMission").show();
$("#updateMultimissionButton").addClass('disabled'); $("#updateMultimissionButton").addClass('disabled');
$("#setActiveMissionButton").addClass('disabled'); $("#setActiveMissionButton").addClass('disabled');
$('#missionPlanerElevation').hide();
setMultimissionEditControl(true); setMultimissionEditControl(true);
} }
$('#multimissionInfo').text(multimissionCount + ' missions (' + totalmultimissionWPs + '/' + mission.getMaxWaypoints() + ' WPs)'); $('#multimissionInfo').text(multimissionCount + ' missions (' + totalmultimissionWPs + '/' + mission.getMaxWaypoints() + ' WPs)');
@ -804,6 +806,7 @@ TABS.mission_control.initialize = function (callback) {
$("#addMultimissionButton").addClass('disabled'); $("#addMultimissionButton").addClass('disabled');
$("#setActiveMissionButton").addClass('disabled'); $("#setActiveMissionButton").addClass('disabled');
} }
updateTotalInfo();
} }
// /* checks if single mission loaded on map */ // /* checks if single mission loaded on map */
@ -886,14 +889,18 @@ TABS.mission_control.initialize = function (callback) {
mission.get()[i].setNumber(i); mission.get()[i].setNumber(i);
i++; i++;
}); });
mission.setMaxWaypoints(multimission.getMaxWaypoints());
multimission.get().splice(startWPCount, (endWPCount - startWPCount + 1)) // cut current active map mission from MM multimission.get().splice(startWPCount, (endWPCount - startWPCount + 1)) // cut current active map mission from MM
mission.update(); mission.update();
updateMultimissionState();
selectedMarker = null; selectedMarker = null;
clearEditForm(); clearEditForm();
setView(14); setView(14);
refreshLayers(); refreshLayers();
updateTotalInfo(); updateTotalInfo();
plotElevation();
} }
/* single mission selection using WP Edit panel button */ /* single mission selection using WP Edit panel button */
@ -2166,7 +2173,6 @@ TABS.mission_control.initialize = function (callback) {
$('#editMission').on('click', function () { $('#editMission').on('click', function () {
mapSelectEditMultimission(selectedMarker.getNumber()); mapSelectEditMultimission(selectedMarker.getNumber());
updateMultimissionState();
}); });
///////////////////////////////////////////// /////////////////////////////////////////////
@ -2267,13 +2273,12 @@ TABS.mission_control.initialize = function (callback) {
missions += element.getEndMission() == 0xA5 ? 1 : 0; missions += element.getEndMission() == 0xA5 ? 1 : 0;
}); });
if (missions == 1) updateAllMultimission(); if (missions == 1) updateAllMultimission();
editMultimission();
} else { } else {
updateAllMultimission(); updateAllMultimission();
updateMultimissionState(); updateMultimissionState();
return;
} }
updateMultimissionState();
editMultimission();
}); });
$('#addMultimissionButton').on('click', function () { $('#addMultimissionButton').on('click', function () {
@ -2680,6 +2685,7 @@ TABS.mission_control.initialize = function (callback) {
mission.setMaxWaypoints(MISSION_PLANER.getMaxWaypoints()); mission.setMaxWaypoints(MISSION_PLANER.getMaxWaypoints());
mission.setValidMission(MISSION_PLANER.getValidMission()); mission.setValidMission(MISSION_PLANER.getValidMission());
mission.setCountBusyPoints(MISSION_PLANER.getCountBusyPoints()); mission.setCountBusyPoints(MISSION_PLANER.getCountBusyPoints());
multimission.setMaxWaypoints(mission.getMaxWaypoints());
updateTotalInfo(); updateTotalInfo();
mission.reinit(); mission.reinit();
mission.copy(MISSION_PLANER); mission.copy(MISSION_PLANER);
@ -2699,7 +2705,10 @@ TABS.mission_control.initialize = function (callback) {
function updateTotalInfo() { function updateTotalInfo() {
if (CONFIGURATOR.connectionValid) { if (CONFIGURATOR.connectionValid) {
let availableWPs = mission.getMaxWaypoints() - mission.getCountBusyPoints(); let availableWPs = mission.getMaxWaypoints() - mission.get().length;
if (multimissionCount && singleMissionActive()) {
availableWPs = availableWPs - multimission.get().length;
}
$('#availablePoints').text(availableWPs + '/' + mission.getMaxWaypoints()); $('#availablePoints').text(availableWPs + '/' + mission.getMaxWaypoints());
$('#missionValid').html(mission.getValidMission() ? chrome.i18n.getMessage('armingCheckPass') : chrome.i18n.getMessage('armingCheckFail')); $('#missionValid').html(mission.getValidMission() ? chrome.i18n.getMessage('armingCheckPass') : chrome.i18n.getMessage('armingCheckFail'));
} }
@ -2813,6 +2822,12 @@ TABS.mission_control.initialize = function (callback) {
color: '#1f77b4', color: '#1f77b4',
}, },
}; };
/* Show multi mission number in plot title when single mission displayed
* Not updated when ALL multi missions displayed since plot disabled */
let missionNumber = '';
if (multimissionCount) {
missionNumber = ' ' + ($('#multimissionOptionList').val());
}
var layout = {showlegend: true, var layout = {showlegend: true,
legend: { legend: {
"orientation": "h", "orientation": "h",
@ -2820,7 +2835,7 @@ TABS.mission_control.initialize = function (callback) {
y: 1.3, y: 1.3,
x: 0.5 x: 0.5
}, },
title: 'Mission Elevation Profile', title: 'Mission' + missionNumber + ' Elevation Profile',
xaxis: { xaxis: {
title: 'Distance (m)' title: 'Distance (m)'
}, },

View file

@ -916,7 +916,7 @@ OSD.constants = {
name: 'MISSION INFO', name: 'MISSION INFO',
id: 129, id: 129,
min_version: '4.0.0', min_version: '4.0.0',
preview: 'M1/6>27WP' preview: 'M1/6>101WP'
}, },
{ {
name: 'VERSION', name: 'VERSION',