mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-20 23:05:15 +03:00
Added buttons for reboot into boot loader and MSC modes.
This commit is contained in:
parent
25b49fb79f
commit
b9358083d9
6 changed files with 102 additions and 4 deletions
|
@ -642,4 +642,16 @@ function openNewWindowsInExternalBrowser() {
|
|||
} catch (ex) {
|
||||
console.log("require does not exist, maybe inside chrome");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function showErrorDialog(message) {
|
||||
var dialog = $('.dialogError')[0];
|
||||
|
||||
$('.dialogError-content').html(message);
|
||||
|
||||
$('.dialogError-closebtn').click(function() {
|
||||
dialog.close();
|
||||
});
|
||||
|
||||
dialog.showModal();
|
||||
}
|
||||
|
|
|
@ -27,6 +27,12 @@ function MspHelper () {
|
|||
'RUNCAM_DEVICE_CONTROL': 14, // support communitate with RunCam Device
|
||||
'LIDAR_TF': 15
|
||||
};
|
||||
|
||||
self.REBOOT_TYPES = {
|
||||
FIRMWARE: 0,
|
||||
BOOTLOADER: 1,
|
||||
MSC: 2
|
||||
};
|
||||
}
|
||||
|
||||
MspHelper.prototype.reorderPwmProtocols = function (protocol) {
|
||||
|
@ -617,6 +623,17 @@ MspHelper.prototype.process_data = function(dataHandler) {
|
|||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_REBOOT:
|
||||
if (semver.gte(CONFIG.apiVersion, "1.40.0")) {
|
||||
var rebootType = data.read8();
|
||||
if (rebootType === self.REBOOT_TYPES.MSC) {
|
||||
if (data.read8() === 0) {
|
||||
console.log('Storage device not ready.');
|
||||
|
||||
showErrorDialog(i18n.getMessage('storageDeviceNotReady'));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log('Reboot request accepted');
|
||||
break;
|
||||
|
||||
|
@ -1185,6 +1202,11 @@ MspHelper.prototype.process_data = function(dataHandler) {
|
|||
console.log('Unknown code detected: ' + code);
|
||||
} else {
|
||||
console.log('FC reports unsupported message error: ' + code);
|
||||
|
||||
switch (code) {
|
||||
case MSPCodes.MSP_SET_REBOOT:
|
||||
showErrorDialog(i18n.getMessage('operationNotSupported'));
|
||||
}
|
||||
}
|
||||
}
|
||||
// trigger callbacks, cleanup/remove callback after trigger
|
||||
|
@ -1207,7 +1229,6 @@ MspHelper.prototype.process_data = function(dataHandler) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Encode the request body for the MSP request with the given code and return it as an array of bytes.
|
||||
*/
|
||||
|
|
|
@ -59,9 +59,31 @@ TABS.setup.initialize = function (callback) {
|
|||
|
||||
self.initializeInstruments();
|
||||
|
||||
|
||||
$('#arming-disable-flag-row').attr('title', i18n.getMessage('initialSetupArmingDisableFlagsTooltip'));
|
||||
|
||||
if (semver.gte(CONFIG.apiVersion, "1.40.0")) {
|
||||
if (isExpertModeEnabled()) {
|
||||
$('.initialSetupRebootBootloader').show();
|
||||
} else {
|
||||
$('.initialSetupRebootBootloader').hide();
|
||||
}
|
||||
|
||||
$('a.rebootBootloader').click(function () {
|
||||
var buffer = [];
|
||||
buffer.push(1);
|
||||
MSP.send_message(MSPCodes.MSP_SET_REBOOT, buffer, false);
|
||||
});
|
||||
|
||||
$('a.rebootMsc').click(function () {
|
||||
var buffer = [];
|
||||
buffer.push(2);
|
||||
MSP.send_message(MSPCodes.MSP_SET_REBOOT, buffer, false);
|
||||
});
|
||||
} else {
|
||||
$('.initialSetupRebootBootloader').hide();
|
||||
$('.initialSetupRebootMsc').hide();
|
||||
}
|
||||
|
||||
// UI Hooks
|
||||
$('a.calibrateAccel').click(function () {
|
||||
var self = $(this);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue