tasmota-esp-web-tools 9.0.2 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ewt-littlefs-manager.d.ts +43 -0
- package/dist/components/ewt-littlefs-manager.js +819 -0
- package/dist/flash.js +4 -30
- package/dist/install-dialog.d.ts +11 -0
- package/dist/install-dialog.js +336 -0
- package/dist/partition.d.ts +26 -0
- package/dist/partition.js +129 -0
- package/dist/util/esp32s2-reconnect.d.ts +22 -0
- package/dist/util/esp32s2-reconnect.js +45 -0
- package/dist/util/partition.d.ts +4 -0
- package/dist/util/partition.js +59 -0
- package/{js/modules/index-BK6drzlv.js → dist/web/index-t2Vsxqjj.js} +1 -1
- package/dist/web/install-button.js +1 -1
- package/dist/web/{install-dialog-Xo7JovVA.js → install-dialog-CVebVk1R.js} +515 -36
- package/dist/web/{styles-ntwzvT31.js → styles-CWxbqh-J.js} +1 -1
- package/dist/web/wasm/littlefs/index.d.ts +91 -0
- package/dist/web/wasm/littlefs/index.js +611 -0
- package/dist/web/wasm/littlefs/littlefs.js +505 -0
- package/dist/web/wasm/littlefs/littlefs.wasm +0 -0
- package/{dist/web/index-BK6drzlv.js → js/modules/index-t2Vsxqjj.js} +1 -1
- package/js/modules/install-button.js +1 -1
- package/js/modules/{install-dialog-Xo7JovVA.js → install-dialog-CVebVk1R.js} +515 -36
- package/js/modules/{styles-ntwzvT31.js → styles-CWxbqh-J.js} +1 -1
- package/js/modules/wasm/littlefs/index.d.ts +91 -0
- package/js/modules/wasm/littlefs/index.js +611 -0
- package/js/modules/wasm/littlefs/littlefs.js +505 -0
- package/js/modules/wasm/littlefs/littlefs.wasm +0 -0
- package/package.json +3 -2
- package/.devcontainer/Dockerfile +0 -16
- package/.devcontainer/devcontainer.json +0 -21
- package/.github/dependabot.yml +0 -10
- package/.github/workflows/build_upload.yml +0 -78
- package/.github/workflows/ci.yml +0 -24
- package/.prettierignore +0 -1
- package/BAUD_RATE_CONFIGURATION.md +0 -291
- package/BAUD_RATE_IMPROVEMENT.md +0 -195
- package/CHANGELOG_IMPROVEMENTS.md +0 -246
- package/ESP32_S2_USB_RECONNECT.md +0 -108
- package/FINAL_SUMMARY.md +0 -153
- package/example-baud-rate.html +0 -276
- package/manifest-example-p4-variants.json +0 -61
- package/rollup.config.mjs +0 -36
- package/script/build +0 -8
- package/script/develop +0 -17
- package/src/components/ewt-button.ts +0 -25
- package/src/components/ewt-checkbox.ts +0 -14
- package/src/components/ewt-circular-progress.ts +0 -14
- package/src/components/ewt-console.ts +0 -166
- package/src/components/ewt-dialog.ts +0 -22
- package/src/components/ewt-formfield.ts +0 -14
- package/src/components/ewt-icon-button.ts +0 -14
- package/src/components/ewt-list-item.ts +0 -14
- package/src/components/ewt-select.ts +0 -23
- package/src/components/ewt-textfield.ts +0 -23
- package/src/components/svg.ts +0 -27
- package/src/connect.ts +0 -55
- package/src/const.ts +0 -122
- package/src/flash.ts +0 -361
- package/src/install-button.ts +0 -126
- package/src/install-dialog.ts +0 -1114
- package/src/no-port-picked/index.ts +0 -10
- package/src/no-port-picked/no-port-picked-dialog.ts +0 -167
- package/src/pages/ewt-page-message.ts +0 -39
- package/src/pages/ewt-page-progress.ts +0 -44
- package/src/styles.ts +0 -34
- package/src/util/chip-family-name.ts +0 -46
- package/src/util/console-color.ts +0 -284
- package/src/util/file-download.ts +0 -17
- package/src/util/fire-event.ts +0 -20
- package/src/util/line-break-transformer.ts +0 -20
- package/src/util/manifest.ts +0 -18
- package/src/util/sleep.ts +0 -2
- package/static/logos/2smart.png +0 -0
- package/static/logos/canairio.png +0 -0
- package/static/logos/clockwise.png +0 -0
- package/static/logos/espeasy.png +0 -0
- package/static/logos/esphome.svg +0 -1
- package/static/logos/luciferin_logo.png +0 -0
- package/static/logos/squeezelite-esp32.png +0 -0
- package/static/logos/tasmota.svg +0 -1
- package/static/logos/wled.png +0 -0
- package/static/screenshots/dashboard.png +0 -0
- package/static/screenshots/logs.png +0 -0
- package/static/social.png +0 -0
- package/tsconfig.json +0 -20
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
export default (() => {
|
|
2
|
+
var _scriptName = globalThis.document?.currentScript?.src;
|
|
3
|
+
return async function (moduleArg = {}) {
|
|
4
|
+
var moduleRtn;
|
|
5
|
+
var Module = moduleArg;
|
|
6
|
+
var ENVIRONMENT_IS_WEB = !!globalThis.window;
|
|
7
|
+
var ENVIRONMENT_IS_WORKER = !!globalThis.WorkerGlobalScope;
|
|
8
|
+
var ENVIRONMENT_IS_NODE =
|
|
9
|
+
globalThis.process?.versions?.node &&
|
|
10
|
+
globalThis.process?.type != "renderer";
|
|
11
|
+
var arguments_ = [];
|
|
12
|
+
var thisProgram = "./this.program";
|
|
13
|
+
var quit_ = (status, toThrow) => {
|
|
14
|
+
throw toThrow;
|
|
15
|
+
};
|
|
16
|
+
if (ENVIRONMENT_IS_WORKER) {
|
|
17
|
+
_scriptName = self.location.href;
|
|
18
|
+
}
|
|
19
|
+
var scriptDirectory = "";
|
|
20
|
+
function locateFile(path) {
|
|
21
|
+
if (Module["locateFile"]) {
|
|
22
|
+
return Module["locateFile"](path, scriptDirectory);
|
|
23
|
+
}
|
|
24
|
+
return scriptDirectory + path;
|
|
25
|
+
}
|
|
26
|
+
var readAsync, readBinary;
|
|
27
|
+
if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
|
|
28
|
+
try {
|
|
29
|
+
scriptDirectory = new URL(".", _scriptName).href;
|
|
30
|
+
} catch {}
|
|
31
|
+
{
|
|
32
|
+
if (ENVIRONMENT_IS_WORKER) {
|
|
33
|
+
readBinary = (url) => {
|
|
34
|
+
var xhr = new XMLHttpRequest();
|
|
35
|
+
xhr.open("GET", url, false);
|
|
36
|
+
xhr.responseType = "arraybuffer";
|
|
37
|
+
xhr.send(null);
|
|
38
|
+
return new Uint8Array(xhr.response);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
readAsync = async (url) => {
|
|
42
|
+
var response = await fetch(url, { credentials: "same-origin" });
|
|
43
|
+
if (response.ok) {
|
|
44
|
+
return response.arrayBuffer();
|
|
45
|
+
}
|
|
46
|
+
throw new Error(response.status + " : " + response.url);
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
} else {
|
|
50
|
+
}
|
|
51
|
+
var out = console.log.bind(console);
|
|
52
|
+
var err = console.error.bind(console);
|
|
53
|
+
var wasmBinary;
|
|
54
|
+
var ABORT = false;
|
|
55
|
+
var EXITSTATUS;
|
|
56
|
+
var readyPromiseResolve, readyPromiseReject;
|
|
57
|
+
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
|
|
58
|
+
var HEAP64, HEAPU64;
|
|
59
|
+
var runtimeInitialized = false;
|
|
60
|
+
function updateMemoryViews() {
|
|
61
|
+
var b = wasmMemory.buffer;
|
|
62
|
+
HEAP8 = new Int8Array(b);
|
|
63
|
+
HEAP16 = new Int16Array(b);
|
|
64
|
+
Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
|
|
65
|
+
HEAPU16 = new Uint16Array(b);
|
|
66
|
+
Module["HEAP32"] = HEAP32 = new Int32Array(b);
|
|
67
|
+
Module["HEAPU32"] = HEAPU32 = new Uint32Array(b);
|
|
68
|
+
HEAPF32 = new Float32Array(b);
|
|
69
|
+
HEAPF64 = new Float64Array(b);
|
|
70
|
+
HEAP64 = new BigInt64Array(b);
|
|
71
|
+
HEAPU64 = new BigUint64Array(b);
|
|
72
|
+
}
|
|
73
|
+
function preRun() {
|
|
74
|
+
if (Module["preRun"]) {
|
|
75
|
+
if (typeof Module["preRun"] == "function")
|
|
76
|
+
Module["preRun"] = [Module["preRun"]];
|
|
77
|
+
while (Module["preRun"].length) {
|
|
78
|
+
addOnPreRun(Module["preRun"].shift());
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
callRuntimeCallbacks(onPreRuns);
|
|
82
|
+
}
|
|
83
|
+
function initRuntime() {
|
|
84
|
+
runtimeInitialized = true;
|
|
85
|
+
wasmExports["i"]();
|
|
86
|
+
}
|
|
87
|
+
function postRun() {
|
|
88
|
+
if (Module["postRun"]) {
|
|
89
|
+
if (typeof Module["postRun"] == "function")
|
|
90
|
+
Module["postRun"] = [Module["postRun"]];
|
|
91
|
+
while (Module["postRun"].length) {
|
|
92
|
+
addOnPostRun(Module["postRun"].shift());
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
callRuntimeCallbacks(onPostRuns);
|
|
96
|
+
}
|
|
97
|
+
function abort(what) {
|
|
98
|
+
Module["onAbort"]?.(what);
|
|
99
|
+
what = "Aborted(" + what + ")";
|
|
100
|
+
err(what);
|
|
101
|
+
ABORT = true;
|
|
102
|
+
what += ". Build with -sASSERTIONS for more info.";
|
|
103
|
+
var e = new WebAssembly.RuntimeError(what);
|
|
104
|
+
readyPromiseReject?.(e);
|
|
105
|
+
throw e;
|
|
106
|
+
}
|
|
107
|
+
var wasmBinaryFile;
|
|
108
|
+
function findWasmBinary() {
|
|
109
|
+
return locateFile("littlefs.wasm");
|
|
110
|
+
}
|
|
111
|
+
function getBinarySync(file) {
|
|
112
|
+
if (file == wasmBinaryFile && wasmBinary) {
|
|
113
|
+
return new Uint8Array(wasmBinary);
|
|
114
|
+
}
|
|
115
|
+
if (readBinary) {
|
|
116
|
+
return readBinary(file);
|
|
117
|
+
}
|
|
118
|
+
throw "both async and sync fetching of the wasm failed";
|
|
119
|
+
}
|
|
120
|
+
async function getWasmBinary(binaryFile) {
|
|
121
|
+
if (!wasmBinary) {
|
|
122
|
+
try {
|
|
123
|
+
var response = await readAsync(binaryFile);
|
|
124
|
+
return new Uint8Array(response);
|
|
125
|
+
} catch {}
|
|
126
|
+
}
|
|
127
|
+
return getBinarySync(binaryFile);
|
|
128
|
+
}
|
|
129
|
+
async function instantiateArrayBuffer(binaryFile, imports) {
|
|
130
|
+
try {
|
|
131
|
+
var binary = await getWasmBinary(binaryFile);
|
|
132
|
+
var instance = await WebAssembly.instantiate(binary, imports);
|
|
133
|
+
return instance;
|
|
134
|
+
} catch (reason) {
|
|
135
|
+
err(`failed to asynchronously prepare wasm: ${reason}`);
|
|
136
|
+
abort(reason);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async function instantiateAsync(binary, binaryFile, imports) {
|
|
140
|
+
if (!binary) {
|
|
141
|
+
try {
|
|
142
|
+
var response = fetch(binaryFile, { credentials: "same-origin" });
|
|
143
|
+
var instantiationResult = await WebAssembly.instantiateStreaming(
|
|
144
|
+
response,
|
|
145
|
+
imports,
|
|
146
|
+
);
|
|
147
|
+
return instantiationResult;
|
|
148
|
+
} catch (reason) {
|
|
149
|
+
err(`wasm streaming compile failed: ${reason}`);
|
|
150
|
+
err("falling back to ArrayBuffer instantiation");
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return instantiateArrayBuffer(binaryFile, imports);
|
|
154
|
+
}
|
|
155
|
+
function getWasmImports() {
|
|
156
|
+
var imports = { a: wasmImports };
|
|
157
|
+
return imports;
|
|
158
|
+
}
|
|
159
|
+
async function createWasm() {
|
|
160
|
+
function receiveInstance(instance, module) {
|
|
161
|
+
wasmExports = instance.exports;
|
|
162
|
+
assignWasmExports(wasmExports);
|
|
163
|
+
updateMemoryViews();
|
|
164
|
+
return wasmExports;
|
|
165
|
+
}
|
|
166
|
+
function receiveInstantiationResult(result) {
|
|
167
|
+
return receiveInstance(result["instance"]);
|
|
168
|
+
}
|
|
169
|
+
var info = getWasmImports();
|
|
170
|
+
if (Module["instantiateWasm"]) {
|
|
171
|
+
return new Promise((resolve, reject) => {
|
|
172
|
+
Module["instantiateWasm"](info, (inst, mod) => {
|
|
173
|
+
resolve(receiveInstance(inst, mod));
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
wasmBinaryFile ??= findWasmBinary();
|
|
178
|
+
var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);
|
|
179
|
+
var exports = receiveInstantiationResult(result);
|
|
180
|
+
return exports;
|
|
181
|
+
}
|
|
182
|
+
class ExitStatus {
|
|
183
|
+
name = "ExitStatus";
|
|
184
|
+
constructor(status) {
|
|
185
|
+
this.message = `Program terminated with exit(${status})`;
|
|
186
|
+
this.status = status;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
var callRuntimeCallbacks = (callbacks) => {
|
|
190
|
+
while (callbacks.length > 0) {
|
|
191
|
+
callbacks.shift()(Module);
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
var onPostRuns = [];
|
|
195
|
+
var addOnPostRun = (cb) => onPostRuns.push(cb);
|
|
196
|
+
var onPreRuns = [];
|
|
197
|
+
var addOnPreRun = (cb) => onPreRuns.push(cb);
|
|
198
|
+
var noExitRuntime = true;
|
|
199
|
+
var UTF8Decoder = globalThis.TextDecoder && new TextDecoder();
|
|
200
|
+
var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
|
|
201
|
+
var maxIdx = idx + maxBytesToRead;
|
|
202
|
+
if (ignoreNul) return maxIdx;
|
|
203
|
+
while (heapOrArray[idx] && !(idx >= maxIdx)) ++idx;
|
|
204
|
+
return idx;
|
|
205
|
+
};
|
|
206
|
+
var UTF8ArrayToString = (
|
|
207
|
+
heapOrArray,
|
|
208
|
+
idx = 0,
|
|
209
|
+
maxBytesToRead,
|
|
210
|
+
ignoreNul,
|
|
211
|
+
) => {
|
|
212
|
+
var endPtr = findStringEnd(heapOrArray, idx, maxBytesToRead, ignoreNul);
|
|
213
|
+
if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
|
|
214
|
+
return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
|
|
215
|
+
}
|
|
216
|
+
var str = "";
|
|
217
|
+
while (idx < endPtr) {
|
|
218
|
+
var u0 = heapOrArray[idx++];
|
|
219
|
+
if (!(u0 & 128)) {
|
|
220
|
+
str += String.fromCharCode(u0);
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
var u1 = heapOrArray[idx++] & 63;
|
|
224
|
+
if ((u0 & 224) == 192) {
|
|
225
|
+
str += String.fromCharCode(((u0 & 31) << 6) | u1);
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
228
|
+
var u2 = heapOrArray[idx++] & 63;
|
|
229
|
+
if ((u0 & 240) == 224) {
|
|
230
|
+
u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
|
|
231
|
+
} else {
|
|
232
|
+
u0 =
|
|
233
|
+
((u0 & 7) << 18) |
|
|
234
|
+
(u1 << 12) |
|
|
235
|
+
(u2 << 6) |
|
|
236
|
+
(heapOrArray[idx++] & 63);
|
|
237
|
+
}
|
|
238
|
+
if (u0 < 65536) {
|
|
239
|
+
str += String.fromCharCode(u0);
|
|
240
|
+
} else {
|
|
241
|
+
var ch = u0 - 65536;
|
|
242
|
+
str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023));
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return str;
|
|
246
|
+
};
|
|
247
|
+
var UTF8ToString = (ptr, maxBytesToRead, ignoreNul) =>
|
|
248
|
+
ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead, ignoreNul) : "";
|
|
249
|
+
var ___assert_fail = (condition, filename, line, func) =>
|
|
250
|
+
abort(
|
|
251
|
+
`Assertion failed: ${UTF8ToString(condition)}, at: ` +
|
|
252
|
+
[
|
|
253
|
+
filename ? UTF8ToString(filename) : "unknown filename",
|
|
254
|
+
line,
|
|
255
|
+
func ? UTF8ToString(func) : "unknown function",
|
|
256
|
+
],
|
|
257
|
+
);
|
|
258
|
+
var __abort_js = () => abort("");
|
|
259
|
+
var runtimeKeepaliveCounter = 0;
|
|
260
|
+
var __emscripten_runtime_keepalive_clear = () => {
|
|
261
|
+
noExitRuntime = false;
|
|
262
|
+
runtimeKeepaliveCounter = 0;
|
|
263
|
+
};
|
|
264
|
+
var timers = {};
|
|
265
|
+
var handleException = (e) => {
|
|
266
|
+
if (e instanceof ExitStatus || e == "unwind") {
|
|
267
|
+
return EXITSTATUS;
|
|
268
|
+
}
|
|
269
|
+
quit_(1, e);
|
|
270
|
+
};
|
|
271
|
+
var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;
|
|
272
|
+
var _proc_exit = (code) => {
|
|
273
|
+
EXITSTATUS = code;
|
|
274
|
+
if (!keepRuntimeAlive()) {
|
|
275
|
+
Module["onExit"]?.(code);
|
|
276
|
+
ABORT = true;
|
|
277
|
+
}
|
|
278
|
+
quit_(code, new ExitStatus(code));
|
|
279
|
+
};
|
|
280
|
+
var exitJS = (status, implicit) => {
|
|
281
|
+
EXITSTATUS = status;
|
|
282
|
+
_proc_exit(status);
|
|
283
|
+
};
|
|
284
|
+
var _exit = exitJS;
|
|
285
|
+
var maybeExit = () => {
|
|
286
|
+
if (!keepRuntimeAlive()) {
|
|
287
|
+
try {
|
|
288
|
+
_exit(EXITSTATUS);
|
|
289
|
+
} catch (e) {
|
|
290
|
+
handleException(e);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
var callUserCallback = (func) => {
|
|
295
|
+
if (ABORT) {
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
try {
|
|
299
|
+
func();
|
|
300
|
+
maybeExit();
|
|
301
|
+
} catch (e) {
|
|
302
|
+
handleException(e);
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
var _emscripten_get_now = () => performance.now();
|
|
306
|
+
var __setitimer_js = (which, timeout_ms) => {
|
|
307
|
+
if (timers[which]) {
|
|
308
|
+
clearTimeout(timers[which].id);
|
|
309
|
+
delete timers[which];
|
|
310
|
+
}
|
|
311
|
+
if (!timeout_ms) return 0;
|
|
312
|
+
var id = setTimeout(() => {
|
|
313
|
+
delete timers[which];
|
|
314
|
+
callUserCallback(() =>
|
|
315
|
+
__emscripten_timeout(which, _emscripten_get_now()),
|
|
316
|
+
);
|
|
317
|
+
}, timeout_ms);
|
|
318
|
+
timers[which] = { id, timeout_ms };
|
|
319
|
+
return 0;
|
|
320
|
+
};
|
|
321
|
+
var getHeapMax = () => 67108864;
|
|
322
|
+
var alignMemory = (size, alignment) =>
|
|
323
|
+
Math.ceil(size / alignment) * alignment;
|
|
324
|
+
var growMemory = (size) => {
|
|
325
|
+
var oldHeapSize = wasmMemory.buffer.byteLength;
|
|
326
|
+
var pages = ((size - oldHeapSize + 65535) / 65536) | 0;
|
|
327
|
+
try {
|
|
328
|
+
wasmMemory.grow(pages);
|
|
329
|
+
updateMemoryViews();
|
|
330
|
+
return 1;
|
|
331
|
+
} catch (e) {}
|
|
332
|
+
};
|
|
333
|
+
var _emscripten_resize_heap = (requestedSize) => {
|
|
334
|
+
var oldSize = HEAPU8.length;
|
|
335
|
+
requestedSize >>>= 0;
|
|
336
|
+
var maxHeapSize = getHeapMax();
|
|
337
|
+
if (requestedSize > maxHeapSize) {
|
|
338
|
+
return false;
|
|
339
|
+
}
|
|
340
|
+
for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
|
|
341
|
+
var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
|
|
342
|
+
overGrownHeapSize = Math.min(
|
|
343
|
+
overGrownHeapSize,
|
|
344
|
+
requestedSize + 100663296,
|
|
345
|
+
);
|
|
346
|
+
var newSize = Math.min(
|
|
347
|
+
maxHeapSize,
|
|
348
|
+
alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536),
|
|
349
|
+
);
|
|
350
|
+
var replacement = growMemory(newSize);
|
|
351
|
+
if (replacement) {
|
|
352
|
+
return true;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
return false;
|
|
356
|
+
};
|
|
357
|
+
var printCharBuffers = [null, [], []];
|
|
358
|
+
var printChar = (stream, curr) => {
|
|
359
|
+
var buffer = printCharBuffers[stream];
|
|
360
|
+
if (curr === 0 || curr === 10) {
|
|
361
|
+
(stream === 1 ? out : err)(UTF8ArrayToString(buffer));
|
|
362
|
+
buffer.length = 0;
|
|
363
|
+
} else {
|
|
364
|
+
buffer.push(curr);
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
var _fd_write = (fd, iov, iovcnt, pnum) => {
|
|
368
|
+
var num = 0;
|
|
369
|
+
for (var i = 0; i < iovcnt; i++) {
|
|
370
|
+
var ptr = HEAPU32[iov >> 2];
|
|
371
|
+
var len = HEAPU32[(iov + 4) >> 2];
|
|
372
|
+
iov += 8;
|
|
373
|
+
for (var j = 0; j < len; j++) {
|
|
374
|
+
printChar(fd, HEAPU8[ptr + j]);
|
|
375
|
+
}
|
|
376
|
+
num += len;
|
|
377
|
+
}
|
|
378
|
+
HEAPU32[pnum >> 2] = num;
|
|
379
|
+
return 0;
|
|
380
|
+
};
|
|
381
|
+
{
|
|
382
|
+
if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
|
|
383
|
+
if (Module["print"]) out = Module["print"];
|
|
384
|
+
if (Module["printErr"]) err = Module["printErr"];
|
|
385
|
+
if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
|
|
386
|
+
if (Module["arguments"]) arguments_ = Module["arguments"];
|
|
387
|
+
if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
|
|
388
|
+
if (Module["preInit"]) {
|
|
389
|
+
if (typeof Module["preInit"] == "function")
|
|
390
|
+
Module["preInit"] = [Module["preInit"]];
|
|
391
|
+
while (Module["preInit"].length > 0) {
|
|
392
|
+
Module["preInit"].shift()();
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
var _lfs_wasm_set_disk_version,
|
|
397
|
+
_lfs_wasm_get_disk_version,
|
|
398
|
+
_lfs_wasm_init,
|
|
399
|
+
_free,
|
|
400
|
+
_malloc,
|
|
401
|
+
_lfs_wasm_init_from_image,
|
|
402
|
+
_lfs_wasm_get_fs_info,
|
|
403
|
+
_lfs_wasm_mount,
|
|
404
|
+
_lfs_wasm_unmount,
|
|
405
|
+
_lfs_wasm_format,
|
|
406
|
+
_lfs_wasm_mkdir,
|
|
407
|
+
_lfs_wasm_remove,
|
|
408
|
+
_lfs_wasm_rename,
|
|
409
|
+
_lfs_wasm_stat,
|
|
410
|
+
_lfs_wasm_dir_open,
|
|
411
|
+
_lfs_wasm_dir_read,
|
|
412
|
+
_lfs_wasm_dir_close,
|
|
413
|
+
_lfs_wasm_write_file,
|
|
414
|
+
_lfs_wasm_read_file,
|
|
415
|
+
_lfs_wasm_file_size,
|
|
416
|
+
_lfs_wasm_get_image,
|
|
417
|
+
_lfs_wasm_get_image_size,
|
|
418
|
+
_lfs_wasm_fs_stat,
|
|
419
|
+
_lfs_wasm_cleanup,
|
|
420
|
+
__emscripten_timeout,
|
|
421
|
+
memory,
|
|
422
|
+
__indirect_function_table,
|
|
423
|
+
wasmMemory;
|
|
424
|
+
function assignWasmExports(wasmExports) {
|
|
425
|
+
_lfs_wasm_set_disk_version = Module["_lfs_wasm_set_disk_version"] =
|
|
426
|
+
wasmExports["j"];
|
|
427
|
+
_lfs_wasm_get_disk_version = Module["_lfs_wasm_get_disk_version"] =
|
|
428
|
+
wasmExports["k"];
|
|
429
|
+
_lfs_wasm_init = Module["_lfs_wasm_init"] = wasmExports["l"];
|
|
430
|
+
_free = Module["_free"] = wasmExports["m"];
|
|
431
|
+
_malloc = Module["_malloc"] = wasmExports["n"];
|
|
432
|
+
_lfs_wasm_init_from_image = Module["_lfs_wasm_init_from_image"] =
|
|
433
|
+
wasmExports["o"];
|
|
434
|
+
_lfs_wasm_get_fs_info = Module["_lfs_wasm_get_fs_info"] =
|
|
435
|
+
wasmExports["p"];
|
|
436
|
+
_lfs_wasm_mount = Module["_lfs_wasm_mount"] = wasmExports["q"];
|
|
437
|
+
_lfs_wasm_unmount = Module["_lfs_wasm_unmount"] = wasmExports["r"];
|
|
438
|
+
_lfs_wasm_format = Module["_lfs_wasm_format"] = wasmExports["s"];
|
|
439
|
+
_lfs_wasm_mkdir = Module["_lfs_wasm_mkdir"] = wasmExports["t"];
|
|
440
|
+
_lfs_wasm_remove = Module["_lfs_wasm_remove"] = wasmExports["u"];
|
|
441
|
+
_lfs_wasm_rename = Module["_lfs_wasm_rename"] = wasmExports["v"];
|
|
442
|
+
_lfs_wasm_stat = Module["_lfs_wasm_stat"] = wasmExports["w"];
|
|
443
|
+
_lfs_wasm_dir_open = Module["_lfs_wasm_dir_open"] = wasmExports["x"];
|
|
444
|
+
_lfs_wasm_dir_read = Module["_lfs_wasm_dir_read"] = wasmExports["y"];
|
|
445
|
+
_lfs_wasm_dir_close = Module["_lfs_wasm_dir_close"] = wasmExports["z"];
|
|
446
|
+
_lfs_wasm_write_file = Module["_lfs_wasm_write_file"] = wasmExports["A"];
|
|
447
|
+
_lfs_wasm_read_file = Module["_lfs_wasm_read_file"] = wasmExports["B"];
|
|
448
|
+
_lfs_wasm_file_size = Module["_lfs_wasm_file_size"] = wasmExports["C"];
|
|
449
|
+
_lfs_wasm_get_image = Module["_lfs_wasm_get_image"] = wasmExports["D"];
|
|
450
|
+
_lfs_wasm_get_image_size = Module["_lfs_wasm_get_image_size"] =
|
|
451
|
+
wasmExports["E"];
|
|
452
|
+
_lfs_wasm_fs_stat = Module["_lfs_wasm_fs_stat"] = wasmExports["F"];
|
|
453
|
+
_lfs_wasm_cleanup = Module["_lfs_wasm_cleanup"] = wasmExports["G"];
|
|
454
|
+
__emscripten_timeout = wasmExports["H"];
|
|
455
|
+
memory = wasmMemory = wasmExports["h"];
|
|
456
|
+
__indirect_function_table = wasmExports["__indirect_function_table"];
|
|
457
|
+
}
|
|
458
|
+
var wasmImports = {
|
|
459
|
+
a: ___assert_fail,
|
|
460
|
+
d: __abort_js,
|
|
461
|
+
c: __emscripten_runtime_keepalive_clear,
|
|
462
|
+
e: __setitimer_js,
|
|
463
|
+
f: _emscripten_resize_heap,
|
|
464
|
+
g: _fd_write,
|
|
465
|
+
b: _proc_exit,
|
|
466
|
+
};
|
|
467
|
+
function run() {
|
|
468
|
+
preRun();
|
|
469
|
+
function doRun() {
|
|
470
|
+
Module["calledRun"] = true;
|
|
471
|
+
if (ABORT) return;
|
|
472
|
+
initRuntime();
|
|
473
|
+
readyPromiseResolve?.(Module);
|
|
474
|
+
Module["onRuntimeInitialized"]?.();
|
|
475
|
+
postRun();
|
|
476
|
+
}
|
|
477
|
+
if (Module["setStatus"]) {
|
|
478
|
+
Module["setStatus"]("Running...");
|
|
479
|
+
setTimeout(() => {
|
|
480
|
+
setTimeout(() => Module["setStatus"](""), 1);
|
|
481
|
+
doRun();
|
|
482
|
+
}, 1);
|
|
483
|
+
} else {
|
|
484
|
+
doRun();
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
var wasmExports;
|
|
488
|
+
wasmExports = await createWasm();
|
|
489
|
+
run();
|
|
490
|
+
if (runtimeInitialized) {
|
|
491
|
+
moduleRtn = Module;
|
|
492
|
+
} else {
|
|
493
|
+
moduleRtn = new Promise((resolve, reject) => {
|
|
494
|
+
readyPromiseResolve = resolve;
|
|
495
|
+
readyPromiseReject = reject;
|
|
496
|
+
});
|
|
497
|
+
}
|
|
498
|
+
return moduleRtn;
|
|
499
|
+
};
|
|
500
|
+
})();
|
|
501
|
+
if (typeof exports === "object" && typeof module === "object") {
|
|
502
|
+
module.exports = createLittleFS;
|
|
503
|
+
module.exports.default = createLittleFS;
|
|
504
|
+
} else if (typeof define === "function" && define["amd"])
|
|
505
|
+
define([], () => createLittleFS);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=async t=>{let n;import("./install-dialog-
|
|
1
|
+
const e=async t=>{let n;import("./install-dialog-CVebVk1R.js");try{n=await navigator.serial.requestPort()}catch(n){return"NotFoundError"===n.name?void import("./index-t2Vsxqjj.js").then(n=>n.openNoPortPickedDialog(()=>e(t))):void alert(`Error: ${n.message}`)}if(!n)return;try{await n.open({baudRate:115200})}catch(e){return void alert(e.message)}const o=document.createElement("ewt-install-dialog");o.port=n,o.manifestPath=t.manifest||t.getAttribute("manifest"),o.overrides=t.overrides,o.firmwareFile=t.firmwareFile;const r=t.getAttribute("baud-rate");if(r){const e=parseInt(r,10);isNaN(e)||(o.baudRate=e)}else void 0!==t.baudRate&&(o.baudRate=t.baudRate);o.addEventListener("closed",()=>{n.close()},{once:!0}),document.body.appendChild(o)};class t extends HTMLElement{connectedCallback(){if(this.renderRoot)return;if(this.renderRoot=this.attachShadow({mode:"open"}),!t.isSupported||!t.isAllowed)return this.toggleAttribute("install-unsupported",!0),void(this.renderRoot.innerHTML=t.isAllowed?"<slot name='unsupported'>Your browser does not support installing things on ESP devices. Use Google Chrome or Microsoft Edge.</slot>":"<slot name='not-allowed'>You can only install ESP devices on HTTPS websites or on the localhost.</slot>");this.toggleAttribute("install-supported",!0);const n=document.createElement("slot");n.addEventListener("click",async t=>{t.preventDefault(),e(this)}),n.name="activate";const o=document.createElement("button");if(o.innerText="CONNECT",n.append(o),"adoptedStyleSheets"in Document.prototype&&"replaceSync"in CSSStyleSheet.prototype){const e=new CSSStyleSheet;e.replaceSync(t.style),this.renderRoot.adoptedStyleSheets=[e]}else{const e=document.createElement("style");e.innerText=t.style,this.renderRoot.append(e)}this.renderRoot.append(n)}}t.isSupported="serial"in navigator,t.isAllowed=window.isSecureContext,t.style='\n button {\n position: relative;\n cursor: pointer;\n font-size: 14px;\n padding: 8px 28px;\n color: var(--esp-tools-button-text-color, #fff);\n background-color: var(--esp-tools-button-color, #03a9f4);\n border: none;\n border-radius: 4px;\n box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.12), 0 1px 5px 0 rgba(0,0,0,.2);\n }\n button::before {\n content: " ";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n opacity: 0.2;\n border-radius: 4px;\n }\n button:hover {\n box-shadow: 0 4px 8px 0 rgba(0,0,0,.14), 0 1px 7px 0 rgba(0,0,0,.12), 0 3px 1px -1px rgba(0,0,0,.2);\n }\n button:hover::before {\n background-color: rgba(255,255,255,.8);\n }\n button:focus {\n outline: none;\n }\n button:focus::before {\n background-color: white;\n }\n button:active::before {\n background-color: grey;\n }\n :host([active]) button {\n color: rgba(0, 0, 0, 0.38);\n background-color: rgba(0, 0, 0, 0.12);\n box-shadow: none;\n cursor: unset;\n pointer-events: none;\n }\n improv-wifi-launch-button {\n display: block;\n margin-top: 16px;\n }\n .hidden {\n display: none;\n }',customElements.define("esp-web-install-button",t);
|