mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-19 06:15:13 +03:00
Added disabling of runaway takeoff prevention.
This commit is contained in:
parent
bf717b27eb
commit
5d760e8735
6 changed files with 55 additions and 31 deletions
|
@ -369,6 +369,12 @@
|
|||
"armingEnabled": {
|
||||
"message": "<strong>Arming Enabled</strong>"
|
||||
},
|
||||
"runawayTakeoffPreventionDisabled": {
|
||||
"message": "<strong>Runaway Takeoff Prevention temporarily Disabled</strong>"
|
||||
},
|
||||
"runawayTakeoffPreventionEnabled": {
|
||||
"message": "<strong>Runaway Takeoff Prevention Enabled</strong>"
|
||||
},
|
||||
"boardInfoReceived": {
|
||||
"message": "Board: <strong>$1</strong>, version: <strong>$2</strong>"
|
||||
},
|
||||
|
@ -1768,10 +1774,10 @@
|
|||
"message": "Master"
|
||||
},
|
||||
"motorsNotice": {
|
||||
"message": "<strong>Motor Test Mode / Arming Notice:</strong><br />Moving the sliders or arming your craft with the transmitter will cause the motors to <strong>spin up</strong>.<br />In order to prevent injury <strong class=\"message-negative\">remove ALL propellers</strong> before using this feature.<br />"
|
||||
"message": "<strong>Motor Test Mode / Arming Notice:</strong><br />Moving the sliders or arming your craft with the transmitter will cause the motors to <strong>spin up</strong>.<br />In order to prevent injury <strong class=\"message-negative\">remove ALL propellers</strong> before using this feature.<br />Enabling motor test mode will also temporarily disable Runaway Takeoff Prevention, to stop it from disarming the craft when bench testing without propellers.<br />"
|
||||
},
|
||||
"motorsEnableControl": {
|
||||
"message": "I understand the risks, propellers are removed - Enable motor control and arming."
|
||||
"message": "<strong>I understand the risks</strong>, the propellers are removed - enable motor control and arming, and disable Runaway Takeoff Prevention."
|
||||
},
|
||||
|
||||
"sensorsInfo": {
|
||||
|
|
|
@ -81,6 +81,8 @@ var FC = {
|
|||
rateProfile: 0,
|
||||
boardType: 0,
|
||||
armingDisableFlags: 0,
|
||||
armingDisabled: false,
|
||||
runawayTakeoffPreventionDisabled: false,
|
||||
};
|
||||
|
||||
BF_CONFIG = {
|
||||
|
|
|
@ -1525,12 +1525,21 @@ MspHelper.prototype.crunch = function(code) {
|
|||
break;
|
||||
case MSPCodes.MSP_ARMING_DISABLE:
|
||||
var value;
|
||||
if (CONFIG.arming_disabled) {
|
||||
if (CONFIG.armingDisabled) {
|
||||
value = 1;
|
||||
} else {
|
||||
value = 0;
|
||||
}
|
||||
buffer.push8(value);
|
||||
|
||||
if (CONFIG.runawayTakeoffPreventionDisabled) {
|
||||
value = 1;
|
||||
} else {
|
||||
value = 0;
|
||||
}
|
||||
// This will be ignored if `armingDisabled` is true
|
||||
buffer.push8(value);
|
||||
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
|
@ -2022,13 +2031,19 @@ MspHelper.prototype.sendRxFailConfig = function(onCompleteCallback) {
|
|||
}
|
||||
}
|
||||
|
||||
MspHelper.prototype.setArmingEnabled = function(doEnable, onCompleteCallback) {
|
||||
if (semver.gte(CONFIG.apiVersion, "1.37.0") && (doEnable === CONFIG.arming_disabled)) {
|
||||
CONFIG.arming_disabled = !doEnable;
|
||||
MspHelper.prototype.setArmingEnabled = function(doEnable, disableRunawayTakeoffPrevention, onCompleteCallback) {
|
||||
if (semver.gte(CONFIG.apiVersion, "1.37.0") && (CONFIG.armingDisabled === doEnable || CONFIG.runawayTakeoffPreventionDisabled !== disableRunawayTakeoffPrevention)) {
|
||||
CONFIG.armingDisabled = !doEnable;
|
||||
CONFIG.runawayTakeoffPreventionDisabled = disableRunawayTakeoffPrevention;
|
||||
|
||||
MSP.send_message(MSPCodes.MSP_ARMING_DISABLE, mspHelper.crunch(MSPCodes.MSP_ARMING_DISABLE), false, function () {
|
||||
if (doEnable) {
|
||||
GUI.log(i18n.getMessage('armingEnabled'));
|
||||
if (disableRunawayTakeoffPrevention) {
|
||||
GUI.log(i18n.getMessage('runawayTakeoffPreventionDisabled'));
|
||||
} else {
|
||||
GUI.log(i18n.getMessage('runawayTakeoffPreventionEnabled'));
|
||||
}
|
||||
} else {
|
||||
GUI.log(i18n.getMessage('armingDisabled'));
|
||||
}
|
||||
|
|
|
@ -119,7 +119,8 @@ var serial = {
|
|||
|
||||
case 'break': // This seems to be the error that is thrown under NW.js in Windows when the device reboots after typing 'exit' in CLI
|
||||
case 'device_lost':
|
||||
CONFIG.arming_disabled = false;
|
||||
CONFIG.armingDisabled = false;
|
||||
CONFIG.runawayTakeoffPreventionDisabled = false;
|
||||
|
||||
if (GUI.connected_to || GUI.connecting_to) {
|
||||
$('a.connect').click();
|
||||
|
|
|
@ -72,7 +72,7 @@ function initializeSerialBackend() {
|
|||
finishClose(toggleStatus);
|
||||
}
|
||||
|
||||
mspHelper.setArmingEnabled(true, onFinishCallback);
|
||||
mspHelper.setArmingEnabled(true, false, onFinishCallback);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -227,8 +227,8 @@ function onOpen(openInfo) {
|
|||
MSP.send_message(MSPCodes.MSP_NAME, false, false, function () {
|
||||
GUI.log(i18n.getMessage('craftNameReceived', [CONFIG.name]));
|
||||
|
||||
CONFIG.arming_disabled = false;
|
||||
mspHelper.setArmingEnabled(false, finishOpen);
|
||||
CONFIG.armingDisabled = false;
|
||||
mspHelper.setArmingEnabled(false, false, finishOpen);
|
||||
});
|
||||
} else {
|
||||
finishOpen();
|
||||
|
|
|
@ -485,7 +485,7 @@ TABS.motors.initialize = function (callback) {
|
|||
|
||||
$('div.sliders input').trigger('input');
|
||||
|
||||
mspHelper.setArmingEnabled(enabled);
|
||||
mspHelper.setArmingEnabled(enabled, enabled);
|
||||
}).change();
|
||||
|
||||
var buffering_set_motor = [],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue