tasmota-webserial-esptool 6.5.4 → 7.0.1
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/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 +41 -2
- package/dist/const.js +100 -2
- package/dist/esp_loader.d.ts +27 -3
- package/dist/esp_loader.js +377 -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 +107 -3
- package/src/esp_loader.ts +492 -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/src/const.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface Logger {
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export const baudRates = [
|
|
10
|
-
115200, 128000, 153600, 230400, 460800, 921600, 1500000, 2000000,
|
|
10
|
+
115200, 128000, 153600, 230400, 460800, 500000, 921600, 1500000, 2000000,
|
|
11
11
|
];
|
|
12
12
|
export const FLASH_SIZES = {
|
|
13
13
|
"512KB": 0x00,
|
|
@@ -46,6 +46,20 @@ export const DETECTED_FLASH_SIZES: FlashSize = {
|
|
|
46
46
|
0x18: "16MB",
|
|
47
47
|
0x19: "32MB",
|
|
48
48
|
0x1a: "64MB",
|
|
49
|
+
0x1b: "128MB",
|
|
50
|
+
0x1c: "256MB",
|
|
51
|
+
0x20: "64MB",
|
|
52
|
+
0x21: "128MB",
|
|
53
|
+
0x22: "256MB",
|
|
54
|
+
0x32: "256KB",
|
|
55
|
+
0x33: "512KB",
|
|
56
|
+
0x34: "1MB",
|
|
57
|
+
0x35: "2MB",
|
|
58
|
+
0x36: "4MB",
|
|
59
|
+
0x37: "8MB",
|
|
60
|
+
0x38: "16MB",
|
|
61
|
+
0x39: "32MB",
|
|
62
|
+
0x3a: "64MB",
|
|
49
63
|
};
|
|
50
64
|
|
|
51
65
|
export const FLASH_WRITE_SIZE = 0x400;
|
|
@@ -174,6 +188,30 @@ export const ESP32H2_SPI_W0_OFFS = 0x58;
|
|
|
174
188
|
export const ESP32H2_UART_DATE_REG_ADDR = 0x6000007c;
|
|
175
189
|
export const ESP32H2_BOOTLOADER_FLASH_OFFSET = 0x0;
|
|
176
190
|
|
|
191
|
+
export const ESP32H4_SPI_REG_BASE = 0x60099000;
|
|
192
|
+
export const ESP32H4_BASEFUSEADDR = 0x600b1800;
|
|
193
|
+
export const ESP32H4_MACFUSEADDR = 0x600b1800 + 0x044;
|
|
194
|
+
export const ESP32H4_SPI_USR_OFFS = 0x18;
|
|
195
|
+
export const ESP32H4_SPI_USR1_OFFS = 0x1c;
|
|
196
|
+
export const ESP32H4_SPI_USR2_OFFS = 0x20;
|
|
197
|
+
export const ESP32H4_SPI_MOSI_DLEN_OFFS = 0x24;
|
|
198
|
+
export const ESP32H4_SPI_MISO_DLEN_OFFS = 0x28;
|
|
199
|
+
export const ESP32H4_SPI_W0_OFFS = 0x58;
|
|
200
|
+
export const ESP32H4_UART_DATE_REG_ADDR = 0x60012000 + 0x7c;
|
|
201
|
+
export const ESP32H4_BOOTLOADER_FLASH_OFFSET = 0x2000;
|
|
202
|
+
|
|
203
|
+
export const ESP32H21_SPI_REG_BASE = 0x60003000;
|
|
204
|
+
export const ESP32H21_BASEFUSEADDR = 0x600b4000;
|
|
205
|
+
export const ESP32H21_MACFUSEADDR = 0x600b4000 + 0x044;
|
|
206
|
+
export const ESP32H21_SPI_USR_OFFS = 0x18;
|
|
207
|
+
export const ESP32H21_SPI_USR1_OFFS = 0x1c;
|
|
208
|
+
export const ESP32H21_SPI_USR2_OFFS = 0x20;
|
|
209
|
+
export const ESP32H21_SPI_MOSI_DLEN_OFFS = 0x24;
|
|
210
|
+
export const ESP32H21_SPI_MISO_DLEN_OFFS = 0x28;
|
|
211
|
+
export const ESP32H21_SPI_W0_OFFS = 0x58;
|
|
212
|
+
export const ESP32H21_UART_DATE_REG_ADDR = 0x6000007c;
|
|
213
|
+
export const ESP32H21_BOOTLOADER_FLASH_OFFSET = 0x0;
|
|
214
|
+
|
|
177
215
|
export const ESP32P4_SPI_REG_BASE = 0x5008d000;
|
|
178
216
|
export const ESP32P4_BASEFUSEADDR = 0x5012d000;
|
|
179
217
|
export const ESP32P4_EFUSE_BLOCK1_ADDR = ESP32P4_BASEFUSEADDR + 0x044;
|
|
@@ -187,6 +225,19 @@ export const ESP32P4_SPI_W0_OFFS = 0x58;
|
|
|
187
225
|
export const ESP32P4_UART_DATE_REG_ADDR = 0x500ca000 + 0x8c;
|
|
188
226
|
export const ESP32P4_BOOTLOADER_FLASH_OFFSET = 0x2000;
|
|
189
227
|
|
|
228
|
+
export const ESP32S31_SPI_REG_BASE = 0x20500000;
|
|
229
|
+
export const ESP32S31_BASEFUSEADDR = 0x20715000;
|
|
230
|
+
export const ESP32S31_EFUSE_BLOCK1_ADDR = ESP32S31_BASEFUSEADDR + 0x044;
|
|
231
|
+
export const ESP32S31_MACFUSEADDR = 0x20715000 + 0x044;
|
|
232
|
+
export const ESP32S31_SPI_USR_OFFS = 0x18;
|
|
233
|
+
export const ESP32S31_SPI_USR1_OFFS = 0x1c;
|
|
234
|
+
export const ESP32S31_SPI_USR2_OFFS = 0x20;
|
|
235
|
+
export const ESP32S31_SPI_MOSI_DLEN_OFFS = 0x24;
|
|
236
|
+
export const ESP32S31_SPI_MISO_DLEN_OFFS = 0x28;
|
|
237
|
+
export const ESP32S31_SPI_W0_OFFS = 0x58;
|
|
238
|
+
export const ESP32S31_UART_DATE_REG_ADDR = 0x2038a000 + 0x8c;
|
|
239
|
+
export const ESP32S31_BOOTLOADER_FLASH_OFFSET = 0x2000;
|
|
240
|
+
|
|
190
241
|
export interface SpiFlashAddresses {
|
|
191
242
|
regBase: number;
|
|
192
243
|
baseFuse: number;
|
|
@@ -218,7 +269,10 @@ export const CHIP_FAMILY_ESP32C5 = 0x32c5;
|
|
|
218
269
|
export const CHIP_FAMILY_ESP32C6 = 0x32c6;
|
|
219
270
|
export const CHIP_FAMILY_ESP32C61 = 0x32c61;
|
|
220
271
|
export const CHIP_FAMILY_ESP32H2 = 0x3272;
|
|
272
|
+
export const CHIP_FAMILY_ESP32H4 = 0x3274;
|
|
273
|
+
export const CHIP_FAMILY_ESP32H21 = 0x3275;
|
|
221
274
|
export const CHIP_FAMILY_ESP32P4 = 0x3280;
|
|
275
|
+
export const CHIP_FAMILY_ESP32S31 = 0x3231;
|
|
222
276
|
export type ChipFamily =
|
|
223
277
|
| typeof CHIP_FAMILY_ESP8266
|
|
224
278
|
| typeof CHIP_FAMILY_ESP32
|
|
@@ -230,7 +284,10 @@ export type ChipFamily =
|
|
|
230
284
|
| typeof CHIP_FAMILY_ESP32C6
|
|
231
285
|
| typeof CHIP_FAMILY_ESP32C61
|
|
232
286
|
| typeof CHIP_FAMILY_ESP32H2
|
|
233
|
-
| typeof
|
|
287
|
+
| typeof CHIP_FAMILY_ESP32H4
|
|
288
|
+
| typeof CHIP_FAMILY_ESP32H21
|
|
289
|
+
| typeof CHIP_FAMILY_ESP32P4
|
|
290
|
+
| typeof CHIP_FAMILY_ESP32S31;
|
|
234
291
|
|
|
235
292
|
interface ChipIdInfo {
|
|
236
293
|
name: string;
|
|
@@ -246,6 +303,9 @@ export const CHIP_ID_TO_INFO: { [chipId: number]: ChipIdInfo } = {
|
|
|
246
303
|
18: { name: "ESP32-P4", family: CHIP_FAMILY_ESP32P4 },
|
|
247
304
|
20: { name: "ESP32-C61", family: CHIP_FAMILY_ESP32C61 },
|
|
248
305
|
23: { name: "ESP32-C5", family: CHIP_FAMILY_ESP32C5 },
|
|
306
|
+
25: { name: "ESP32-H21", family: CHIP_FAMILY_ESP32H21 },
|
|
307
|
+
28: { name: "ESP32-H4", family: CHIP_FAMILY_ESP32H4 },
|
|
308
|
+
32: { name: "ESP32-S31", family: CHIP_FAMILY_ESP32S31 },
|
|
249
309
|
};
|
|
250
310
|
|
|
251
311
|
interface ChipInfo {
|
|
@@ -298,6 +358,7 @@ export const ESP_READ_REG = 0x0a;
|
|
|
298
358
|
|
|
299
359
|
export const ESP_ERASE_FLASH = 0xd0;
|
|
300
360
|
export const ESP_ERASE_REGION = 0xd1;
|
|
361
|
+
export const ESP_READ_FLASH = 0xd2;
|
|
301
362
|
|
|
302
363
|
export const ESP_SPI_SET_PARAMS = 0x0b;
|
|
303
364
|
export const ESP_SPI_ATTACH = 0x0d;
|
|
@@ -316,11 +377,12 @@ export const ESP_RAM_BLOCK = 0x1800;
|
|
|
316
377
|
|
|
317
378
|
// Timeouts
|
|
318
379
|
export const DEFAULT_TIMEOUT = 3000;
|
|
319
|
-
export const CHIP_ERASE_TIMEOUT =
|
|
380
|
+
export const CHIP_ERASE_TIMEOUT = 150000; // timeout for full chip erase in ms
|
|
320
381
|
export const MAX_TIMEOUT = CHIP_ERASE_TIMEOUT * 2; // longest any command can run in ms
|
|
321
382
|
export const SYNC_TIMEOUT = 100; // timeout for syncing with bootloader in ms
|
|
322
383
|
export const ERASE_REGION_TIMEOUT_PER_MB = 30000; // timeout (per megabyte) for erasing a region in ms
|
|
323
384
|
export const MEM_END_ROM_TIMEOUT = 500;
|
|
385
|
+
export const FLASH_READ_TIMEOUT = 100; // timeout for reading flash in ms
|
|
324
386
|
|
|
325
387
|
/**
|
|
326
388
|
* @name timeoutPerMb
|
|
@@ -478,6 +540,34 @@ export const getSpiFlashAddresses = (
|
|
|
478
540
|
uartDateReg: ESP32H2_UART_DATE_REG_ADDR,
|
|
479
541
|
flashOffs: ESP32H2_BOOTLOADER_FLASH_OFFSET,
|
|
480
542
|
};
|
|
543
|
+
case CHIP_FAMILY_ESP32H4:
|
|
544
|
+
return {
|
|
545
|
+
regBase: ESP32H4_SPI_REG_BASE,
|
|
546
|
+
baseFuse: ESP32H4_BASEFUSEADDR,
|
|
547
|
+
macFuse: ESP32H4_MACFUSEADDR,
|
|
548
|
+
usrOffs: ESP32H4_SPI_USR_OFFS,
|
|
549
|
+
usr1Offs: ESP32H4_SPI_USR1_OFFS,
|
|
550
|
+
usr2Offs: ESP32H4_SPI_USR2_OFFS,
|
|
551
|
+
mosiDlenOffs: ESP32H4_SPI_MOSI_DLEN_OFFS,
|
|
552
|
+
misoDlenOffs: ESP32H4_SPI_MISO_DLEN_OFFS,
|
|
553
|
+
w0Offs: ESP32H4_SPI_W0_OFFS,
|
|
554
|
+
uartDateReg: ESP32H4_UART_DATE_REG_ADDR,
|
|
555
|
+
flashOffs: ESP32H4_BOOTLOADER_FLASH_OFFSET,
|
|
556
|
+
};
|
|
557
|
+
case CHIP_FAMILY_ESP32H21:
|
|
558
|
+
return {
|
|
559
|
+
regBase: ESP32H21_SPI_REG_BASE,
|
|
560
|
+
baseFuse: ESP32H21_BASEFUSEADDR,
|
|
561
|
+
macFuse: ESP32H21_MACFUSEADDR,
|
|
562
|
+
usrOffs: ESP32H21_SPI_USR_OFFS,
|
|
563
|
+
usr1Offs: ESP32H21_SPI_USR1_OFFS,
|
|
564
|
+
usr2Offs: ESP32H21_SPI_USR2_OFFS,
|
|
565
|
+
mosiDlenOffs: ESP32H21_SPI_MOSI_DLEN_OFFS,
|
|
566
|
+
misoDlenOffs: ESP32H21_SPI_MISO_DLEN_OFFS,
|
|
567
|
+
w0Offs: ESP32H21_SPI_W0_OFFS,
|
|
568
|
+
uartDateReg: ESP32H21_UART_DATE_REG_ADDR,
|
|
569
|
+
flashOffs: ESP32H21_BOOTLOADER_FLASH_OFFSET,
|
|
570
|
+
};
|
|
481
571
|
case CHIP_FAMILY_ESP32P4:
|
|
482
572
|
return {
|
|
483
573
|
regBase: ESP32P4_SPI_REG_BASE,
|
|
@@ -492,6 +582,20 @@ export const getSpiFlashAddresses = (
|
|
|
492
582
|
uartDateReg: ESP32P4_UART_DATE_REG_ADDR,
|
|
493
583
|
flashOffs: ESP32P4_BOOTLOADER_FLASH_OFFSET,
|
|
494
584
|
};
|
|
585
|
+
case CHIP_FAMILY_ESP32S31:
|
|
586
|
+
return {
|
|
587
|
+
regBase: ESP32S31_SPI_REG_BASE,
|
|
588
|
+
baseFuse: ESP32S31_BASEFUSEADDR,
|
|
589
|
+
macFuse: ESP32S31_MACFUSEADDR,
|
|
590
|
+
usrOffs: ESP32S31_SPI_USR_OFFS,
|
|
591
|
+
usr1Offs: ESP32S31_SPI_USR1_OFFS,
|
|
592
|
+
usr2Offs: ESP32S31_SPI_USR2_OFFS,
|
|
593
|
+
mosiDlenOffs: ESP32S31_SPI_MOSI_DLEN_OFFS,
|
|
594
|
+
misoDlenOffs: ESP32S31_SPI_MISO_DLEN_OFFS,
|
|
595
|
+
w0Offs: ESP32S31_SPI_W0_OFFS,
|
|
596
|
+
uartDateReg: ESP32S31_UART_DATE_REG_ADDR,
|
|
597
|
+
flashOffs: ESP32S31_BOOTLOADER_FLASH_OFFSET,
|
|
598
|
+
};
|
|
495
599
|
default:
|
|
496
600
|
return {
|
|
497
601
|
regBase: -1,
|