1
0
Fork 0
mirror of https://github.com/betaflight/betaflight-configurator.git synced 2025-07-16 12:55:14 +03:00

Merge pull request #2836 from ctzsnooze/check-every-100ms-for-dfu-mode-when-flashing

check every 100ms for DFU mode
This commit is contained in:
haslinghuis 2022-02-28 10:49:57 +01:00 committed by GitHub
commit a8a9ac6b6a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -114,10 +114,26 @@ STM32_protocol.prototype.connect = function (port, baud, hex, options, callback)
const onDisconnect = disconnectionResult => {
if (disconnectionResult) {
// delay to allow board to boot in bootloader mode
// required to detect if a DFU device appears
// MacOs seems to need about 5 seconds delay
setTimeout(startFlashing, GUI.operating_system === 'MacOS' ? 5000 : 1000);
// wait until board boots into bootloader mode
// MacOs may need 5 seconds delay
function waitForDfu() {
if (PortHandler.dfu_available) {
console.log(`DFU available after ${failedAttempts / 10} seconds`);
clearInterval(dfuWaitInterval);
startFlashing();
} else {
failedAttempts++;
if (failedAttempts > 100) {
clearInterval(dfuWaitInterval);
console.log(`failed to get DFU connection, gave up after 10 seconds`);
GUI.log(i18n.getMessage('serialPortOpenFail'));
GUI.connect_lock = false;
}
}
}
let failedAttempts = 0;
const dfuWaitInterval = setInterval(waitForDfu, 100);
} else {
GUI.connect_lock = false;
}