From cce891c51318e91e529f8bcf8026a9165f26bf11 Mon Sep 17 00:00:00 2001 From: ole00 Date: Fri, 12 Apr 2024 22:23:52 +0100 Subject: [PATCH] PC app: play JTAG file: improved progress bar updates When the chunk sizes were not power of 2 the progress bar updates were irregular. This change ensures that any upload progress is regularly updated." --- src_pc/afterburner.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src_pc/afterburner.c b/src_pc/afterburner.c index da433da..383b1ed 100644 --- a/src_pc/afterburner.c +++ b/src_pc/afterburner.c @@ -1294,6 +1294,7 @@ static int readJtagSerialLine(char* buf, int bufSize, int maxDelay, int* feedReq static int playJtagFile(char* label, int fSize, int vpp, int showProgress) { char buf[MAX_LINE] = {0}; int sendPos = 0; + int lastSendPos = 0; char ready = 0; int result = 0; unsigned int csum = 0; @@ -1344,7 +1345,8 @@ static int playJtagFile(char* label, int fSize, int vpp, int showProgress) { int w = serialDeviceWrite(serialF, galbuffer + sendPos, chunkSize); sendPos += w; // print progress / file position - if (showProgress && (sendPos % 1024 == 0 || sendPos == fSize)) { + if (showProgress && (sendPos - lastSendPos >= 1024 || sendPos == fSize)) { + lastSendPos = sendPos; updateProgressBar(label, sendPos, fSize); } }