tasmota-webserial-esptool 6.1.0 → 6.1.2
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/.github/workflows/build_upload.yml +8 -9
- package/.github/workflows/ci.yml +4 -3
- package/README.md +1 -5
- package/dist/const.js +2 -2
- package/dist/esp_loader.js +2 -2
- package/dist/stubs/esp32.json +2 -2
- package/dist/stubs/esp32c2.json +2 -2
- package/dist/stubs/esp32c3.json +2 -2
- package/dist/stubs/esp32c6.json +2 -2
- package/dist/stubs/esp32h2.json +2 -2
- package/dist/stubs/esp32s2.json +2 -2
- package/dist/stubs/esp32s3.json +4 -4
- package/dist/stubs/esp8266.json +7 -1
- package/dist/web/esp32-m40MFH7J.js +1 -0
- package/{js/modules/esp32c2-f0222390.js → dist/web/esp32c2-HzlV3wSg.js} +1 -1
- package/dist/web/esp32c3-_TitTxJz.js +1 -0
- package/dist/web/esp32c6-sCbnPu6P.js +1 -0
- package/dist/web/esp32h2-aXM-pq3U.js +1 -0
- package/dist/web/esp32s2-AioFXBxU.js +1 -0
- package/dist/web/esp32s3-M5610giH.js +1 -0
- package/dist/web/esp8266-BsRiKnq5.js +1 -0
- package/dist/web/index.js +1 -1
- package/index.html +1 -1
- package/js/modules/esp32-m40MFH7J.js +1 -0
- package/{dist/web/esp32c2-f0222390.js → js/modules/esp32c2-HzlV3wSg.js} +1 -1
- package/js/modules/esp32c3-_TitTxJz.js +1 -0
- package/js/modules/esp32c6-sCbnPu6P.js +1 -0
- package/js/modules/esp32h2-aXM-pq3U.js +1 -0
- package/js/modules/esp32s2-AioFXBxU.js +1 -0
- package/js/modules/esp32s3-M5610giH.js +1 -0
- package/js/modules/esp8266-BsRiKnq5.js +1 -0
- package/js/modules/esptool.js +1 -1
- package/js/script.js +5 -4
- package/package.json +13 -13
- package/rollup.config.js +1 -1
- package/script/build +1 -2
- package/src/const.ts +4 -4
- package/src/esp_loader.ts +51 -51
- package/src/stubs/esp32.json +2 -2
- package/src/stubs/esp32c2.json +2 -2
- package/src/stubs/esp32c3.json +3 -3
- package/src/stubs/esp32c6.json +3 -3
- package/src/stubs/esp32h2.json +3 -3
- package/src/stubs/esp32s2.json +3 -3
- package/src/stubs/esp32s3.json +5 -5
- package/src/stubs/esp8266.json +7 -1
- package/dist/web/esp32-d51f885c.js +0 -1
- package/dist/web/esp32c3-9f5fd05b.js +0 -1
- package/dist/web/esp32c6-e911f438.js +0 -1
- package/dist/web/esp32h2-19e099dc.js +0 -1
- package/dist/web/esp32s2-da1a4fa1.js +0 -1
- package/dist/web/esp32s3-d79eec99.js +0 -1
- package/dist/web/esp8266-144419c0.js +0 -1
- package/js/esptool.js +0 -1396
- package/js/modules/esp32-d51f885c.js +0 -1
- package/js/modules/esp32c3-9f5fd05b.js +0 -1
- package/js/modules/esp32c6-e911f438.js +0 -1
- package/js/modules/esp32h2-19e099dc.js +0 -1
- package/js/modules/esp32s2-da1a4fa1.js +0 -1
- package/js/modules/esp32s3-d79eec99.js +0 -1
- package/js/modules/esp8266-144419c0.js +0 -1
- package/script/stubgen.py +0 -47
- package/stubs/esp32.json +0 -7
- package/stubs/esp32c2.json +0 -7
- package/stubs/esp32c3.json +0 -7
- package/stubs/esp32c6.json +0 -7
- package/stubs/esp32h2.json +0 -7
- package/stubs/esp32s2.json +0 -7
- package/stubs/esp32s3.json +0 -7
- package/stubs/esp8266.json +0 -7
package/src/esp_loader.ts
CHANGED
|
@@ -69,7 +69,7 @@ export class ESPLoader extends EventTarget {
|
|
|
69
69
|
constructor(
|
|
70
70
|
public port: SerialPort,
|
|
71
71
|
public logger: Logger,
|
|
72
|
-
private _parent?: ESPLoader
|
|
72
|
+
private _parent?: ESPLoader,
|
|
73
73
|
) {
|
|
74
74
|
super();
|
|
75
75
|
}
|
|
@@ -95,8 +95,8 @@ export class ESPLoader extends EventTarget {
|
|
|
95
95
|
throw new Error(
|
|
96
96
|
`Unknown Chip: Hex: ${toHex(
|
|
97
97
|
chipMagicValue >>> 0,
|
|
98
|
-
8
|
|
99
|
-
).toLowerCase()} Number: ${chipMagicValue}
|
|
98
|
+
8,
|
|
99
|
+
).toLowerCase()} Number: ${chipMagicValue}`,
|
|
100
100
|
);
|
|
101
101
|
}
|
|
102
102
|
this.chipName = chip.name;
|
|
@@ -171,8 +171,8 @@ export class ESPLoader extends EventTarget {
|
|
|
171
171
|
// esp32c3 esp32s3 etc. build-in USB serial.
|
|
172
172
|
// when connect to computer direct via usb, using following signals
|
|
173
173
|
// to enter flash mode automatically.
|
|
174
|
-
await this.setRTS(false);
|
|
175
174
|
await this.setDTR(false);
|
|
175
|
+
await this.setRTS(false);
|
|
176
176
|
await this.sleep(100);
|
|
177
177
|
|
|
178
178
|
await this.setDTR(true);
|
|
@@ -184,8 +184,8 @@ export class ESPLoader extends EventTarget {
|
|
|
184
184
|
await this.setRTS(true);
|
|
185
185
|
|
|
186
186
|
await this.sleep(100);
|
|
187
|
-
await this.setRTS(false);
|
|
188
187
|
await this.setDTR(false);
|
|
188
|
+
await this.setRTS(false);
|
|
189
189
|
} else {
|
|
190
190
|
// otherwise, esp chip should be connected to computer via usb-serial
|
|
191
191
|
// bridge chip like ch340,CP2102 etc.
|
|
@@ -282,7 +282,7 @@ export class ESPLoader extends EventTarget {
|
|
|
282
282
|
opcode: number,
|
|
283
283
|
buffer: number[],
|
|
284
284
|
checksum = 0,
|
|
285
|
-
timeout = DEFAULT_TIMEOUT
|
|
285
|
+
timeout = DEFAULT_TIMEOUT,
|
|
286
286
|
): Promise<[number, number[]]> {
|
|
287
287
|
timeout = Math.min(timeout, MAX_TIMEOUT);
|
|
288
288
|
await this.sendCommand(opcode, buffer, checksum);
|
|
@@ -348,7 +348,7 @@ export class ESPLoader extends EventTarget {
|
|
|
348
348
|
if (this.debug) {
|
|
349
349
|
this.logger.debug(
|
|
350
350
|
`Writing ${packet.length} byte${packet.length == 1 ? "" : "s"}:`,
|
|
351
|
-
packet
|
|
351
|
+
packet,
|
|
352
352
|
);
|
|
353
353
|
}
|
|
354
354
|
await this.writeToStream(packet);
|
|
@@ -383,7 +383,7 @@ export class ESPLoader extends EventTarget {
|
|
|
383
383
|
}
|
|
384
384
|
if (this.debug)
|
|
385
385
|
this.logger.debug(
|
|
386
|
-
"Read " + readBytes.length + " bytes: " + hexFormatter(readBytes)
|
|
386
|
+
"Read " + readBytes.length + " bytes: " + hexFormatter(readBytes),
|
|
387
387
|
);
|
|
388
388
|
for (let b of readBytes) {
|
|
389
389
|
if (partialPacket === null) {
|
|
@@ -393,15 +393,15 @@ export class ESPLoader extends EventTarget {
|
|
|
393
393
|
} else {
|
|
394
394
|
if (this.debug) {
|
|
395
395
|
this.logger.debug(
|
|
396
|
-
"Read invalid data: " + hexFormatter(readBytes)
|
|
396
|
+
"Read invalid data: " + hexFormatter(readBytes),
|
|
397
397
|
);
|
|
398
398
|
this.logger.debug(
|
|
399
399
|
"Remaining data in serial buffer: " +
|
|
400
|
-
hexFormatter(this._inputBuffer)
|
|
400
|
+
hexFormatter(this._inputBuffer),
|
|
401
401
|
);
|
|
402
402
|
}
|
|
403
403
|
throw new SlipReadError(
|
|
404
|
-
"Invalid head of packet (" + toHex(b) + ")"
|
|
404
|
+
"Invalid head of packet (" + toHex(b) + ")",
|
|
405
405
|
);
|
|
406
406
|
}
|
|
407
407
|
} else if (inEscape) {
|
|
@@ -414,15 +414,15 @@ export class ESPLoader extends EventTarget {
|
|
|
414
414
|
} else {
|
|
415
415
|
if (this.debug) {
|
|
416
416
|
this.logger.debug(
|
|
417
|
-
"Read invalid data: " + hexFormatter(readBytes)
|
|
417
|
+
"Read invalid data: " + hexFormatter(readBytes),
|
|
418
418
|
);
|
|
419
419
|
this.logger.debug(
|
|
420
420
|
"Remaining data in serial buffer: " +
|
|
421
|
-
hexFormatter(this._inputBuffer)
|
|
421
|
+
hexFormatter(this._inputBuffer),
|
|
422
422
|
);
|
|
423
423
|
}
|
|
424
424
|
throw new SlipReadError(
|
|
425
|
-
"Invalid SLIP escape (0xdb, " + toHex(b) + ")"
|
|
425
|
+
"Invalid SLIP escape (0xdb, " + toHex(b) + ")",
|
|
426
426
|
);
|
|
427
427
|
}
|
|
428
428
|
} else if (b == 0xdb) {
|
|
@@ -432,7 +432,7 @@ export class ESPLoader extends EventTarget {
|
|
|
432
432
|
// end of packet
|
|
433
433
|
if (this.debug)
|
|
434
434
|
this.logger.debug(
|
|
435
|
-
"Received full packet: " + hexFormatter(partialPacket)
|
|
435
|
+
"Received full packet: " + hexFormatter(partialPacket),
|
|
436
436
|
);
|
|
437
437
|
return partialPacket;
|
|
438
438
|
} else {
|
|
@@ -452,7 +452,7 @@ export class ESPLoader extends EventTarget {
|
|
|
452
452
|
*/
|
|
453
453
|
async getResponse(
|
|
454
454
|
opcode: number,
|
|
455
|
-
timeout = DEFAULT_TIMEOUT
|
|
455
|
+
timeout = DEFAULT_TIMEOUT,
|
|
456
456
|
): Promise<[number, number[]]> {
|
|
457
457
|
for (let i = 0; i < 100; i++) {
|
|
458
458
|
const packet = await this.readPacket(timeout);
|
|
@@ -502,7 +502,7 @@ export class ESPLoader extends EventTarget {
|
|
|
502
502
|
} catch (e) {
|
|
503
503
|
console.error(e);
|
|
504
504
|
throw new Error(
|
|
505
|
-
`Unable to change the baud rate to ${baud}: No response from set baud rate command
|
|
505
|
+
`Unable to change the baud rate to ${baud}: No response from set baud rate command.`,
|
|
506
506
|
);
|
|
507
507
|
}
|
|
508
508
|
|
|
@@ -596,7 +596,7 @@ export class ESPLoader extends EventTarget {
|
|
|
596
596
|
binaryData: ArrayBuffer,
|
|
597
597
|
updateProgress: (bytesWritten: number, totalBytes: number) => void,
|
|
598
598
|
offset = 0,
|
|
599
|
-
compress = false
|
|
599
|
+
compress = false,
|
|
600
600
|
) {
|
|
601
601
|
if (binaryData.byteLength >= 8) {
|
|
602
602
|
// unpack the (potential) image header
|
|
@@ -607,8 +607,8 @@ export class ESPLoader extends EventTarget {
|
|
|
607
607
|
|
|
608
608
|
this.logger.log(
|
|
609
609
|
`Image header, Magic=${toHex(headerMagic)}, FlashMode=${toHex(
|
|
610
|
-
headerFlashMode
|
|
611
|
-
)}, FlashSizeFreq=${toHex(headerFlashSizeFreq)}
|
|
610
|
+
headerFlashMode,
|
|
611
|
+
)}, FlashSizeFreq=${toHex(headerFlashSizeFreq)}`,
|
|
612
612
|
);
|
|
613
613
|
}
|
|
614
614
|
|
|
@@ -624,12 +624,12 @@ export class ESPLoader extends EventTarget {
|
|
|
624
624
|
}).buffer;
|
|
625
625
|
compressedFilesize = dataToFlash.byteLength;
|
|
626
626
|
this.logger.log(
|
|
627
|
-
`Writing data with filesize: ${uncompressedFilesize}. Compressed Size: ${compressedFilesize}
|
|
627
|
+
`Writing data with filesize: ${uncompressedFilesize}. Compressed Size: ${compressedFilesize}`,
|
|
628
628
|
);
|
|
629
629
|
timeout = await this.flashDeflBegin(
|
|
630
630
|
uncompressedFilesize,
|
|
631
631
|
compressedFilesize,
|
|
632
|
-
offset
|
|
632
|
+
offset,
|
|
633
633
|
);
|
|
634
634
|
} else {
|
|
635
635
|
this.logger.log(`Writing data with filesize: ${uncompressedFilesize}`);
|
|
@@ -649,21 +649,21 @@ export class ESPLoader extends EventTarget {
|
|
|
649
649
|
while (filesize - position > 0) {
|
|
650
650
|
if (this.debug) {
|
|
651
651
|
this.logger.log(
|
|
652
|
-
`Writing at ${toHex(offset + seq * flashWriteSize, 8)}
|
|
652
|
+
`Writing at ${toHex(offset + seq * flashWriteSize, 8)} `,
|
|
653
653
|
);
|
|
654
654
|
}
|
|
655
655
|
if (filesize - position >= flashWriteSize) {
|
|
656
656
|
block = Array.from(
|
|
657
|
-
new Uint8Array(dataToFlash, position, flashWriteSize)
|
|
657
|
+
new Uint8Array(dataToFlash, position, flashWriteSize),
|
|
658
658
|
);
|
|
659
659
|
} else {
|
|
660
660
|
// Pad the last block only if we are sending uncompressed data.
|
|
661
661
|
block = Array.from(
|
|
662
|
-
new Uint8Array(dataToFlash, position, filesize - position)
|
|
662
|
+
new Uint8Array(dataToFlash, position, filesize - position),
|
|
663
663
|
);
|
|
664
664
|
if (!compress) {
|
|
665
665
|
block = block.concat(
|
|
666
|
-
new Array(flashWriteSize - block.length).fill(0xff)
|
|
666
|
+
new Array(flashWriteSize - block.length).fill(0xff),
|
|
667
667
|
);
|
|
668
668
|
}
|
|
669
669
|
}
|
|
@@ -681,11 +681,11 @@ export class ESPLoader extends EventTarget {
|
|
|
681
681
|
position += flashWriteSize;
|
|
682
682
|
updateProgress(
|
|
683
683
|
Math.min(written, uncompressedFilesize),
|
|
684
|
-
uncompressedFilesize
|
|
684
|
+
uncompressedFilesize,
|
|
685
685
|
);
|
|
686
686
|
}
|
|
687
687
|
this.logger.log(
|
|
688
|
-
"Took " + (Date.now() - stamp) + "ms to write " + filesize + " bytes"
|
|
688
|
+
"Took " + (Date.now() - stamp) + "ms to write " + filesize + " bytes",
|
|
689
689
|
);
|
|
690
690
|
|
|
691
691
|
// Only send flashF finish if running the stub because ir causes the ROM to exit and run user code
|
|
@@ -708,7 +708,7 @@ export class ESPLoader extends EventTarget {
|
|
|
708
708
|
ESP_FLASH_DATA,
|
|
709
709
|
pack("<IIII", data.length, seq, 0, 0).concat(data),
|
|
710
710
|
this.checksum(data),
|
|
711
|
-
timeout
|
|
711
|
+
timeout,
|
|
712
712
|
);
|
|
713
713
|
}
|
|
714
714
|
async flashDeflBlock(data: number[], seq: number, timeout = DEFAULT_TIMEOUT) {
|
|
@@ -716,7 +716,7 @@ export class ESPLoader extends EventTarget {
|
|
|
716
716
|
ESP_FLASH_DEFL_DATA,
|
|
717
717
|
pack("<IIII", data.length, seq, 0, 0).concat(data),
|
|
718
718
|
this.checksum(data),
|
|
719
|
-
timeout
|
|
719
|
+
timeout,
|
|
720
720
|
);
|
|
721
721
|
}
|
|
722
722
|
|
|
@@ -780,12 +780,12 @@ export class ESPLoader extends EventTarget {
|
|
|
780
780
|
", offset " +
|
|
781
781
|
toHex(offset, 4) +
|
|
782
782
|
", encrypted " +
|
|
783
|
-
(encrypted ? "yes" : "no")
|
|
783
|
+
(encrypted ? "yes" : "no"),
|
|
784
784
|
);
|
|
785
785
|
await this.checkCommand(ESP_FLASH_BEGIN, buffer, 0, timeout);
|
|
786
786
|
if (size != 0 && !this.IS_STUB) {
|
|
787
787
|
this.logger.log(
|
|
788
|
-
"Took " + (Date.now() - stamp) + "ms to erase " + numBlocks + " bytes"
|
|
788
|
+
"Took " + (Date.now() - stamp) + "ms to erase " + numBlocks + " bytes",
|
|
789
789
|
);
|
|
790
790
|
}
|
|
791
791
|
return numBlocks;
|
|
@@ -800,13 +800,13 @@ export class ESPLoader extends EventTarget {
|
|
|
800
800
|
size = 0,
|
|
801
801
|
compressedSize = 0,
|
|
802
802
|
offset = 0,
|
|
803
|
-
encrypted = false
|
|
803
|
+
encrypted = false,
|
|
804
804
|
) {
|
|
805
805
|
// Start downloading compressed data to Flash (performs an erase)
|
|
806
806
|
// Returns number of blocks to write.
|
|
807
807
|
let flashWriteSize = this.getFlashWriteSize();
|
|
808
808
|
let numBlocks = Math.floor(
|
|
809
|
-
(compressedSize + flashWriteSize - 1) / flashWriteSize
|
|
809
|
+
(compressedSize + flashWriteSize - 1) / flashWriteSize,
|
|
810
810
|
);
|
|
811
811
|
let eraseBlocks = Math.floor((size + flashWriteSize - 1) / flashWriteSize);
|
|
812
812
|
let writeSize = 0;
|
|
@@ -858,7 +858,7 @@ export class ESPLoader extends EventTarget {
|
|
|
858
858
|
value: number,
|
|
859
859
|
mask = 0xffffffff,
|
|
860
860
|
delayUs = 0,
|
|
861
|
-
delayAfterUs = 0
|
|
861
|
+
delayAfterUs = 0,
|
|
862
862
|
) {
|
|
863
863
|
let buffer = pack("<IIII", address, value, mask, delayUs);
|
|
864
864
|
if (delayAfterUs > 0) {
|
|
@@ -869,8 +869,8 @@ export class ESPLoader extends EventTarget {
|
|
|
869
869
|
getSpiFlashAddresses(this.getChipFamily()).uartDateReg,
|
|
870
870
|
0,
|
|
871
871
|
0,
|
|
872
|
-
delayAfterUs
|
|
873
|
-
)
|
|
872
|
+
delayAfterUs,
|
|
873
|
+
),
|
|
874
874
|
);
|
|
875
875
|
}
|
|
876
876
|
await this.checkCommand(ESP_WRITE_REG, buffer);
|
|
@@ -879,7 +879,7 @@ export class ESPLoader extends EventTarget {
|
|
|
879
879
|
async setDataLengths(
|
|
880
880
|
spiAddresses: SpiFlashAddresses,
|
|
881
881
|
mosiBits: number,
|
|
882
|
-
misoBits: number
|
|
882
|
+
misoBits: number,
|
|
883
883
|
) {
|
|
884
884
|
if (spiAddresses.mosiDlenOffs != -1) {
|
|
885
885
|
// ESP32/32S2/32S3/32C3 has a more sophisticated way to set up "user" commands
|
|
@@ -915,7 +915,7 @@ export class ESPLoader extends EventTarget {
|
|
|
915
915
|
async runSpiFlashCommand(
|
|
916
916
|
spiflashCommand: number,
|
|
917
917
|
data: number[],
|
|
918
|
-
readBits = 0
|
|
918
|
+
readBits = 0,
|
|
919
919
|
) {
|
|
920
920
|
// Run an arbitrary SPI flash command.
|
|
921
921
|
|
|
@@ -948,12 +948,12 @@ export class ESPLoader extends EventTarget {
|
|
|
948
948
|
|
|
949
949
|
if (readBits > 32) {
|
|
950
950
|
throw new Error(
|
|
951
|
-
"Reading more than 32 bits back from a SPI flash operation is unsupported"
|
|
951
|
+
"Reading more than 32 bits back from a SPI flash operation is unsupported",
|
|
952
952
|
);
|
|
953
953
|
}
|
|
954
954
|
if (data.length > 64) {
|
|
955
955
|
throw new Error(
|
|
956
|
-
"Writing more than 64 bytes of data with one SPI command is unsupported"
|
|
956
|
+
"Writing more than 64 bytes of data with one SPI command is unsupported",
|
|
957
957
|
);
|
|
958
958
|
}
|
|
959
959
|
|
|
@@ -975,7 +975,7 @@ export class ESPLoader extends EventTarget {
|
|
|
975
975
|
await this.writeRegister(SPI_USR_REG, flags);
|
|
976
976
|
await this.writeRegister(
|
|
977
977
|
SPI_USR2_REG,
|
|
978
|
-
(7 << SPI_USR2_COMMAND_LEN_SHIFT) | spiflashCommand
|
|
978
|
+
(7 << SPI_USR2_COMMAND_LEN_SHIFT) | spiflashCommand,
|
|
979
979
|
);
|
|
980
980
|
if (dataBits == 0) {
|
|
981
981
|
await this.writeRegister(SPI_W0_REG, 0); // clear data register before we read it
|
|
@@ -989,7 +989,7 @@ export class ESPLoader extends EventTarget {
|
|
|
989
989
|
|
|
990
990
|
for (const word of words) {
|
|
991
991
|
this.logger.debug(
|
|
992
|
-
`Writing word ${toHex(word)} to register offset ${toHex(nextReg)}
|
|
992
|
+
`Writing word ${toHex(word)} to register offset ${toHex(nextReg)}`,
|
|
993
993
|
);
|
|
994
994
|
await this.writeRegister(nextReg, word);
|
|
995
995
|
nextReg += 4;
|
|
@@ -1015,8 +1015,8 @@ export class ESPLoader extends EventTarget {
|
|
|
1015
1015
|
this.logger.log(`Flash Manufacturer: ${manufacturer.toString(16)}`);
|
|
1016
1016
|
this.logger.log(
|
|
1017
1017
|
`Flash Device: ${((flashId >> 8) & 0xff).toString(
|
|
1018
|
-
16
|
|
1019
|
-
)}${flashIdLowbyte.toString(16)}
|
|
1018
|
+
16,
|
|
1019
|
+
)}${flashIdLowbyte.toString(16)}`,
|
|
1020
1020
|
);
|
|
1021
1021
|
|
|
1022
1022
|
this.flashSize = DETECTED_FLASH_SIZES[flashIdLowbyte];
|
|
@@ -1054,11 +1054,11 @@ export class ESPLoader extends EventTarget {
|
|
|
1054
1054
|
size: number,
|
|
1055
1055
|
blocks: number,
|
|
1056
1056
|
blocksize: number,
|
|
1057
|
-
offset: number
|
|
1057
|
+
offset: number,
|
|
1058
1058
|
) {
|
|
1059
1059
|
return await this.checkCommand(
|
|
1060
1060
|
ESP_MEM_BEGIN,
|
|
1061
|
-
pack("<IIII", size, blocks, blocksize, offset)
|
|
1061
|
+
pack("<IIII", size, blocks, blocksize, offset),
|
|
1062
1062
|
);
|
|
1063
1063
|
}
|
|
1064
1064
|
|
|
@@ -1070,7 +1070,7 @@ export class ESPLoader extends EventTarget {
|
|
|
1070
1070
|
return await this.checkCommand(
|
|
1071
1071
|
ESP_MEM_DATA,
|
|
1072
1072
|
pack("<IIII", data.length, seq, 0, 0).concat(data),
|
|
1073
|
-
this.checksum(data)
|
|
1073
|
+
this.checksum(data),
|
|
1074
1074
|
);
|
|
1075
1075
|
}
|
|
1076
1076
|
|
|
@@ -1175,7 +1175,7 @@ class EspStubLoader extends ESPLoader {
|
|
|
1175
1175
|
size: number,
|
|
1176
1176
|
blocks: number,
|
|
1177
1177
|
blocksize: number,
|
|
1178
|
-
offset: number
|
|
1178
|
+
offset: number,
|
|
1179
1179
|
): Promise<any> {
|
|
1180
1180
|
let stub = await getStubCode(this.chipFamily);
|
|
1181
1181
|
let load_start = offset;
|
|
@@ -1185,7 +1185,7 @@ class EspStubLoader extends ESPLoader {
|
|
|
1185
1185
|
stub.data_start,
|
|
1186
1186
|
stub.data.length,
|
|
1187
1187
|
stub.text_start,
|
|
1188
|
-
stub.text.length
|
|
1188
|
+
stub.text.length,
|
|
1189
1189
|
);
|
|
1190
1190
|
for (let [start, end] of [
|
|
1191
1191
|
[stub.data_start, stub.data_start + stub.data.length],
|
|
@@ -1203,7 +1203,7 @@ class EspStubLoader extends ESPLoader {
|
|
|
1203
1203
|
"-" +
|
|
1204
1204
|
toHex(load_end, 8) +
|
|
1205
1205
|
". " +
|
|
1206
|
-
"Try changing the binary loading address."
|
|
1206
|
+
"Try changing the binary loading address.",
|
|
1207
1207
|
);
|
|
1208
1208
|
}
|
|
1209
1209
|
}
|
package/src/stubs/esp32.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entry": 1074521560,
|
|
3
|
-
"text": "CAD0PxwA9D8AAPQ/AMD8PxAA9D82QQAh+v/AIAA4AkH5/8AgACgEICB0nOIGBQAAAEH1/4H2/8AgAKgEiAigoHTgCAALImYC54b0/yHx/8AgADkCHfAAAKDr/T8Ya/0/hIAAAEBAAABYq/0/pOv9PzZBALH5/
|
|
3
|
+
"text": "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",
|
|
4
4
|
"text_start": 1074520064,
|
|
5
|
-
"data": "
|
|
5
|
+
"data": "DMD8P9jnC0Br6AtAA+0LQPLoC0CL6AtA8ugLQFHpC0Ae6gtAkOoLQDnqC0CB5wtAtukLQBDqC0B06QtAtOoLQJ7pC0C06gtAWegLQLboC0Dy6AtAUekLQHHoC0Bk6wtAxewLQKTmC0Dn7AtApOYLQKTmC0Ck5gtApOYLQKTmC0Ck5gtApOYLQKTmC0AL6wtApOYLQOXrC0DF7AtA",
|
|
6
6
|
"data_start": 1073605544
|
|
7
7
|
}
|
package/src/stubs/esp32c2.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entry": 1077413304,
|
|
3
|
-
"text": "ARG3BwBgTsaDqYcASsg3Sco/JspSxAbOIsy3BABgfVoTCQkAwEwTdPQ/DeDyQGJEI6g0AUJJ0kSySSJKBWGCgIhAgycJABN19Q+Cl30U4xlE/8m/EwcADJRBqodjGOUAhUeFxiOgBQB5VYKABUdjh+YACUZjjcYAfVWCgEIFEwewDUGFY5XnAolHnMH1t5MGwA1jFtUAmMETBQAMgoCTBtANfVVjldcAmMETBbANgoC3dcs/QRGThQW6BsZhP2NFBQa3d8s/k4eHsQOnBwgD1kcIE3X1D5MGFgDCBsGCI5LXCDKXIwCnAAPXRwiRZ5OHBwRjHvcCN/fKPxMHh7GhZ7qXA6YHCLc2yz+3d8s/k4eHsZOGhrVjH+YAI6bHCCOg1wgjkgcIIaD5V+MG9fyyQEEBgoAjptcII6DnCN23NycAYHxLnYv1/zc3AGB8S52L9f+CgEERBsbdN7cnAGAjpgcCNwcACJjDmEN9/8hXskATRfX/BYlBAYKAQREGxtk/fd03BwBAtycAYJjDNycAYBxD/f+
|
|
3
|
+
"text": "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",
|
|
4
4
|
"text_start": 1077411840,
|
|
5
|
-
"data": "
|
|
5
|
+
"data": "DEDKP+AIOEAsCThAhAk4QCgKOECUCjhAQgo4QKgHOEDkCThAJAo4QJgJOEBYBzhAzAk4QFgHOEC6CDhA/gg4QCwJOECECThAzAg4QBIIOEBCCDhAyAg4QOwMOEAsCThArAs4QKAMOECkBjhAygw4QKQGOECkBjhApAY4QKQGOECkBjhApAY4QKQGOECkBjhASAs4QKQGOEDICzhAoAw4QA==",
|
|
6
6
|
"data_start": 1070295976
|
|
7
7
|
}
|
package/src/stubs/esp32c3.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entry": 1077413532,
|
|
3
|
-
"text": "QREixCbCBsa3NwRgEUc3RMg/2Mu3NARgEwQEANxAkYuR57JAIkSSREEBgoCIQBxAE3X1D4KX3bcBEbcHAGBOxoOphwBKyDdJyD8mylLEBs4izLcEAGB9WhMJCQDATBN09D8N4PJAYkQjqDQBQknSRLJJIkoFYYKAiECDJwkAE3X1D4KXfRTjGUT/yb8TBwAMlEGqh2MY5QCFR4XGI6AFAHlVgoAFR2OH5gAJRmONxgB9VYKAQgUTB7ANQYVjlecCiUecwfW3kwbADWMW1QCYwRMFAAyCgJMG0A19VWOV1wCYwRMFsA2CgLd1yT9BEZOFhboGxmE/Y0UFBrd3yT+ThweyA6cHCAPWRwgTdfUPkwYWAMIGwYIjktcIMpcjAKcAA9dHCJFnk4cHBGMe9wI398g/EwcHsqFnupcDpgcItzbJP7d3yT+Thweyk4YGtmMf5gAjpscII6DXCCOSBwghoPlX4wb1/LJAQQGCgCOm1wgjoOcI3bc3JwBgfEudi/X/NzcAYHxLnYv1/4KAQREGxt03tycAYCOmBwI3BwAImMOYQ33/yFeyQBNF9f8FiUEBgoBBEQbG2T993TcHAEC3JwBgmMM3JwBgHEP9/
|
|
3
|
+
"text": "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",
|
|
4
4
|
"text_start": 1077411840,
|
|
5
|
-
"data": "
|
|
5
|
+
"data": "FEDIP3IKOEDCCjhAGgs4QL4LOEAqDDhA2As4QD4JOEB6CzhAugs4QC4LOEDuCDhAYgs4QO4IOEBMCjhAkgo4QMIKOEAaCzhAXgo4QKIJOEDSCThAWgo4QIIOOEDCCjhAQg04QDoOOEAuCDhAYg44QC4IOEAuCDhALgg4QC4IOEAuCDhALgg4QC4IOEAuCDhA3gw4QC4IOEBgDThAOg44QA==",
|
|
6
6
|
"data_start": 1070164912
|
|
7
|
-
}
|
|
7
|
+
}
|
package/src/stubs/esp32c6.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entry": 1082132112,
|
|
3
|
-
"text": "QREixCbCBsa39wBgEUc3BIRA2Mu39ABgEwQEANxAkYuR57JAIkSSREEBgoCIQBxAE3X1D4KX3bcBEbcHAGBOxoOphwBKyDcJhEAmylLEBs4izLcEAGB9WhMJCQDATBN09A8N4PJAYkQjqDQBQknSRLJJIkoFYYKAiECDJwkAE3X1D4KXfRTjGUT/yb8TBwAMlEGqh2MY5QCFR4XGI6AFAHlVgoAFR2OH5gAJRmONxgB9VYKAQgUTB7ANQYVjlecCiUecwfW3kwbADWMW1QCYwRMFAAyCgJMG0A19VWOV1wCYwRMFsA2CgLc1hUBBEZOFRboGxmE/Y0UFBrc3hUCTh8exA6cHCAPWRwgTdfUPkwYWAMIGwYIjktcIMpcjAKcAA9dHCJFnk4cHBGMe9wI3t4RAEwfHsaFnupcDpgcIt/aEQLc3hUCTh8exk4bGtWMf5gAjpscII6DXCCOSBwghoPlX4wb1/LJAQQGCgCOm1wgjoOcI3bc3NwBgfEudi/X/NycAYHxLnYv1/4KAQREGxt03tzcAYCOmBwI3BwAImMOYQ33/yFeyQBNF9f8FiUEBgoBBEQbG2T993TcHAEC3NwBgmMM3NwBgHEP9/
|
|
3
|
+
"text": "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",
|
|
4
4
|
"text_start": 1082130432,
|
|
5
|
-
"data": "
|
|
5
|
+
"data": "EACEQD4KgECOCoBA5gqAQIoLgED2C4BApAuAQAoJgEBGC4BAhguAQPoKgEC6CIBALguAQLoIgEAYCoBAXgqAQI4KgEDmCoBAKgqAQG4JgECeCYBAJgqAQE4OgECOCoBADg2AQAYOgED6B4BALg6AQPoHgED6B4BA+geAQPoHgED6B4BA+geAQPoHgED6B4BAqgyAQPoHgEAsDYBABg6AQA==",
|
|
6
6
|
"data_start": 1082469292
|
|
7
|
-
}
|
|
7
|
+
}
|
package/src/stubs/esp32h2.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entry": 1082132112,
|
|
3
|
-
"text": "QREixCbCBsa39wBgEUc3BINA2Mu39ABgEwQEANxAkYuR57JAIkSSREEBgoCIQBxAE3X1D4KX3bcBEbcHAGBOxoOphwBKyDcJg0AmylLEBs4izLcEAGB9WhMJCQDATBN09A8N4PJAYkQjqDQBQknSRLJJIkoFYYKAiECDJwkAE3X1D4KXfRTjGUT/yb8TBwAMlEGqh2MY5QCFR4XGI6AFAHlVgoAFR2OH5gAJRmONxgB9VYKAQgUTB7ANQYVjlecCiUecwfW3kwbADWMW1QCYwRMFAAyCgJMG0A19VWOV1wCYwRMFsA2CgLc1hEBBEZOFRboGxmE/Y0UFBrc3hECTh8exA6cHCAPWRwgTdfUPkwYWAMIGwYIjktcIMpcjAKcAA9dHCJFnk4cHBGMe9wI3t4NAEwfHsaFnupcDpgcIt/aDQLc3hECTh8exk4bGtWMf5gAjpscII6DXCCOSBwghoPlX4wb1/LJAQQGCgCOm1wgjoOcI3bc3NwBgfEudi/X/NycAYHxLnYv1/4KAQREGxt03tzcAYCOmBwI3BwAImMOYQ33/yFeyQBNF9f8FiUEBgoBBEQbG2T993TcHAEC3NwBgmMM3NwBgHEP9/
|
|
3
|
+
"text": "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",
|
|
4
4
|
"text_start": 1082130432,
|
|
5
|
-
"data": "
|
|
5
|
+
"data": "EACDQD4KgECOCoBA5gqAQIoLgED2C4BApAuAQAoJgEBGC4BAhguAQPoKgEC6CIBALguAQLoIgEAYCoBAXgqAQI4KgEDmCoBAKgqAQG4JgECeCYBAJgqAQE4OgECOCoBADg2AQAYOgED6B4BALg6AQPoHgED6B4BA+geAQPoHgED6B4BA+geAQPoHgED6B4BAqgyAQPoHgEAsDYBABg6AQA==",
|
|
6
6
|
"data_start": 1082403756
|
|
7
|
-
}
|
|
7
|
+
}
|
package/src/stubs/esp32s2.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entry": 1073907696,
|
|
3
|
-
"text": "CAAAYBwAAGBIAP0/EAAAYDZBACH7/8AgADgCQfr/wCAAKAQgIJSc4kH4/0YEAAw4MIgBwCAAqAiIBKCgdOAIAAsiZgLohvT/IfH/wCAAOQId8AAA7Cv+P2Sr/T+EgAAAQEAAAKTr/T/wK/4/NkEAsfn/
|
|
3
|
+
"text": "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",
|
|
4
4
|
"text_start": 1073905664,
|
|
5
|
-
"data": "
|
|
5
|
+
"data": "WAD9PzeLAkDJiwJAjpACQFKMAkDqiwJAUowCQLGMAkB6jQJA7Y0CQJWNAkDBigJAE40CQGyNAkDUjAJAEI4CQP6MAkAQjgJAt4sCQBaMAkBSjAJAsYwCQM+LAkADiwJA044CQEaQAkDWiQJAbZACQNaJAkDWiQJA1okCQNaJAkDWiQJA1okCQNaJAkDWiQJAcI4CQNaJAkBljwJARpACQA==",
|
|
6
6
|
"data_start": 1073622012
|
|
7
|
-
}
|
|
7
|
+
}
|