From 80220738d186e108a0b62c84647a460571a2d8fc Mon Sep 17 00:00:00 2001 From: mikeller Date: Sun, 31 Mar 2019 23:44:33 +1300 Subject: [PATCH] Removed non-working reconnect attempts. --- package-lock.json | 2 +- src/js/serial_backend.js | 11 ++++++++--- src/js/tabs/cli.js | 7 ++++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5e3c4fc3..64ef7a12 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4639,7 +4639,7 @@ "semver": "^5.5.0", "simple-glob": "~0.2.0", "tar-fs": "^1.13.0", - "temp": "github:adam-lynch/node-temp#279c1350cb7e4f02515d91da9e35d39a40774016", + "temp": "github:adam-lynch/node-temp#remove_tmpdir_dep", "thenify": "^3.3.0", "update-notifier": "^2.4.0", "winresourcer": "^0.9.0" diff --git a/src/js/serial_backend.js b/src/js/serial_backend.js index 797a5cb7..d41b1da9 100644 --- a/src/js/serial_backend.js +++ b/src/js/serial_backend.js @@ -729,14 +729,19 @@ function reinitialiseConnection(originatorTab, callback) { GUI.log(i18n.getMessage('deviceRebooting')); if (FC.boardHasVcp()) { // VCP-based flight controls may crash old drivers, we catch and reconnect - setTimeout(function start_connection() { - $('a.connect').click(); + GUI.timeout_add('waiting_for_disconnect', function waiting_for_bootup() { if (callback) { callback(); } - }, 2500); + }, 100); + //TODO: Need to work out how to do a proper reconnect here. + // caveat: Timeouts set with `GUI.timeout_add()` are removed on disconnect. } else { GUI.timeout_add('waiting_for_bootup', function waiting_for_bootup() { + if (callback) { + callback(); + } + MSP.send_message(MSPCodes.MSP_STATUS, false, false, function() { GUI.log(i18n.getMessage('deviceReady')); originatorTab.initialize(false, $('#content').scrollTop()); diff --git a/src/js/tabs/cli.js b/src/js/tabs/cli.js index 9e480c24..0352c393 100644 --- a/src/js/tabs/cli.js +++ b/src/js/tabs/cli.js @@ -398,9 +398,10 @@ TABS.cli.cleanup = function (callback) { // (another approach is however much more complicated): // we can setup an interval asking for data lets say every 200ms, when data arrives, callback will be triggered and tab switched // we could probably implement this someday - reinitialiseConnection(self, function () { - GUI.timeout_add('tab_change_callback', callback, 500); - }); + if (callback) { + callback(); + } + CONFIGURATOR.cliActive = false; CONFIGURATOR.cliValid = false; });