Defer initialize

pull/10/head
Paulus Schoutsen 5 years ago
parent 08d7ab6494
commit abe298b300

@ -26,7 +26,7 @@ document.addEventListener("DOMContentLoaded", () => {
butConnect.addEventListener("click", () => {
clickConnect().catch(async (e) => {
console.error(e);
errorMsg(e.message);
errorMsg(e.message || e);
if (espStub) {
await espStub.disconnect();
}
@ -161,6 +161,12 @@ function enableStyleSheet(node, enabled) {
node.disabled = !enabled;
}
function formatMacAddr(macAddr) {
return macAddr
.map((value) => value.toString(16).toUpperCase().padStart(2, "0"))
.join(":");
}
/**
* @name clickConnect
* Click handler for the connect/disconnect button.
@ -180,13 +186,23 @@ async function clickConnect() {
debug: (...args) => debugMsg(...args),
error: (...args) => errorMsg(...args),
});
espStub = await esploader.runStub();
toggleUIConnected(true);
toggleUIToolbar(true);
espStub.addEventListener("disconnect", () => {
toggleUIConnected(false);
espStub = false;
});
try {
await esploader.initialize();
logMsg("Connected to " + esploader.chipName);
logMsg("MAC Address: " + formatMacAddr(esploader.macAddr()));
espStub = await esploader.runStub();
toggleUIConnected(true);
toggleUIToolbar(true);
espStub.addEventListener("disconnect", () => {
toggleUIConnected(false);
espStub = false;
});
} catch (err) {
await esploader.disconnect();
throw err;
}
}
/**

@ -528,7 +528,7 @@ export class ESPLoader extends EventTarget {
) {
let filesize = binaryData.byteLength;
this.logger.log("\nWriting data with filesize:" + filesize);
let blocks = await this.flashBegin(filesize, offset);
await this.flashBegin(filesize, offset);
let block = [];
let seq = 0;
let written = 0;

@ -1,6 +1,5 @@
import { ESP_ROM_BAUD, Logger } from "./const";
import { ESPLoader } from "./esp_loader";
import { formatMacAddr } from "./util";
export {
CHIP_FAMILY_ESP32,
@ -17,11 +16,5 @@ export const connect = async (logger: Logger) => {
logger.log("Connected successfully.");
const esploader = new ESPLoader(port, logger);
await esploader.initialize();
logger.log("Connected to " + esploader.chipName);
logger.log("MAC Address: " + formatMacAddr(esploader.macAddr()));
return esploader;
return new ESPLoader(port, logger);
};

@ -105,8 +105,3 @@ export const toHex = (value: number, size = 2) => {
export const sleep = (ms: number) =>
new Promise((resolve) => setTimeout(resolve, ms));
export const formatMacAddr = (macAddr: number[]) =>
macAddr
.map((value) => value.toString(16).toUpperCase().padStart(2, "0"))
.join(":");

Loading…
Cancel
Save