tasmota-webserial-esptool 6.5.3 → 7.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/.vscode/settings.json +2 -0
- package/README.md +4 -3
- package/READ_FLASH_FEATURE.md +130 -0
- package/css/light.css +11 -0
- package/css/style.css +213 -45
- package/dist/const.d.ts +42 -3
- package/dist/const.js +102 -4
- package/dist/esp_loader.d.ts +27 -3
- package/dist/esp_loader.js +376 -17
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -2
- package/dist/partition.d.ts +26 -0
- package/dist/partition.js +129 -0
- package/dist/stubs/esp32.json +4 -4
- package/dist/stubs/esp32c2.json +4 -4
- package/dist/stubs/esp32c3.json +4 -4
- package/dist/stubs/esp32c5.json +4 -4
- package/dist/stubs/esp32c6.json +4 -4
- package/dist/stubs/esp32c61.json +4 -4
- package/dist/stubs/esp32h2.json +4 -4
- package/dist/stubs/esp32p4.json +4 -4
- package/dist/stubs/esp32p4r3.json +4 -4
- package/dist/stubs/esp32s2.json +4 -4
- package/dist/stubs/esp32s3.json +4 -4
- package/dist/stubs/esp8266.json +3 -3
- package/dist/stubs/index.d.ts +1 -1
- package/dist/stubs/index.js +7 -1
- package/dist/web/esp32-CijhsJH1.js +1 -0
- package/dist/web/esp32c2-C17SM4gO.js +1 -0
- package/dist/web/esp32c3-DxRGijbg.js +1 -0
- package/dist/web/esp32c5-3mDOIGa4.js +1 -0
- package/dist/web/esp32c6-h6U0SQTm.js +1 -0
- package/dist/web/esp32c61-BKtexhPZ.js +1 -0
- package/dist/web/esp32h2-RtuWSEmP.js +1 -0
- package/dist/web/esp32p4-5nkIjxqJ.js +1 -0
- package/dist/web/esp32p4r3-CpHBYEwI.js +1 -0
- package/dist/web/esp32s2-IiDBtXxo.js +1 -0
- package/dist/web/esp32s3-6yv5yxum.js +1 -0
- package/dist/web/esp8266-CUwxJpGa.js +1 -0
- package/dist/web/index.js +1 -1
- package/index.html +158 -34
- package/js/modules/esp32-CijhsJH1.js +1 -0
- package/js/modules/esp32c2-C17SM4gO.js +1 -0
- package/js/modules/esp32c3-DxRGijbg.js +1 -0
- package/js/modules/esp32c5-3mDOIGa4.js +1 -0
- package/js/modules/esp32c6-h6U0SQTm.js +1 -0
- package/js/modules/esp32c61-BKtexhPZ.js +1 -0
- package/js/modules/esp32h2-RtuWSEmP.js +1 -0
- package/js/modules/esp32p4-5nkIjxqJ.js +1 -0
- package/js/modules/esp32p4r3-CpHBYEwI.js +1 -0
- package/js/modules/esp32s2-IiDBtXxo.js +1 -0
- package/js/modules/esp32s3-6yv5yxum.js +1 -0
- package/js/modules/esp8266-CUwxJpGa.js +1 -0
- package/js/modules/esptool.js +1 -1
- package/js/script.js +456 -11
- package/package.json +6 -6
- package/src/const.ts +109 -5
- package/src/esp_loader.ts +491 -18
- package/src/index.ts +3 -1
- package/src/partition.ts +155 -0
- package/src/stubs/README.md +1 -1
- package/src/stubs/esp32.json +4 -4
- package/src/stubs/esp32c2.json +4 -4
- package/src/stubs/esp32c3.json +4 -4
- package/src/stubs/esp32c5.json +4 -4
- package/src/stubs/esp32c6.json +4 -4
- package/src/stubs/esp32c61.json +4 -4
- package/src/stubs/esp32h2.json +4 -4
- package/src/stubs/esp32p4.json +4 -4
- package/src/stubs/esp32p4r3.json +4 -4
- package/src/stubs/esp32s2.json +4 -4
- package/src/stubs/esp32s3.json +4 -4
- package/src/stubs/esp8266.json +3 -3
- package/src/stubs/index.ts +14 -2
- package/BUGFIX_GET_SECURITY_INFO.md +0 -126
- package/IMPLEMENTATION_SUMMARY.md +0 -232
- package/SECURITY_INFO_EXPLANATION.md +0 -145
- package/dist/web/esp32-BNIFdu1P.js +0 -1
- package/dist/web/esp32c2-BqxquOKw.js +0 -1
- package/dist/web/esp32c3-BOOqe8me.js +0 -1
- package/dist/web/esp32c5-mcj52-K1.js +0 -1
- package/dist/web/esp32c6-Cg5qYgg7.js +0 -1
- package/dist/web/esp32c61-CzCdsydk.js +0 -1
- package/dist/web/esp32h2-DZa_lpff.js +0 -1
- package/dist/web/esp32p4-DyGqUAeZ.js +0 -1
- package/dist/web/esp32p4r3-Cle9QJmZ.js +0 -1
- package/dist/web/esp32s2-Bk4mqADi.js +0 -1
- package/dist/web/esp32s3-Df3OUCOC.js +0 -1
- package/dist/web/esp8266-CQFcqJ_a.js +0 -1
- package/js/modules/esp32-BNIFdu1P.js +0 -1
- package/js/modules/esp32c2-BqxquOKw.js +0 -1
- package/js/modules/esp32c3-BOOqe8me.js +0 -1
- package/js/modules/esp32c5-mcj52-K1.js +0 -1
- package/js/modules/esp32c6-Cg5qYgg7.js +0 -1
- package/js/modules/esp32c61-CzCdsydk.js +0 -1
- package/js/modules/esp32h2-DZa_lpff.js +0 -1
- package/js/modules/esp32p4-DyGqUAeZ.js +0 -1
- package/js/modules/esp32p4r3-Cle9QJmZ.js +0 -1
- package/js/modules/esp32s2-Bk4mqADi.js +0 -1
- package/js/modules/esp32s3-Df3OUCOC.js +0 -1
- package/js/modules/esp8266-CQFcqJ_a.js +0 -1
package/dist/const.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { toByteArray } from "./util";
|
|
2
2
|
export const baudRates = [
|
|
3
|
-
115200, 128000, 153600, 230400, 460800, 921600, 1500000, 2000000,
|
|
3
|
+
115200, 128000, 153600, 230400, 460800, 500000, 921600, 1500000, 2000000,
|
|
4
4
|
];
|
|
5
5
|
export const FLASH_SIZES = {
|
|
6
6
|
"512KB": 0x00,
|
|
@@ -33,6 +33,20 @@ export const DETECTED_FLASH_SIZES = {
|
|
|
33
33
|
0x18: "16MB",
|
|
34
34
|
0x19: "32MB",
|
|
35
35
|
0x1a: "64MB",
|
|
36
|
+
0x1b: "128MB",
|
|
37
|
+
0x1c: "256MB",
|
|
38
|
+
0x20: "64MB",
|
|
39
|
+
0x21: "128MB",
|
|
40
|
+
0x22: "256MB",
|
|
41
|
+
0x32: "256KB",
|
|
42
|
+
0x33: "512KB",
|
|
43
|
+
0x34: "1MB",
|
|
44
|
+
0x35: "2MB",
|
|
45
|
+
0x36: "4MB",
|
|
46
|
+
0x37: "8MB",
|
|
47
|
+
0x38: "16MB",
|
|
48
|
+
0x39: "32MB",
|
|
49
|
+
0x3a: "64MB",
|
|
36
50
|
};
|
|
37
51
|
export const FLASH_WRITE_SIZE = 0x400;
|
|
38
52
|
export const STUB_FLASH_WRITE_SIZE = 0x4000;
|
|
@@ -139,8 +153,8 @@ export const ESP32C61_SPI_W0_OFFS = 0x58;
|
|
|
139
153
|
export const ESP32C61_UART_DATE_REG_ADDR = 0x6000007c;
|
|
140
154
|
export const ESP32C61_BOOTLOADER_FLASH_OFFSET = 0x0;
|
|
141
155
|
export const ESP32H2_SPI_REG_BASE = 0x60003000;
|
|
142
|
-
export const ESP32H2_BASEFUSEADDR =
|
|
143
|
-
export const ESP32H2_MACFUSEADDR =
|
|
156
|
+
export const ESP32H2_BASEFUSEADDR = 0x600b0800;
|
|
157
|
+
export const ESP32H2_MACFUSEADDR = 0x600b0800 + 0x044;
|
|
144
158
|
export const ESP32H2_SPI_USR_OFFS = 0x18;
|
|
145
159
|
export const ESP32H2_SPI_USR1_OFFS = 0x1c;
|
|
146
160
|
export const ESP32H2_SPI_USR2_OFFS = 0x20;
|
|
@@ -149,6 +163,28 @@ export const ESP32H2_SPI_MISO_DLEN_OFFS = 0x28;
|
|
|
149
163
|
export const ESP32H2_SPI_W0_OFFS = 0x58;
|
|
150
164
|
export const ESP32H2_UART_DATE_REG_ADDR = 0x6000007c;
|
|
151
165
|
export const ESP32H2_BOOTLOADER_FLASH_OFFSET = 0x0;
|
|
166
|
+
export const ESP32H4_SPI_REG_BASE = 0x60099000;
|
|
167
|
+
export const ESP32H4_BASEFUSEADDR = 0x600b1800;
|
|
168
|
+
export const ESP32H4_MACFUSEADDR = 0x600b1800 + 0x044;
|
|
169
|
+
export const ESP32H4_SPI_USR_OFFS = 0x18;
|
|
170
|
+
export const ESP32H4_SPI_USR1_OFFS = 0x1c;
|
|
171
|
+
export const ESP32H4_SPI_USR2_OFFS = 0x20;
|
|
172
|
+
export const ESP32H4_SPI_MOSI_DLEN_OFFS = 0x24;
|
|
173
|
+
export const ESP32H4_SPI_MISO_DLEN_OFFS = 0x28;
|
|
174
|
+
export const ESP32H4_SPI_W0_OFFS = 0x58;
|
|
175
|
+
export const ESP32H4_UART_DATE_REG_ADDR = 0x60012000 + 0x7c;
|
|
176
|
+
export const ESP32H4_BOOTLOADER_FLASH_OFFSET = 0x2000;
|
|
177
|
+
export const ESP32H21_SPI_REG_BASE = 0x60003000;
|
|
178
|
+
export const ESP32H21_BASEFUSEADDR = 0x600b4000;
|
|
179
|
+
export const ESP32H21_MACFUSEADDR = 0x600b4000 + 0x044;
|
|
180
|
+
export const ESP32H21_SPI_USR_OFFS = 0x18;
|
|
181
|
+
export const ESP32H21_SPI_USR1_OFFS = 0x1c;
|
|
182
|
+
export const ESP32H21_SPI_USR2_OFFS = 0x20;
|
|
183
|
+
export const ESP32H21_SPI_MOSI_DLEN_OFFS = 0x24;
|
|
184
|
+
export const ESP32H21_SPI_MISO_DLEN_OFFS = 0x28;
|
|
185
|
+
export const ESP32H21_SPI_W0_OFFS = 0x58;
|
|
186
|
+
export const ESP32H21_UART_DATE_REG_ADDR = 0x6000007c;
|
|
187
|
+
export const ESP32H21_BOOTLOADER_FLASH_OFFSET = 0x0;
|
|
152
188
|
export const ESP32P4_SPI_REG_BASE = 0x5008d000;
|
|
153
189
|
export const ESP32P4_BASEFUSEADDR = 0x5012d000;
|
|
154
190
|
export const ESP32P4_EFUSE_BLOCK1_ADDR = ESP32P4_BASEFUSEADDR + 0x044;
|
|
@@ -161,6 +197,18 @@ export const ESP32P4_SPI_MISO_DLEN_OFFS = 0x28;
|
|
|
161
197
|
export const ESP32P4_SPI_W0_OFFS = 0x58;
|
|
162
198
|
export const ESP32P4_UART_DATE_REG_ADDR = 0x500ca000 + 0x8c;
|
|
163
199
|
export const ESP32P4_BOOTLOADER_FLASH_OFFSET = 0x2000;
|
|
200
|
+
export const ESP32S31_SPI_REG_BASE = 0x20500000;
|
|
201
|
+
export const ESP32S31_BASEFUSEADDR = 0x20715000;
|
|
202
|
+
export const ESP32S31_EFUSE_BLOCK1_ADDR = ESP32S31_BASEFUSEADDR + 0x044;
|
|
203
|
+
export const ESP32S31_MACFUSEADDR = 0x20715000 + 0x044;
|
|
204
|
+
export const ESP32S31_SPI_USR_OFFS = 0x18;
|
|
205
|
+
export const ESP32S31_SPI_USR1_OFFS = 0x1c;
|
|
206
|
+
export const ESP32S31_SPI_USR2_OFFS = 0x20;
|
|
207
|
+
export const ESP32S31_SPI_MOSI_DLEN_OFFS = 0x24;
|
|
208
|
+
export const ESP32S31_SPI_MISO_DLEN_OFFS = 0x28;
|
|
209
|
+
export const ESP32S31_SPI_W0_OFFS = 0x58;
|
|
210
|
+
export const ESP32S31_UART_DATE_REG_ADDR = 0x2038a000 + 0x8c;
|
|
211
|
+
export const ESP32S31_BOOTLOADER_FLASH_OFFSET = 0x2000;
|
|
164
212
|
export const SYNC_PACKET = toByteArray("\x07\x07\x12 UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU");
|
|
165
213
|
export const CHIP_DETECT_MAGIC_REG_ADDR = 0x40001000;
|
|
166
214
|
// Image Chip IDs (used by ESP32-C3 and later for chip detection)
|
|
@@ -175,7 +223,10 @@ export const CHIP_FAMILY_ESP32C5 = 0x32c5;
|
|
|
175
223
|
export const CHIP_FAMILY_ESP32C6 = 0x32c6;
|
|
176
224
|
export const CHIP_FAMILY_ESP32C61 = 0x32c61;
|
|
177
225
|
export const CHIP_FAMILY_ESP32H2 = 0x3272;
|
|
226
|
+
export const CHIP_FAMILY_ESP32H4 = 0x3274;
|
|
227
|
+
export const CHIP_FAMILY_ESP32H21 = 0x3275;
|
|
178
228
|
export const CHIP_FAMILY_ESP32P4 = 0x3280;
|
|
229
|
+
export const CHIP_FAMILY_ESP32S31 = 0x3231;
|
|
179
230
|
export const CHIP_ID_TO_INFO = {
|
|
180
231
|
5: { name: "ESP32-C3", family: CHIP_FAMILY_ESP32C3 },
|
|
181
232
|
9: { name: "ESP32-S3", family: CHIP_FAMILY_ESP32S3 },
|
|
@@ -185,6 +236,9 @@ export const CHIP_ID_TO_INFO = {
|
|
|
185
236
|
18: { name: "ESP32-P4", family: CHIP_FAMILY_ESP32P4 },
|
|
186
237
|
20: { name: "ESP32-C61", family: CHIP_FAMILY_ESP32C61 },
|
|
187
238
|
23: { name: "ESP32-C5", family: CHIP_FAMILY_ESP32C5 },
|
|
239
|
+
25: { name: "ESP32-H21", family: CHIP_FAMILY_ESP32H21 },
|
|
240
|
+
28: { name: "ESP32-H4", family: CHIP_FAMILY_ESP32H4 },
|
|
241
|
+
32: { name: "ESP32-S31", family: CHIP_FAMILY_ESP32S31 },
|
|
188
242
|
};
|
|
189
243
|
export const CHIP_DETECT_MAGIC_VALUES = {
|
|
190
244
|
0xfff0c101: { name: "ESP8266", family: CHIP_FAMILY_ESP8266 },
|
|
@@ -227,6 +281,7 @@ export const ESP_WRITE_REG = 0x09;
|
|
|
227
281
|
export const ESP_READ_REG = 0x0a;
|
|
228
282
|
export const ESP_ERASE_FLASH = 0xd0;
|
|
229
283
|
export const ESP_ERASE_REGION = 0xd1;
|
|
284
|
+
export const ESP_READ_FLASH = 0xd2;
|
|
230
285
|
export const ESP_SPI_SET_PARAMS = 0x0b;
|
|
231
286
|
export const ESP_SPI_ATTACH = 0x0d;
|
|
232
287
|
export const ESP_CHANGE_BAUDRATE = 0x0f;
|
|
@@ -241,11 +296,12 @@ export const USB_RAM_BLOCK = 0x800;
|
|
|
241
296
|
export const ESP_RAM_BLOCK = 0x1800;
|
|
242
297
|
// Timeouts
|
|
243
298
|
export const DEFAULT_TIMEOUT = 3000;
|
|
244
|
-
export const CHIP_ERASE_TIMEOUT =
|
|
299
|
+
export const CHIP_ERASE_TIMEOUT = 150000; // timeout for full chip erase in ms
|
|
245
300
|
export const MAX_TIMEOUT = CHIP_ERASE_TIMEOUT * 2; // longest any command can run in ms
|
|
246
301
|
export const SYNC_TIMEOUT = 100; // timeout for syncing with bootloader in ms
|
|
247
302
|
export const ERASE_REGION_TIMEOUT_PER_MB = 30000; // timeout (per megabyte) for erasing a region in ms
|
|
248
303
|
export const MEM_END_ROM_TIMEOUT = 500;
|
|
304
|
+
export const FLASH_READ_TIMEOUT = 100; // timeout for reading flash in ms
|
|
249
305
|
/**
|
|
250
306
|
* @name timeoutPerMb
|
|
251
307
|
* Scales timeouts which are size-specific
|
|
@@ -399,6 +455,34 @@ export const getSpiFlashAddresses = (chipFamily) => {
|
|
|
399
455
|
uartDateReg: ESP32H2_UART_DATE_REG_ADDR,
|
|
400
456
|
flashOffs: ESP32H2_BOOTLOADER_FLASH_OFFSET,
|
|
401
457
|
};
|
|
458
|
+
case CHIP_FAMILY_ESP32H4:
|
|
459
|
+
return {
|
|
460
|
+
regBase: ESP32H4_SPI_REG_BASE,
|
|
461
|
+
baseFuse: ESP32H4_BASEFUSEADDR,
|
|
462
|
+
macFuse: ESP32H4_MACFUSEADDR,
|
|
463
|
+
usrOffs: ESP32H4_SPI_USR_OFFS,
|
|
464
|
+
usr1Offs: ESP32H4_SPI_USR1_OFFS,
|
|
465
|
+
usr2Offs: ESP32H4_SPI_USR2_OFFS,
|
|
466
|
+
mosiDlenOffs: ESP32H4_SPI_MOSI_DLEN_OFFS,
|
|
467
|
+
misoDlenOffs: ESP32H4_SPI_MISO_DLEN_OFFS,
|
|
468
|
+
w0Offs: ESP32H4_SPI_W0_OFFS,
|
|
469
|
+
uartDateReg: ESP32H4_UART_DATE_REG_ADDR,
|
|
470
|
+
flashOffs: ESP32H4_BOOTLOADER_FLASH_OFFSET,
|
|
471
|
+
};
|
|
472
|
+
case CHIP_FAMILY_ESP32H21:
|
|
473
|
+
return {
|
|
474
|
+
regBase: ESP32H21_SPI_REG_BASE,
|
|
475
|
+
baseFuse: ESP32H21_BASEFUSEADDR,
|
|
476
|
+
macFuse: ESP32H21_MACFUSEADDR,
|
|
477
|
+
usrOffs: ESP32H21_SPI_USR_OFFS,
|
|
478
|
+
usr1Offs: ESP32H21_SPI_USR1_OFFS,
|
|
479
|
+
usr2Offs: ESP32H21_SPI_USR2_OFFS,
|
|
480
|
+
mosiDlenOffs: ESP32H21_SPI_MOSI_DLEN_OFFS,
|
|
481
|
+
misoDlenOffs: ESP32H21_SPI_MISO_DLEN_OFFS,
|
|
482
|
+
w0Offs: ESP32H21_SPI_W0_OFFS,
|
|
483
|
+
uartDateReg: ESP32H21_UART_DATE_REG_ADDR,
|
|
484
|
+
flashOffs: ESP32H21_BOOTLOADER_FLASH_OFFSET,
|
|
485
|
+
};
|
|
402
486
|
case CHIP_FAMILY_ESP32P4:
|
|
403
487
|
return {
|
|
404
488
|
regBase: ESP32P4_SPI_REG_BASE,
|
|
@@ -413,6 +497,20 @@ export const getSpiFlashAddresses = (chipFamily) => {
|
|
|
413
497
|
uartDateReg: ESP32P4_UART_DATE_REG_ADDR,
|
|
414
498
|
flashOffs: ESP32P4_BOOTLOADER_FLASH_OFFSET,
|
|
415
499
|
};
|
|
500
|
+
case CHIP_FAMILY_ESP32S31:
|
|
501
|
+
return {
|
|
502
|
+
regBase: ESP32S31_SPI_REG_BASE,
|
|
503
|
+
baseFuse: ESP32S31_BASEFUSEADDR,
|
|
504
|
+
macFuse: ESP32S31_MACFUSEADDR,
|
|
505
|
+
usrOffs: ESP32S31_SPI_USR_OFFS,
|
|
506
|
+
usr1Offs: ESP32S31_SPI_USR1_OFFS,
|
|
507
|
+
usr2Offs: ESP32S31_SPI_USR2_OFFS,
|
|
508
|
+
mosiDlenOffs: ESP32S31_SPI_MOSI_DLEN_OFFS,
|
|
509
|
+
misoDlenOffs: ESP32S31_SPI_MISO_DLEN_OFFS,
|
|
510
|
+
w0Offs: ESP32S31_SPI_W0_OFFS,
|
|
511
|
+
uartDateReg: ESP32S31_UART_DATE_REG_ADDR,
|
|
512
|
+
flashOffs: ESP32S31_BOOTLOADER_FLASH_OFFSET,
|
|
513
|
+
};
|
|
416
514
|
default:
|
|
417
515
|
return {
|
|
418
516
|
regBase: -1,
|
package/dist/esp_loader.d.ts
CHANGED
|
@@ -14,9 +14,15 @@ export declare class ESPLoader extends EventTarget {
|
|
|
14
14
|
connected: boolean;
|
|
15
15
|
flashSize: string | null;
|
|
16
16
|
__inputBuffer?: number[];
|
|
17
|
+
__totalBytesRead?: number;
|
|
18
|
+
private _currentBaudRate;
|
|
19
|
+
private _maxUSBSerialBaudrate?;
|
|
17
20
|
private _reader?;
|
|
18
21
|
constructor(port: SerialPort, logger: Logger, _parent?: ESPLoader | undefined);
|
|
19
22
|
private get _inputBuffer();
|
|
23
|
+
private get _totalBytesRead();
|
|
24
|
+
private set _totalBytesRead(value);
|
|
25
|
+
private detectUSBSerialChip;
|
|
20
26
|
initialize(): Promise<void>;
|
|
21
27
|
/**
|
|
22
28
|
* Detect chip type using GET_SECURITY_INFO (for newer chips) or magic value (for older chips)
|
|
@@ -69,8 +75,6 @@ export declare class ESPLoader extends EventTarget {
|
|
|
69
75
|
* @name readPacket
|
|
70
76
|
* Generator to read SLIP packets from a serial port.
|
|
71
77
|
* Yields one full SLIP packet at a time, raises exception on timeout or invalid data.
|
|
72
|
-
* Designed to avoid too many calls to serial.read(1), which can bog
|
|
73
|
-
* down on slow systems.
|
|
74
78
|
*/
|
|
75
79
|
readPacket(timeout: number): Promise<number[]>;
|
|
76
80
|
/**
|
|
@@ -165,9 +169,29 @@ export declare class ESPLoader extends EventTarget {
|
|
|
165
169
|
* ignore errors.
|
|
166
170
|
*/
|
|
167
171
|
memFinish(entrypoint?: number): Promise<[number, number[]]>;
|
|
168
|
-
runStub(): Promise<EspStubLoader>;
|
|
172
|
+
runStub(skipFlashDetection?: boolean): Promise<EspStubLoader>;
|
|
169
173
|
writeToStream(data: number[]): Promise<void>;
|
|
170
174
|
disconnect(): Promise<void>;
|
|
175
|
+
/**
|
|
176
|
+
* @name reconnectAndResume
|
|
177
|
+
* Reconnect the serial port to flush browser buffers and reload stub
|
|
178
|
+
*/
|
|
179
|
+
reconnect(): Promise<void>;
|
|
180
|
+
/**
|
|
181
|
+
* @name flushSerialBuffers
|
|
182
|
+
* Flush any pending data in the TX and RX serial port buffers
|
|
183
|
+
* This clears both the application RX buffer and waits for hardware buffers to drain
|
|
184
|
+
*/
|
|
185
|
+
private flushSerialBuffers;
|
|
186
|
+
/**
|
|
187
|
+
* @name readFlash
|
|
188
|
+
* Read flash memory from the chip (only works with stub loader)
|
|
189
|
+
* @param addr - Address to read from
|
|
190
|
+
* @param size - Number of bytes to read
|
|
191
|
+
* @param onPacketReceived - Optional callback function called when packet is received
|
|
192
|
+
* @returns Uint8Array containing the flash data
|
|
193
|
+
*/
|
|
194
|
+
readFlash(addr: number, size: number, onPacketReceived?: (packet: Uint8Array, progress: number, totalSize: number) => void): Promise<Uint8Array>;
|
|
171
195
|
}
|
|
172
196
|
declare class EspStubLoader extends ESPLoader {
|
|
173
197
|
IS_STUB: boolean;
|