diff --git a/src/js/msp.js b/src/js/msp.js index eaaa88cd98..9a600231e7 100644 --- a/src/js/msp.js +++ b/src/js/msp.js @@ -308,7 +308,8 @@ const MSP = { return bufferOut; }, send_message(code, data, callback_sent, callback_msp, doCallbackOnError) { - const connected = isWeb ? serial.connected : serial.connectionId; + const connected = isWeb() ? serial.connected : serial.connectionId; + if (code === undefined || !connected || CONFIGURATOR.virtualMode) { if (callback_msp) { callback_msp(); @@ -325,12 +326,6 @@ const MSP = { } } - if (isWeb() && (code === undefined || !serial.connectionInfo)) { - console.log('ERROR: code undefined or no connectionId'); - return false; - } - - const bufferOut = code <= 254 ? this.encode_message_v1(code, data) : this.encode_message_v2(code, data); const obj = { diff --git a/src/js/serial_backend.js b/src/js/serial_backend.js index 2c71a62b5f..a7f2d06326 100644 --- a/src/js/serial_backend.js +++ b/src/js/serial_backend.js @@ -803,7 +803,7 @@ export function reinitializeConnection(callback) { const reconnect = setInterval(waitforSerial, 100); function waitforSerial() { - if (connectionTimestamp !== previousTimeStamp && CONFIGURATOR.connectionValid) { + if ((connectionTimestamp !== previousTimeStamp && CONFIGURATOR.connectionValid) || GUI.active_tab === 'firmware_flasher') { console.log(`Serial connection available after ${attempts / 10} seconds`); clearInterval(reconnect); gui_log(i18n.getMessage('deviceReady')); diff --git a/src/js/tabs/firmware_flasher.js b/src/js/tabs/firmware_flasher.js index 95bcd17846..d3f409561a 100644 --- a/src/js/tabs/firmware_flasher.js +++ b/src/js/tabs/firmware_flasher.js @@ -1241,7 +1241,7 @@ firmware_flasher.verifyBoard = function() { const self = this; if (!self.isSerialPortAvailable()) { - gui_log(i18n.getMessage('firmwareFlasherNoValidPort')); + // return silently as port-picker will trigger again when port becomes available return; } @@ -1474,6 +1474,9 @@ firmware_flasher.backupConfig = function (callback) { clearInterval(disconnect); // Allow auto-detect after CLI reset self.allowBoardDetection = true; + if (callback) { + callback(); + } } count++; }, 100);