mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-23 08:15:22 +03:00
Arming disabled flags into text
This commit is contained in:
parent
c1a188f31d
commit
2c04c3350b
6 changed files with 167 additions and 19 deletions
|
@ -308,4 +308,10 @@
|
|||
|
||||
.tab-setup dialog h3 {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.disarm-flag {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
}
|
|
@ -81,6 +81,7 @@ var FC = {
|
|||
numProfiles: 3,
|
||||
rateProfile: 0,
|
||||
boardType: 0,
|
||||
armingDisableCount: 0,
|
||||
armingDisableFlags: 0,
|
||||
armingDisabled: false,
|
||||
runawayTakeoffPreventionDisabled: false,
|
||||
|
|
|
@ -99,7 +99,7 @@ MspHelper.prototype.process_data = function(dataHandler) {
|
|||
}
|
||||
|
||||
// Read arming disable flags
|
||||
data.readU8(); // Flag count
|
||||
CONFIG.armingDisableCount = data.readU8(); // Flag count
|
||||
CONFIG.armingDisableFlags = data.readU32();
|
||||
}
|
||||
|
||||
|
|
85
src/js/tabs/setup.js
Executable file → Normal file
85
src/js/tabs/setup.js
Executable file → Normal file
|
@ -59,7 +59,7 @@ TABS.setup.initialize = function (callback) {
|
|||
|
||||
self.initializeInstruments();
|
||||
|
||||
$('#arming-disable-flag-row').attr('title', i18n.getMessage('initialSetupArmingDisableFlagsTooltip'));
|
||||
$('#arming-disable-flag').attr('title', i18n.getMessage('initialSetupArmingDisableFlagsTooltip'));
|
||||
|
||||
if (semver.gte(CONFIG.apiVersion, "1.40.0")) {
|
||||
if (isExpertModeEnabled()) {
|
||||
|
@ -198,21 +198,78 @@ TABS.setup.initialize = function (callback) {
|
|||
arming_disable_flags_e.hide();
|
||||
}
|
||||
|
||||
function get_slow_data() {
|
||||
MSP.send_message(MSPCodes.MSP_STATUS, false, false, function() {
|
||||
var armingString = '';
|
||||
if (CONFIG.armingDisableFlags == 0) {
|
||||
armingString = i18n.getMessage('initialSetupArmingAllowed');
|
||||
// DISARM FLAGS
|
||||
// We add all the arming/disarming flags available, and show/hide them if needed.
|
||||
var prepareDisarmFlags = function() {
|
||||
|
||||
var disarmFlagElements = ['NO_GYRO',
|
||||
'FAILSAFE',
|
||||
'RX_FAILSAFE',
|
||||
'BAD_RX_RECOVERY',
|
||||
'BOXFAILSAFE',
|
||||
'THROTTLE',
|
||||
'ANGLE',
|
||||
'BOOT_GRACE_TIME',
|
||||
'NOPREARM',
|
||||
'LOAD',
|
||||
'CALIBRATING',
|
||||
'CLI',
|
||||
'CMS_MENU',
|
||||
'OSD_MENU',
|
||||
'BST',
|
||||
'MSP',
|
||||
];
|
||||
|
||||
if (semver.gte(CONFIG.apiVersion, "1.38.0")) {
|
||||
disarmFlagElements.splice(disarmFlagElements.indexOf('THROTTLE'), 0, 'RUNAWAY_TAKEOFF');
|
||||
}
|
||||
|
||||
if (semver.gte(CONFIG.apiVersion, "1.39.0")) {
|
||||
disarmFlagElements = disarmFlagElements.concat(['PARALYZE',
|
||||
'GPS']);
|
||||
}
|
||||
|
||||
if (semver.gte(CONFIG.apiVersion, "1.41.0")) {
|
||||
disarmFlagElements.splice(disarmFlagElements.indexOf('OSD_MENU'), 1);
|
||||
disarmFlagElements = disarmFlagElements.concat(['RESC']);
|
||||
}
|
||||
|
||||
// Always the latest element
|
||||
disarmFlagElements = disarmFlagElements.concat(['ARM_SWITCH']);
|
||||
|
||||
// Arming allowed flag
|
||||
arming_disable_flags_e.append('<span id="initialSetupArmingAllowed" i18n="initialSetupArmingAllowed" style="display: none;"/>');
|
||||
|
||||
// Arming disabled flags
|
||||
for (var i = 0; i < CONFIG.armingDisableCount; i++) {
|
||||
|
||||
// All the known elements but the ARM_SWITCH (it must be always the last element)
|
||||
if (i < disarmFlagElements.length - 1) {
|
||||
arming_disable_flags_e.append('<span id="initialSetupArmingDisableFlags' + i + '" class="cf_tip disarm-flag" title="' + i18n.getMessage('initialSetupArmingDisableFlagsTooltip' + disarmFlagElements[i]) + '" style="display: none;">' + disarmFlagElements[i] + '</span>');
|
||||
|
||||
// The ARM_SWITCH, always the last element
|
||||
} else if (i == CONFIG.armingDisableCount - 1) {
|
||||
arming_disable_flags_e.append('<span id="initialSetupArmingDisableFlags' + i + '" class="cf_tip disarm-flag" title="' + i18n.getMessage('initialSetupArmingDisableFlagsTooltipARM_SWITCH') + '" style="display: none;">ARM_SWITCH</span>');
|
||||
|
||||
// Unknown disarm flags
|
||||
} else {
|
||||
var flagIndicies = [];
|
||||
for (var i = 0; i < 32; i++) {
|
||||
if (CONFIG.armingDisableFlags & (1 << i)) {
|
||||
flagIndicies.push(i + 1);
|
||||
}
|
||||
}
|
||||
armingString = flagIndicies;
|
||||
arming_disable_flags_e.append('<span id="initialSetupArmingDisableFlags' + i + '" class="disarm-flag" style="display: none;">' + (i + 1) + '</span>');
|
||||
}
|
||||
arming_disable_flags_e.text(armingString);
|
||||
}
|
||||
}
|
||||
|
||||
prepareDisarmFlags();
|
||||
|
||||
function get_slow_data() {
|
||||
|
||||
MSP.send_message(MSPCodes.MSP_STATUS, false, false, function() {
|
||||
|
||||
$('#initialSetupArmingAllowed').toggle(CONFIG.armingDisableFlags == 0);
|
||||
|
||||
for (var i = 0; i < CONFIG.armingDisableCount; i++) {
|
||||
$('#initialSetupArmingDisableFlags'+i).css('display',(CONFIG.armingDisableFlags & (1 << i)) == 0 ? 'none':'inline-block');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
MSP.send_message(MSPCodes.MSP_ANALOG, false, false, function () {
|
||||
|
|
|
@ -101,9 +101,9 @@
|
|||
<div class="spacer_box">
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="cf_table">
|
||||
<tbody>
|
||||
<tr id="arming-disable-flag-row" class="cf_tip">
|
||||
<td i18n="initialSetupArmingDisableFlags"></td>
|
||||
<td class="arming-disable-flags">0</td>
|
||||
<tr>
|
||||
<td id="arming-disable-flag" i18n="initialSetupArmingDisableFlags" class="cf_tip"></td>
|
||||
<td class="arming-disable-flags"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td i18n="initialSetupBattery"></td>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue