Merge pull request #25 from balloob/report-progress

Allow reporting progress
This commit is contained in:
Adwait 2022-07-12 20:56:39 +05:30 committed by GitHub
commit 1cc00de7fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -746,7 +746,16 @@ class ESPLoader {
return image; return image;
} }
write_flash = async ({fileArray=[], flash_size='keep', flash_mode='keep', flash_freq='keep', erase_all=false, compress=true} = {}) => { write_flash = async ({
fileArray=[],
flash_size='keep',
flash_mode='keep',
flash_freq='keep',
erase_all=false,
compress=true,
/* function(fileIndex, written, total) */
reportProgress=undefined,
} = {}) => {
console.log("EspLoader program"); console.log("EspLoader program");
if (flash_size !== 'keep') { if (flash_size !== 'keep') {
let flash_end = this.flash_size_bytes(flash_size); let flash_end = this.flash_size_bytes(flash_size);
@ -789,6 +798,8 @@ class ESPLoader {
let seq = 0; let seq = 0;
let bytes_sent = 0; let bytes_sent = 0;
let bytes_written = 0; let bytes_written = 0;
const totalBytes = image.length;
if (reportProgress) reportProgress(i, 0, totalBytes);
var d = new Date(); var d = new Date();
let t1 = d.getTime(); let t1 = d.getTime();
@ -822,6 +833,7 @@ class ESPLoader {
bytes_sent += block.length; bytes_sent += block.length;
image = image.slice(this.FLASH_WRITE_SIZE, image.length); image = image.slice(this.FLASH_WRITE_SIZE, image.length);
seq++; seq++;
if (reportProgress) reportProgress(i, bytes_sent, totalBytes);
} }
if (this.IS_STUB) { if (this.IS_STUB) {
await this.read_reg({addr:this.CHIP_DETECT_MAGIC_REG_ADDR, timeout:timeout}); await this.read_reg({addr:this.CHIP_DETECT_MAGIC_REG_ADDR, timeout:timeout});