diff --git a/js/script.js b/js/script.js index efd7b66..8ba504a 100644 --- a/js/script.js +++ b/js/script.js @@ -300,9 +300,9 @@ async function clickProgram() { const progressBar = progress[file].querySelector("div"); await espStub.flashData( contents, - (bytesWritten) => { + (bytesWritten, totalBytes) => { progressBar.style.width = - Math.floor((bytesWritten / contents.byteLength) * 100) + "%"; + Math.floor((bytesWritten / totalBytes) * 100) + "%"; }, offset ); diff --git a/src/esp_loader.ts b/src/esp_loader.ts index 5275327..e375494 100644 --- a/src/esp_loader.ts +++ b/src/esp_loader.ts @@ -618,7 +618,7 @@ export class ESPLoader extends EventTarget { ? Math.round((block.length * uncompressedFilesize) / compressedFilesize) : block.length; position += flashWriteSize; - updateProgress(written, filesize); + updateProgress(written, Math.ceil(filesize / flashWriteSize) * flashWriteSize); } this.logger.log( "Took " + (Date.now() - stamp) + "ms to write " + filesize + " bytes"