mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-26 01:35:23 +03:00
failsafe changes for 1.6
This commit is contained in:
parent
46ac4bd3c4
commit
9e1978f3ec
6 changed files with 123 additions and 27 deletions
|
@ -1656,16 +1656,16 @@
|
|||
"message": "<strong>Hold</strong> means maintain the last good value received. <strong>Set</strong> means the value given here will be used"
|
||||
},
|
||||
"failsafeStageTwoSettingsTitle": {
|
||||
"message": "Stage 2 - Settings"
|
||||
"message": "Settings"
|
||||
},
|
||||
"failsafeFeatureItem": {
|
||||
"message": "Failsafe Stage 2 enabled"
|
||||
"message": "Enabled"
|
||||
},
|
||||
"failsafeFeatureHelp": {
|
||||
"message": "<strong>Note:</strong> When Stage 2 is DISABLED, the fallback setting <strong>Auto</strong> is used instead of the user settings for all flightchannels (Roll, Pitch, Yaw and Throttle)."
|
||||
},
|
||||
"failsafeDelayItem": {
|
||||
"message": "Guard time for stage 2 activation after signal lost [1 = 0.1 sec.]"
|
||||
"message": "Guard time for activation after signal lost [1 = 0.1 sec.]"
|
||||
},
|
||||
"failsafeDelayHelp": {
|
||||
"message": "Time for stage 1 to wait for recovery"
|
||||
|
@ -1686,7 +1686,7 @@
|
|||
"message": "Time to stay in landing mode untill the motors are turned off and the craft is disarmed"
|
||||
},
|
||||
"failsafeSubTitle1": {
|
||||
"message": "Stage 2 - Failsafe Procedure"
|
||||
"message": "Procedure"
|
||||
},
|
||||
"failsafeProcedureItemSelect1": {
|
||||
"message": "Land"
|
||||
|
@ -1697,6 +1697,9 @@
|
|||
"failsafeProcedureItemSelect3": {
|
||||
"message": "RTH"
|
||||
},
|
||||
"failsafeProcedureItemSelect4": {
|
||||
"message": "Do nothing"
|
||||
},
|
||||
"failsafeKillSwitchItem": {
|
||||
"message": "Failsafe Kill Switch (setup Failsafe in Modes Tab)"
|
||||
},
|
||||
|
|
|
@ -15490,15 +15490,27 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
}
|
||||
|
||||
function load_rxfail_config() {
|
||||
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
MSP.send_message(MSPCodes.MSP_RXFAIL_CONFIG, false, false, get_box_names);
|
||||
} else {
|
||||
get_box_names();
|
||||
}
|
||||
}
|
||||
|
||||
function get_box_names() {
|
||||
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
MSP.send_message(MSPCodes.MSP_BOXNAMES, false, false, get_mode_ranges);
|
||||
} else {
|
||||
get_mode_ranges();
|
||||
}
|
||||
}
|
||||
|
||||
function get_mode_ranges() {
|
||||
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
MSP.send_message(MSPCodes.MSP_MODE_RANGES, false, false, get_box_ids);
|
||||
} else {
|
||||
get_box_ids();
|
||||
}
|
||||
}
|
||||
|
||||
function get_box_ids() {
|
||||
|
@ -15524,6 +15536,12 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
load_rx_config();
|
||||
|
||||
function process_html() {
|
||||
|
||||
if (semver.gte(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
$('.pre-v1_6').hide();
|
||||
$('.requires-v1_6').show();
|
||||
}
|
||||
|
||||
var failsafeFeature;
|
||||
|
||||
// translate to user-selected language
|
||||
|
@ -15653,6 +15671,14 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
channel_mode_array[i].change();
|
||||
}
|
||||
|
||||
var isFailsafeEnabled;
|
||||
|
||||
if (semver.gte(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
isFailsafeEnabled = true;
|
||||
} else {
|
||||
isFailsafeEnabled = bit_check(BF_CONFIG.features, 8);
|
||||
}
|
||||
|
||||
// fill stage 2 fields
|
||||
failsafeFeature = $('input[name="failsafe_feature_new"]');
|
||||
failsafeFeature.change(function () {
|
||||
|
@ -15663,7 +15689,7 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
}
|
||||
});
|
||||
|
||||
failsafeFeature.prop('checked', bit_check(BF_CONFIG.features, 8));
|
||||
failsafeFeature.prop('checked', isFailsafeEnabled);
|
||||
failsafeFeature.change();
|
||||
|
||||
$('input[name="failsafe_throttle"]').val(FAILSAFE_CONFIG.failsafe_throttle);
|
||||
|
@ -15710,6 +15736,11 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
element.prop('checked', true);
|
||||
element.change();
|
||||
break;
|
||||
case 3:
|
||||
element = $('input[id="nothing"]');
|
||||
element.prop('checked', true);
|
||||
element.change();
|
||||
break;
|
||||
}
|
||||
|
||||
// set stage 2 kill switch option
|
||||
|
@ -15720,12 +15751,13 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
RX_CONFIG.rx_min_usec = parseInt($('input[name="rx_min_usec"]').val());
|
||||
RX_CONFIG.rx_max_usec = parseInt($('input[name="rx_max_usec"]').val());
|
||||
|
||||
// get FAILSAFE feature option (>= API 1.15.0)
|
||||
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
if ($('input[name="failsafe_feature_new"]').is(':checked')) {
|
||||
BF_CONFIG.features = bit_set(BF_CONFIG.features, 8);
|
||||
} else {
|
||||
BF_CONFIG.features = bit_clear(BF_CONFIG.features, 8);
|
||||
}
|
||||
}
|
||||
|
||||
FAILSAFE_CONFIG.failsafe_throttle = parseInt($('input[name="failsafe_throttle"]').val());
|
||||
FAILSAFE_CONFIG.failsafe_off_delay = parseInt($('input[name="failsafe_off_delay"]').val());
|
||||
|
@ -15738,6 +15770,8 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
FAILSAFE_CONFIG.failsafe_procedure = 1;
|
||||
} else if ($('input[id="rth"]').is(':checked')) {
|
||||
FAILSAFE_CONFIG.failsafe_procedure = 2;
|
||||
} else if ($('input[id="nothing"]').is(':checked')) {
|
||||
FAILSAFE_CONFIG.failsafe_procedure = 3;
|
||||
}
|
||||
|
||||
FAILSAFE_CONFIG.failsafe_kill_switch = $('input[name="failsafe_kill_switch"]').is(':checked') ? 1 : 0;
|
||||
|
@ -15747,7 +15781,11 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
}
|
||||
|
||||
function save_rxfail_config() {
|
||||
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
mspHelper.sendRxFailConfig(save_bf_config);
|
||||
} else {
|
||||
save_bf_config();
|
||||
}
|
||||
}
|
||||
|
||||
function save_bf_config() {
|
||||
|
|
|
@ -2753,6 +2753,12 @@ hr {
|
|||
background-size: 200px;
|
||||
}
|
||||
|
||||
.tab-failsafe .pro5 {
|
||||
background-color: #fafafa;
|
||||
background-size: 200px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.tab-failsafe .spacer_box .helpicon {
|
||||
margin-top: 3px;
|
||||
margin-right: 0;
|
||||
|
|
|
@ -111,6 +111,12 @@
|
|||
background-size: 200px;
|
||||
}
|
||||
|
||||
.tab-failsafe .pro5 {
|
||||
background-color: #fafafa;
|
||||
background-size: 200px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.tab-failsafe .spacer_box .helpicon {
|
||||
margin-top: 3px;
|
||||
margin-right: 0;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<div class="cf_doc_version_bt">
|
||||
<a id="button-documentation" href="https://github.com/iNavFlight/inav/releases" target="_blank"></a>
|
||||
</div>
|
||||
<div class="note">
|
||||
<div class="note pre-v1_6">
|
||||
<div class="note_spacer">
|
||||
<p data-i18n="failsafeFeaturesHelpNew"></p>
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="gui_box grey stage1">
|
||||
<div class="gui_box grey stage1 pre-v1_6">
|
||||
<div class="gui_box_titlebar">
|
||||
<div class="spacer_box_title" data-i18n="failsafeChannelFallbackSettingsTitle"></div>
|
||||
<div class="helpicon cf_tip" data-i18n_title="failsafeChannelFallbackSettingsHelp"></div>
|
||||
|
@ -46,7 +46,7 @@
|
|||
<div class="spacer_box_title" data-i18n="failsafeStageTwoSettingsTitle"></div>
|
||||
</div>
|
||||
<div class="spacer_box">
|
||||
<div class="checkbox">
|
||||
<div class="checkbox pre-v1_6">
|
||||
<div class="numberspacer" >
|
||||
<input type="checkbox" name="failsafe_feature_new" class="feature toggle rxFailsafe" id="failsafe_feature_new" />
|
||||
</div>
|
||||
|
@ -104,6 +104,11 @@
|
|||
<label for="rth" data-i18n="failsafeProcedureItemSelect3"></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="radioarea pro5 stage2 requires-v1_6">
|
||||
<div class="radiobuttons"><input class="procedure" id="nothing" name="group1" type="radio"/>
|
||||
<label for="nothing" data-i18n="failsafeProcedureItemSelect4"></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -18,15 +18,27 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
}
|
||||
|
||||
function load_rxfail_config() {
|
||||
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
MSP.send_message(MSPCodes.MSP_RXFAIL_CONFIG, false, false, get_box_names);
|
||||
} else {
|
||||
get_box_names();
|
||||
}
|
||||
}
|
||||
|
||||
function get_box_names() {
|
||||
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
MSP.send_message(MSPCodes.MSP_BOXNAMES, false, false, get_mode_ranges);
|
||||
} else {
|
||||
get_mode_ranges();
|
||||
}
|
||||
}
|
||||
|
||||
function get_mode_ranges() {
|
||||
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
MSP.send_message(MSPCodes.MSP_MODE_RANGES, false, false, get_box_ids);
|
||||
} else {
|
||||
get_box_ids();
|
||||
}
|
||||
}
|
||||
|
||||
function get_box_ids() {
|
||||
|
@ -52,6 +64,12 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
load_rx_config();
|
||||
|
||||
function process_html() {
|
||||
|
||||
if (semver.gte(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
$('.pre-v1_6').hide();
|
||||
$('.requires-v1_6').show();
|
||||
}
|
||||
|
||||
var failsafeFeature;
|
||||
|
||||
// translate to user-selected language
|
||||
|
@ -181,6 +199,14 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
channel_mode_array[i].change();
|
||||
}
|
||||
|
||||
var isFailsafeEnabled;
|
||||
|
||||
if (semver.gte(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
isFailsafeEnabled = true;
|
||||
} else {
|
||||
isFailsafeEnabled = bit_check(BF_CONFIG.features, 8);
|
||||
}
|
||||
|
||||
// fill stage 2 fields
|
||||
failsafeFeature = $('input[name="failsafe_feature_new"]');
|
||||
failsafeFeature.change(function () {
|
||||
|
@ -191,7 +217,7 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
}
|
||||
});
|
||||
|
||||
failsafeFeature.prop('checked', bit_check(BF_CONFIG.features, 8));
|
||||
failsafeFeature.prop('checked', isFailsafeEnabled);
|
||||
failsafeFeature.change();
|
||||
|
||||
$('input[name="failsafe_throttle"]').val(FAILSAFE_CONFIG.failsafe_throttle);
|
||||
|
@ -238,6 +264,11 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
element.prop('checked', true);
|
||||
element.change();
|
||||
break;
|
||||
case 3:
|
||||
element = $('input[id="nothing"]');
|
||||
element.prop('checked', true);
|
||||
element.change();
|
||||
break;
|
||||
}
|
||||
|
||||
// set stage 2 kill switch option
|
||||
|
@ -248,12 +279,13 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
RX_CONFIG.rx_min_usec = parseInt($('input[name="rx_min_usec"]').val());
|
||||
RX_CONFIG.rx_max_usec = parseInt($('input[name="rx_max_usec"]').val());
|
||||
|
||||
// get FAILSAFE feature option (>= API 1.15.0)
|
||||
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
if ($('input[name="failsafe_feature_new"]').is(':checked')) {
|
||||
BF_CONFIG.features = bit_set(BF_CONFIG.features, 8);
|
||||
} else {
|
||||
BF_CONFIG.features = bit_clear(BF_CONFIG.features, 8);
|
||||
}
|
||||
}
|
||||
|
||||
FAILSAFE_CONFIG.failsafe_throttle = parseInt($('input[name="failsafe_throttle"]').val());
|
||||
FAILSAFE_CONFIG.failsafe_off_delay = parseInt($('input[name="failsafe_off_delay"]').val());
|
||||
|
@ -266,6 +298,8 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
FAILSAFE_CONFIG.failsafe_procedure = 1;
|
||||
} else if ($('input[id="rth"]').is(':checked')) {
|
||||
FAILSAFE_CONFIG.failsafe_procedure = 2;
|
||||
} else if ($('input[id="nothing"]').is(':checked')) {
|
||||
FAILSAFE_CONFIG.failsafe_procedure = 3;
|
||||
}
|
||||
|
||||
FAILSAFE_CONFIG.failsafe_kill_switch = $('input[name="failsafe_kill_switch"]').is(':checked') ? 1 : 0;
|
||||
|
@ -275,7 +309,11 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
|||
}
|
||||
|
||||
function save_rxfail_config() {
|
||||
if (semver.lt(CONFIG.flightControllerVersion, "1.6.0")) {
|
||||
mspHelper.sendRxFailConfig(save_bf_config);
|
||||
} else {
|
||||
save_bf_config();
|
||||
}
|
||||
}
|
||||
|
||||
function save_bf_config() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue