Added Progress bar and Fixed OTA update
All checks were successful
continuous-integration/drone/pr Build is passing

This commit is contained in:
Marcus 2021-09-08 01:23:03 +02:00
parent 5fa1ec14e2
commit adebeaf6cc

View file

@ -34,6 +34,9 @@
<span><input id="transmit_firmware" disabled type="submit" value="Upload"
onclick="transmit_firmware(event)"></span>
</div>
<div class="row" id="progress_ct_ota">
<div id="progress_bar_ota" style="display: block; width:9%; background-color: #00b; padding: unset"></div>
</div>
</div>
</article>
<article class="card">
@ -237,7 +240,7 @@
if (cmd === 'G')
console.log("LED switched", val);
else if (cmd === 'F') {
else if ((cmd === 'F') || (cmd === "C")) {
receive_chunk_confirmation(dv);
} else if (cmd === 'V') {
voltage.innerHTML = (val * 13 / 1024).toFixed(2);
@ -371,10 +374,10 @@
headerview.setInt32(4, buf.byteLength);
headerview.setInt32(8, hash);
receive_chunk_confirmation = (dv) => {
resolve(i);
resolve(true);
}
setTimeout(() => {
reject(i);
reject(false);
}, 500);
wsWrite(frame);
});
@ -386,14 +389,23 @@
(async () => {
const ash = crc32(firmware_file);
for (var i = 0; i * chunk_size < firmware_file.byteLength; i++) {
update_progress("ota", i*chunk_size/firmware_file.byteLength*100);
await transmit_firmware_chunk(firmware_file, i);
}
await transmit_firmware_final(firmware_file, crc32(firmware_file));
update_progress("ota", 100);
})().then(() => {
console.log("transmit_firmware done");
})
}
}
function update_progress(progressBar, progress) {
var iP = Math.floor(progress);
var dBar = document.getElementById("progress_bar_" + progressBar);
dBar.innerText = iP + "%";
dBar.style.width = progress + "%";
}
</script>
</body>
</html>