From dedf3ef1f7f6934a81a08549d95eefa22fb1ab1c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Mar 2025 12:52:14 -0500 Subject: [PATCH] Bump esptool-js from 0.5.3 to 0.5.4 (#556) * Bump esptool-js from 0.5.3 to 0.5.4 Bumps [esptool-js](https://github.com/espressif/esptool-js) from 0.5.3 to 0.5.4. - [Release notes](https://github.com/espressif/esptool-js/releases) - [Commits](https://github.com/espressif/esptool-js/compare/v0.5.3...v0.5.4) --- updated-dependencies: - dependency-name: esptool-js dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * hard reset --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Paulus Schoutsen --- package-lock.json | 13 +++++++------ src/flash.ts | 12 +++++++----- src/util/reset.ts | 17 +++++++++++++++++ 3 files changed, 31 insertions(+), 11 deletions(-) create mode 100644 src/util/reset.ts diff --git a/package-lock.json b/package-lock.json index bc72f6d..beb1b48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3857,9 +3857,10 @@ } }, "node_modules/esptool-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/esptool-js/-/esptool-js-0.5.3.tgz", - "integrity": "sha512-RAzlZ3+o2a5h+1EZ/ItNEkj4hhBuUtX/BFGiEh7OyF4pSxTIBsBu0oWE2o7THQ+oUgd+bn682SPQQr8Fl2LMDw==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/esptool-js/-/esptool-js-0.5.4.tgz", + "integrity": "sha512-B+XcbbPBjfmnMHVGktGlNI85BbEIQs02y4hoYuqM25q6yVPqLE3bxce/KWtKXH4IGruWTkEujqdKxNeWEV2BDg==", + "license": "Apache-2.0", "dependencies": { "atob-lite": "^2.0.0", "pako": "^2.1.0", @@ -7942,9 +7943,9 @@ "dev": true }, "esptool-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/esptool-js/-/esptool-js-0.5.3.tgz", - "integrity": "sha512-RAzlZ3+o2a5h+1EZ/ItNEkj4hhBuUtX/BFGiEh7OyF4pSxTIBsBu0oWE2o7THQ+oUgd+bn682SPQQr8Fl2LMDw==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/esptool-js/-/esptool-js-0.5.4.tgz", + "integrity": "sha512-B+XcbbPBjfmnMHVGktGlNI85BbEIQs02y4hoYuqM25q6yVPqLE3bxce/KWtKXH4IGruWTkEujqdKxNeWEV2BDg==", "requires": { "atob-lite": "^2.0.0", "pako": "^2.1.0", diff --git a/src/flash.ts b/src/flash.ts index 559d511..0784d6f 100644 --- a/src/flash.ts +++ b/src/flash.ts @@ -6,6 +6,7 @@ import { Manifest, FlashStateType, } from "./const"; +import { hardReset } from "./util/reset"; export const flash = async ( onEvent: (state: FlashState) => void, @@ -53,7 +54,8 @@ export const flash = async ( "Failed to initialize. Try resetting your device or holding the BOOT button while clicking INSTALL.", details: { error: FlashError.FAILED_INITIALIZING, details: err }, }); - await esploader.hardReset(); + + await hardReset(transport); await transport.disconnect(); return; } @@ -74,7 +76,7 @@ export const flash = async ( message: `Your ${chipFamily} board is not supported.`, details: { error: FlashError.NOT_SUPPORTED, details: chipFamily }, }); - await esploader.hardReset(); + await hardReset(transport); await transport.disconnect(); return; } @@ -121,7 +123,7 @@ export const flash = async ( details: err.message, }, }); - await esploader.hardReset(); + await hardReset(transport); await transport.disconnect(); return; } @@ -199,7 +201,7 @@ export const flash = async ( message: err.message, details: { error: FlashError.WRITE_FAILED, details: err }, }); - await esploader.hardReset(); + await hardReset(transport); await transport.disconnect(); return; } @@ -214,7 +216,7 @@ export const flash = async ( }, }); - await esploader.hardReset(); + await hardReset(transport); console.log("DISCONNECT"); await transport.disconnect(); diff --git a/src/util/reset.ts b/src/util/reset.ts new file mode 100644 index 0000000..2482518 --- /dev/null +++ b/src/util/reset.ts @@ -0,0 +1,17 @@ +import { Transport } from "esptool-js"; +import { sleep } from "./sleep"; + +export const hardReset = async (transport: Transport) => { + console.log("Triggering reset"); + await transport.device.setSignals({ + dataTerminalReady: false, + requestToSend: true, + }); + await sleep(250); + await transport.device.setSignals({ + dataTerminalReady: false, + requestToSend: false, + }); + await sleep(250); + await new Promise((resolve) => setTimeout(resolve, 1000)); +};