mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-16 12:55:13 +03:00
Merge branch 'Autoland-7.0.1' of https://github.com/Scavanger/inav-configurator into Autoland-7.0.1
This commit is contained in:
commit
276e811a15
5 changed files with 80 additions and 15 deletions
2
js/fc.js
2
js/fc.js
|
@ -544,6 +544,8 @@ var FC = {
|
||||||
SETTINGS = {};
|
SETTINGS = {};
|
||||||
|
|
||||||
SAFEHOMES = new SafehomeCollection();
|
SAFEHOMES = new SafehomeCollection();
|
||||||
|
|
||||||
|
FW_APPROACH = new FwApproachCollection();
|
||||||
},
|
},
|
||||||
getOutputUsages: function() {
|
getOutputUsages: function() {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -248,5 +248,9 @@ var MSPCodes = {
|
||||||
MSP2_INAV_EZ_TUNE: 0x2070,
|
MSP2_INAV_EZ_TUNE: 0x2070,
|
||||||
MSP2_INAV_EZ_TUNE_SET: 0x2071,
|
MSP2_INAV_EZ_TUNE_SET: 0x2071,
|
||||||
|
|
||||||
MSP2_INAV_SELECT_MIXER_PROFILE: 0x2080,
|
MSP2_INAV_SELECT_MIXER_PROFILE: 0x2080,,
|
||||||
|
MSP2_INAV_SET_LED_STRIP_CONFIG_EX: 0x2049,
|
||||||
|
|
||||||
|
MSP2_INAV_FW_APPROACH: 0x204A,
|
||||||
|
MSP2_INAV_SET_FW_APPROACH: 0x204B
|
||||||
};
|
};
|
||||||
|
|
|
@ -187,6 +187,7 @@
|
||||||
<a class="ic_hide" href="#" i18n_title="missionTitleHide"></a>
|
<a class="ic_hide" href="#" i18n_title="missionTitleHide"></a>
|
||||||
</div>
|
</div>
|
||||||
<a id="cancelSafehome" class="ic_cancel" href="#" title="Cancel"></a>
|
<a id="cancelSafehome" class="ic_cancel" href="#" title="Cancel"></a>
|
||||||
|
<a id="addSafehome" class="ic_add" href="#" i18n_title="missionTitleAdd"></a>
|
||||||
<a id="saveEepromSafehomeButton" class="ic_save2Eprom" href="#" title="Save Eeprom Safehome"></a>
|
<a id="saveEepromSafehomeButton" class="ic_save2Eprom" href="#" title="Save Eeprom Safehome"></a>
|
||||||
<a id="loadEepromSafehomeButton" class="ic_loadFromEprom" href="#" title="Load Eeprom Safehome"></a>
|
<a id="loadEepromSafehomeButton" class="ic_loadFromEprom" href="#" title="Load Eeprom Safehome"></a>
|
||||||
<a id="addSafehome" class="ic_add" href="#" title="Add Safehome"></a>
|
<a id="addSafehome" class="ic_add" href="#" title="Add Safehome"></a>
|
||||||
|
@ -403,6 +404,40 @@
|
||||||
<span data-i18n="missionExclusive"></span>
|
<span data-i18n="missionExclusive"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="wpFwLanding" style="display: none;">
|
||||||
|
<div class="point">
|
||||||
|
<span style="font-weight: bold" data-i18n="missionFwLandingSettings"></span>
|
||||||
|
</div>
|
||||||
|
<div class="point">
|
||||||
|
<label class="point-label-safehome" for="wpApproachAlt" data-i18n="missionFwApproachAlt"></label>
|
||||||
|
<input type="number" id="wpApproachAlt"></input>
|
||||||
|
<span id="wpApproachAltM"></span>
|
||||||
|
</div>
|
||||||
|
<div class="point">
|
||||||
|
<label class="point-label-safehome" for="wpLandAlt" data-i18n="missionFwLandAlt"></label>
|
||||||
|
<input type="number" id="wpLandAlt"></input>
|
||||||
|
<span id="wpLandAltM"></span>
|
||||||
|
</div>
|
||||||
|
<div class="point">
|
||||||
|
<label class="point-label-safehome" for="wpApproachDirection" data-i18n="missionFwApproachDir"></label>
|
||||||
|
<select name="wpApproachDirection" id="wpApproachDirection">
|
||||||
|
<option value="0">Left</option>
|
||||||
|
<option value="1">Right</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="point">
|
||||||
|
<label class="point-label-safehome" for="wpLandHeading1" data-i18n="missionFwLandHeading1"></label>
|
||||||
|
<input type="number" id="wpLandHeading1"></input>
|
||||||
|
<input id="wpLandHeading1Excl" type="checkbox" value="0" class="togglemedium" checked required>
|
||||||
|
<span data-i18n="missionExclusive"></span>
|
||||||
|
</div>
|
||||||
|
<div class="point">
|
||||||
|
<label class="point-label-safehome" for="wpLandHeading2" data-i18n="missionFwLandHeading1"></label>
|
||||||
|
<input type="number" id="wpLandHeading2"></input>
|
||||||
|
<input id="wpLandHeading2Excl" type="checkbox" value="0" class="togglemedium" checked required>
|
||||||
|
<span data-i18n="missionExclusive"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<!-- <div class="point-radio" id="pointOptionclass" style="display: none">
|
<!-- <div class="point-radio" id="pointOptionclass" style="display: none">
|
||||||
<div class="radio-line">
|
<div class="radio-line">
|
||||||
<input type="radio" id="Options_None" name="Options" value="None" checked>
|
<input type="radio" id="Options_None" name="Options" value="None" checked>
|
||||||
|
|
|
@ -2099,6 +2099,14 @@ TABS.mission_control.initialize = function (callback) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$('#wpApproachDirection').val(selectedFwApproachWp.getApproachDirection());
|
||||||
|
$('#wpLandHeading1').val(Math.abs(selectedFwApproachWp.getLandHeading1()));
|
||||||
|
changeSwitchery($('#wpLandHeading1Excl'), selectedFwApproachWp.getLandHeading1() < 0);
|
||||||
|
$('#wpLandHeading2').val(Math.abs(selectedFwApproachWp.getLandHeading2()));
|
||||||
|
changeSwitchery($('#wpLandHeading2Excl'), selectedFwApproachWp.getLandHeading2() < 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$('#wpApproachDirection').val(selectedFwApproachWp.getApproachDirection());
|
$('#wpApproachDirection').val(selectedFwApproachWp.getApproachDirection());
|
||||||
$('#wpLandHeading1').val(Math.abs(selectedFwApproachWp.getLandHeading1()));
|
$('#wpLandHeading1').val(Math.abs(selectedFwApproachWp.getLandHeading1()));
|
||||||
changeSwitchery($('#wpLandHeading1Excl'), selectedFwApproachWp.getLandHeading1() < 0);
|
changeSwitchery($('#wpLandHeading1Excl'), selectedFwApproachWp.getLandHeading1() < 0);
|
||||||
|
@ -2421,12 +2429,29 @@ TABS.mission_control.initialize = function (callback) {
|
||||||
if ($('#pointP3Alt').prop("checked")) {
|
if ($('#pointP3Alt').prop("checked")) {
|
||||||
selectedMarker.setAlt(groundClearance + elevationAtWP * 100);
|
selectedMarker.setAlt(groundClearance + elevationAtWP * 100);
|
||||||
} else {
|
} else {
|
||||||
let elevationAtHome = HOME.getAlt();
|
selectedMarker.setAlt(altitude - Number(elevationAtWP) * 100);
|
||||||
if (isNaN(elevationAtHome)) {
|
|
||||||
elevationAtHome = elevationAtWP;
|
|
||||||
}
|
|
||||||
selectedMarker.setAlt(groundClearance + 100 * (elevationAtWP - elevationAtHome));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (selectedMarker.getAction() == MWNP.WPTYPE.LAND && selectedFwApproachWp && selectedFwApproachWp.getIsSeaLevelRef() != $('#pointP3Alt').prop("checked")) {
|
||||||
|
|
||||||
|
let oldElevation = 0;
|
||||||
|
if (selectedFwApproachWp.getIsSeaLevelRef()) {
|
||||||
|
oldElevation = selectedFwApproachWp.getElevation();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($('#pointP3Alt').prop("checked")) {
|
||||||
|
selectedFwApproachWp.setApproachAltAsl(selectedFwApproachWp.getApproachAltAsl() - oldElevation + elevationAtWP * 100);
|
||||||
|
selectedFwApproachWp.setLandAltAsl(selectedFwApproachWp.getLandAltAsl() - oldElevation + elevationAtWP * 100);
|
||||||
|
} else {
|
||||||
|
selectedFwApproachWp.setApproachAltAsl(selectedFwApproachWp.getApproachAltAsl() - elevationAtWP * 100);
|
||||||
|
selectedFwApproachWp.setLandAltAsl(selectedFwApproachWp.getLandAltAsl() - elevationAtWP * 100);
|
||||||
|
}
|
||||||
|
selectedFwApproachWp.setElevation(elevationAtWP * 100);
|
||||||
|
selectedFwApproachWp.setIsSeaLevelRef($('#pointP3Alt').prop("checked") ? 1 : 0);
|
||||||
|
$('#wpApproachAlt').val(selectedFwApproachWp.getApproachAltAsl());
|
||||||
|
$('#wpLandAlt').val(selectedFwApproachWp.getLandAltAsl());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const returnAltitude = checkAltElevSanity(false, selectedMarker.getAlt(), elevationAtWP, selectedMarker.getP3());
|
const returnAltitude = checkAltElevSanity(false, selectedMarker.getAlt(), elevationAtWP, selectedMarker.getP3());
|
||||||
|
@ -2434,7 +2459,10 @@ TABS.mission_control.initialize = function (callback) {
|
||||||
$('#pointAlt').val(selectedMarker.getAlt());
|
$('#pointAlt').val(selectedMarker.getAlt());
|
||||||
altitudeMeters = app.ConvertCentimetersToMeters(selectedMarker.getAlt());
|
altitudeMeters = app.ConvertCentimetersToMeters(selectedMarker.getAlt());
|
||||||
$('#altitudeInMeters').text(` ${altitudeMeters}m`);
|
$('#altitudeInMeters').text(` ${altitudeMeters}m`);
|
||||||
|
|
||||||
|
$('#wpLandAltM').text(selectedFwApproachWp.getLandAltAsl() / 100 + " m");
|
||||||
|
$('#wpApproachAltM').text(selectedFwApproachWp.getApproachAltAsl() / 100 + " m");
|
||||||
|
|
||||||
if (selectedFwApproachWp && selectedFwApproachWp.getIsSeaLevelRef() != $('#pointP3Alt').prop("checked")) {
|
if (selectedFwApproachWp && selectedFwApproachWp.getIsSeaLevelRef() != $('#pointP3Alt').prop("checked")) {
|
||||||
selectedFwApproachWp.setIsSeaLevelRef($('#pointP3Alt').prop("checked"));
|
selectedFwApproachWp.setIsSeaLevelRef($('#pointP3Alt').prop("checked"));
|
||||||
selectedFwApproachWp.setElevation(elevationAtWP * 100);
|
selectedFwApproachWp.setElevation(elevationAtWP * 100);
|
||||||
|
@ -2681,7 +2709,7 @@ TABS.mission_control.initialize = function (callback) {
|
||||||
|
|
||||||
$('#loadEepromSafehomeButton').on('click', function () {
|
$('#loadEepromSafehomeButton').on('click', function () {
|
||||||
$(this).addClass('disabled');
|
$(this).addClass('disabled');
|
||||||
GUI.log(chrome.i18n.getMessage('startGettingSafehomePoints'));
|
GUI.log('Start of getting Safehome points');
|
||||||
var loadChainer = new MSPChainerClass();
|
var loadChainer = new MSPChainerClass();
|
||||||
loadChainer.setChain([
|
loadChainer.setChain([
|
||||||
mspHelper.loadSafehomes,
|
mspHelper.loadSafehomes,
|
||||||
|
@ -2697,7 +2725,7 @@ TABS.mission_control.initialize = function (callback) {
|
||||||
cleanSafehomeLayers();
|
cleanSafehomeLayers();
|
||||||
renderSafehomesOnMap();
|
renderSafehomesOnMap();
|
||||||
updateSafehomeInfo();
|
updateSafehomeInfo();
|
||||||
GUI.log('End of getting Safehome points');
|
GUI.log(chrome.i18n.getMessage('endGettingSafehomePoints'));
|
||||||
$('#loadEepromSafehomeButton').removeClass('disabled');
|
$('#loadEepromSafehomeButton').removeClass('disabled');
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
@ -3091,11 +3119,7 @@ TABS.mission_control.initialize = function (callback) {
|
||||||
/////////////////////////////////////////////
|
/////////////////////////////////////////////
|
||||||
$('#saveSettings').on('click', function () {
|
$('#saveSettings').on('click', function () {
|
||||||
let oldSafeRadiusSH = settings.safeRadiusSH;
|
let oldSafeRadiusSH = settings.safeRadiusSH;
|
||||||
|
settings = { speed: Number($('#MPdefaultPointSpeed').val()), alt: Number($('#MPdefaultPointAlt').val()), safeRadiusSH: Number($('#MPdefaultSafeRangeSH').val()), maxDistSH : vMaxDistSH, fwApproachAlt: Number($('#MPdefaultFwApproachAlt').val()), fwLandAlt:Number($('#MPdefaultLandAlt').val())};
|
||||||
settings.speed = Number($('#MPdefaultPointSpeed').val());
|
|
||||||
settings.alt = Number($('#MPdefaultPointAlt').val());
|
|
||||||
settings.safeRadiusSH = Number($('#MPdefaultSafeRangeSH').val());
|
|
||||||
|
|
||||||
saveSettings();
|
saveSettings();
|
||||||
|
|
||||||
if (settings.safeRadiusSH != oldSafeRadiusSH && $('#showHideSafehomeButton').is(":visible")) {
|
if (settings.safeRadiusSH != oldSafeRadiusSH && $('#showHideSafehomeButton').is(":visible")) {
|
||||||
|
|
|
@ -701,7 +701,7 @@ TABS.mixer.initialize = function (callback, scrollPosition) {
|
||||||
$('#platform-type').parent('.select').addClass('no-bottom-border');
|
$('#platform-type').parent('.select').addClass('no-bottom-border');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!updateEzTuneTabVisibility(false)) {
|
if (updateEzTuneTabVisibility(false)) {
|
||||||
EZ_TUNE.enabled = 0;
|
EZ_TUNE.enabled = 0;
|
||||||
mspHelper.saveEzTune();
|
mspHelper.saveEzTune();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue