diff --git a/angular.json b/angular.json index ed3a5b1d..a825e9d7 100644 --- a/angular.json +++ b/angular.json @@ -36,6 +36,11 @@ "input": "./node_modules/@leaphy-robotics/avrdude-webassembly/", "output": "./" }, + { + "glob": "avrdude-worker.js", + "input": "./node_modules/@leaphy-robotics/avrdude-webassembly/", + "output": "./" + }, { "glob": "avrdude.conf", "input": "./node_modules/@leaphy-robotics/avrdude-webassembly/", diff --git a/package.json b/package.json index b2bef37b..bf512c30 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@blockly/field-bitmap": "^4.0.13", "@blockly/workspace-backpack": "^5.3.3", "@fortawesome/fontawesome-free": "^6.1.1", - "@leaphy-robotics/avrdude-webassembly": "^1.3.0", + "@leaphy-robotics/avrdude-webassembly": "^1.4.0", "@leaphy-robotics/dfu-util-wasm": "1.0.2", "@leaphy-robotics/leaphy-blocks": "2.0.2", "@leaphy-robotics/picotool-wasm": "1.0.2", diff --git a/src/app/services/arduino-uploader/ArduinoUploader.ts b/src/app/services/arduino-uploader/ArduinoUploader.ts index 17f35e51..79998fac 100644 --- a/src/app/services/arduino-uploader/ArduinoUploader.ts +++ b/src/app/services/arduino-uploader/ArduinoUploader.ts @@ -64,11 +64,13 @@ class Arduino { this.port = this.robotWiredState.getSerialPort(); try { - if (this.port.readable.locked) { + if (this.port.readable != null && this.port.readable.locked) { await this.port.readable.cancel(); this.port.readable.getReader().releaseLock(); } - await this.port.close(); + try { + await this.port.close(); + } catch (e) {} await this.port.open({baudRate: 115200, bufferSize: 1024}); const abortController = new AbortController(); @@ -122,10 +124,15 @@ class Arduino { this.robotWiredState.setAbortController(abortController); } catch (e) { + console.log(e); if (this.port == null) { return; } - await this.port.close(); + try { + await this.port.close(); + } catch (e) { + + } this.port = null; this.robotWiredState.setSerialPort(null); console.log(e); diff --git a/yarn.lock b/yarn.lock index 1c77e399..11073293 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1852,10 +1852,10 @@ resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== -"@leaphy-robotics/avrdude-webassembly@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@leaphy-robotics/avrdude-webassembly/-/avrdude-webassembly-1.3.0.tgz#e38406d86c5cee547b1e086716c381b0bb49ba10" - integrity sha512-fq0+fsK/VT4QbK4NHRMkMu9r6Ex7ATN+X3H4rnIgqKVLRggHS93/JhOHiJtJrWuhfHMuO/V84WIdseWkA/ZByw== +"@leaphy-robotics/avrdude-webassembly@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@leaphy-robotics/avrdude-webassembly/-/avrdude-webassembly-1.4.0.tgz#ee5babb8c3202f5346dba45bb07263ae2ce9c185" + integrity sha512-S4vPUIsVWQuEL+GCXfAH+CisJSITNd8cs1PqzBMVwjrbFzs3XnXj/5OJ1xlgOwQkmFHQnmyWcRkQG2C43VGosg== "@leaphy-robotics/dfu-util-wasm@1.0.2": version "1.0.2"