1
0
Fork 0
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:
Andi Kanzler 2024-02-10 14:10:55 -03:00
commit 276e811a15
5 changed files with 80 additions and 15 deletions

View file

@ -544,6 +544,8 @@ var FC = {
SETTINGS = {}; SETTINGS = {};
SAFEHOMES = new SafehomeCollection(); SAFEHOMES = new SafehomeCollection();
FW_APPROACH = new FwApproachCollection();
}, },
getOutputUsages: function() { getOutputUsages: function() {
return { return {

View file

@ -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
}; };

View file

@ -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>

View file

@ -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")) {

View file

@ -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();
} }