mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-25 17:25:14 +03:00
* Properly guarding JS on for new variables introduced in 1.7.3/1.7.4
* Properly hiding/showing relevant controls for Minimum Failsafe Distance according to version (>= 1.7.4) * Fixing bad maximum for centimeters distance
This commit is contained in:
parent
774d1c97e6
commit
0c1b48351e
3 changed files with 55 additions and 44 deletions
|
@ -617,20 +617,24 @@ var mspHelper = (function (gui) {
|
|||
offset += 2;
|
||||
FAILSAFE_CONFIG.failsafe_procedure = data.getUint8(offset);
|
||||
offset++;
|
||||
FAILSAFE_CONFIG.failsafe_recovery_delay = data.getUint8(offset);
|
||||
offset++;
|
||||
FAILSAFE_CONFIG.failsafe_fw_roll_angle = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
FAILSAFE_CONFIG.failsafe_fw_pitch_angle = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
FAILSAFE_CONFIG.failsafe_fw_yaw_rate = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
FAILSAFE_CONFIG.failsafe_stick_motion_threshold = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
FAILSAFE_CONFIG.failsafe_min_distance = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
FAILSAFE_CONFIG.failsafe_min_distance_procedure = data.getUint8(offset);
|
||||
offset++;
|
||||
if (semver.gte(CONFIG.flightControllerVersion, "1.7.3")) {
|
||||
FAILSAFE_CONFIG.failsafe_recovery_delay = data.getUint8(offset);
|
||||
offset++;
|
||||
FAILSAFE_CONFIG.failsafe_fw_roll_angle = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
FAILSAFE_CONFIG.failsafe_fw_pitch_angle = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
FAILSAFE_CONFIG.failsafe_fw_yaw_rate = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
FAILSAFE_CONFIG.failsafe_stick_motion_threshold = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
}
|
||||
if (semver.gte(CONFIG.flightControllerVersion, "1.7.4")) {
|
||||
FAILSAFE_CONFIG.failsafe_min_distance = data.getUint16(offset, true);
|
||||
offset += 2;
|
||||
FAILSAFE_CONFIG.failsafe_min_distance_procedure = data.getUint8(offset);
|
||||
offset++;
|
||||
}
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_RXFAIL_CONFIG:
|
||||
|
|
|
@ -109,9 +109,8 @@
|
|||
<label for="nothing" data-i18n="failsafeProcedureItemSelect4"></label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Unsure about this requires-v1_7.. should it be another version? 1.8? -->
|
||||
<div class="requires-v1_7">
|
||||
<!-- Minimum Failsafe Distance controls -->
|
||||
<div class="requires-v1_7_4">
|
||||
<div class="checkbox stage2">
|
||||
<div class="numberspacer" >
|
||||
<input type="checkbox" name="failsafe_use_minimum_distance" class="toggle" id="failsafe_use_minimum_distance" />
|
||||
|
@ -122,7 +121,7 @@
|
|||
</div>
|
||||
|
||||
<div class="number" id="failsafe_min_distance_elements">
|
||||
<label> <input class="minimumDistance" type="number" name="failsafe_min_distance" id="failsafe_min_distance" min="0" max="6000" /> <span
|
||||
<label> <input class="minimumDistance" type="number" name="failsafe_min_distance" id="failsafe_min_distance" min="0" max="65000" /> <span
|
||||
data-i18n="failsafeMinDistanceItem"></span>
|
||||
</label>
|
||||
<div class="helpicon cf_tip" data-i18n_title="failsafeMinDistanceHelp"></div>
|
||||
|
@ -134,7 +133,6 @@
|
|||
<div class="helpicon cf_tip" data-i18n_title="failsafeMinDistanceProcedureHelp"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -231,7 +231,9 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
$('input[name="failsafe_off_delay"]').val(FAILSAFE_CONFIG.failsafe_off_delay);
|
||||
$('input[name="failsafe_throttle_low_delay"]').val(FAILSAFE_CONFIG.failsafe_throttle_low_delay);
|
||||
$('input[name="failsafe_delay"]').val(FAILSAFE_CONFIG.failsafe_delay);
|
||||
$('input[name="failsafe_min_distance"]').val(FAILSAFE_CONFIG.failsafe_min_distance);
|
||||
if (semver.gte(CONFIG.flightControllerVersion, "1.7.4")) {
|
||||
$('input[name="failsafe_min_distance"]').val(FAILSAFE_CONFIG.failsafe_min_distance);
|
||||
}
|
||||
|
||||
// set stage 2 failsafe procedure
|
||||
$('input[type="radio"].procedure').change(function () {
|
||||
|
@ -282,39 +284,44 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
// set stage 2 kill switch option
|
||||
$('input[name="failsafe_kill_switch"]').prop('checked', FAILSAFE_CONFIG.failsafe_kill_switch);
|
||||
|
||||
// Adjust Minimum Distance values when checkbox is checked/unchecked
|
||||
$failsafeUseMinimumDistanceCheckbox.change(function() {
|
||||
if ($(this).is(':checked')) {
|
||||
// 20 meters seems like a reasonable default for a minimum distance
|
||||
$failsafeMinDistance.val(2000);
|
||||
if (semver.gte(CONFIG.flightControllerVersion, "1.7.4")) {
|
||||
// Adjust Minimum Distance values when checkbox is checked/unchecked
|
||||
$failsafeUseMinimumDistanceCheckbox.change(function() {
|
||||
if ($(this).is(':checked')) {
|
||||
// 20 meters seems like a reasonable default for a minimum distance
|
||||
$failsafeMinDistance.val(2000);
|
||||
$failsafeMinDistanceElements.show();
|
||||
$failsafeMinDistanceProcedureElements.show();
|
||||
} else {
|
||||
// If they uncheck it, clear the distance to 0, which disables this feature
|
||||
$failsafeMinDistance.val(0);
|
||||
$failsafeMinDistanceElements.hide();
|
||||
$failsafeMinDistanceProcedureElements.hide();
|
||||
}
|
||||
});
|
||||
|
||||
// Set initial state of controls according to data
|
||||
if (FAILSAFE_CONFIG.failsafe_min_distance > 0) {
|
||||
$failsafeUseMinimumDistanceCheckbox.prop('checked', true);
|
||||
$failsafeMinDistanceElements.show();
|
||||
$failsafeMinDistanceProcedureElements.show();
|
||||
} else {
|
||||
// If they uncheck it, clear the distance to 0, which disables this feature
|
||||
$failsafeMinDistance.val(0);
|
||||
$failsafeUseMinimumDistanceCheckbox.prop('checked', false);
|
||||
$failsafeMinDistanceElements.hide();
|
||||
$failsafeMinDistanceProcedureElements.hide();
|
||||
}
|
||||
})
|
||||
|
||||
// Set initial state of controls according to data
|
||||
if (FAILSAFE_CONFIG.failsafe_min_distance > 0) {
|
||||
$failsafeUseMinimumDistanceCheckbox.prop('checked', true);
|
||||
$failsafeMinDistanceElements.show();
|
||||
$failsafeMinDistanceProcedureElements.show();
|
||||
// Alternate, minimum distance failsafe procedure
|
||||
GUI.fillSelect($failsafeMinDistanceProcedure, FC.getFailsafeProcedure(), FAILSAFE_CONFIG.failsafe_min_distance_procedure);
|
||||
$failsafeMinDistanceProcedure.val(FAILSAFE_CONFIG.failsafe_min_distance_procedure);
|
||||
$failsafeMinDistanceProcedure.change(function () {
|
||||
FAILSAFE_CONFIG.failsafe_min_distance_procedure = $failsafeMinDistanceProcedure.val();
|
||||
});
|
||||
$('.requires-v1_7_4').show();
|
||||
} else {
|
||||
$failsafeUseMinimumDistanceCheckbox.prop('checked', false);
|
||||
$failsafeMinDistanceElements.hide();
|
||||
$failsafeMinDistanceProcedureElements.hide();
|
||||
$('.requires-v1_7_4').hide();
|
||||
}
|
||||
|
||||
// Alternate, minimum distance failsafe procedure
|
||||
GUI.fillSelect($failsafeMinDistanceProcedure, FC.getFailsafeProcedure(), FAILSAFE_CONFIG.failsafe_min_distance_procedure);
|
||||
$failsafeMinDistanceProcedure.val(FAILSAFE_CONFIG.failsafe_min_distance_procedure);
|
||||
$failsafeMinDistanceProcedure.change(function () {
|
||||
FAILSAFE_CONFIG.failsafe_min_distance_procedure = $failsafeMinDistanceProcedure.val();
|
||||
});
|
||||
|
||||
$('a.save').click(function () {
|
||||
// gather data that doesn't have automatic change event bound
|
||||
RX_CONFIG.rx_min_usec = parseInt($('input[name="rx_min_usec"]').val());
|
||||
|
@ -332,7 +339,9 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
FAILSAFE_CONFIG.failsafe_off_delay = parseInt($('input[name="failsafe_off_delay"]').val());
|
||||
FAILSAFE_CONFIG.failsafe_throttle_low_delay = parseInt($('input[name="failsafe_throttle_low_delay"]').val());
|
||||
FAILSAFE_CONFIG.failsafe_delay = parseInt($('input[name="failsafe_delay"]').val());
|
||||
FAILSAFE_CONFIG.failsafe_min_distance = parseInt($('input[name="failsafe_min_distance"]').val());
|
||||
if (semver.gte(CONFIG.flightControllerVersion, "1.7.4")) {
|
||||
FAILSAFE_CONFIG.failsafe_min_distance = parseInt($('input[name="failsafe_min_distance"]').val());
|
||||
}
|
||||
|
||||
if ($('input[id="land"]').is(':checked')) {
|
||||
FAILSAFE_CONFIG.failsafe_procedure = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue