Skip to content

Commit 1d0cbc2

Browse files
authored
Add progressbar for read and write command (avrdudes#912)
1 parent 79c4137 commit 1d0cbc2

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/term.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@ static int cmd_dump(PROGRAMMER * pgm, struct avrpart * p,
302302
return -1;
303303
}
304304

305+
report_progress(0, 1, "Reading");
305306
for (uint32_t i = 0; i < len; i++) {
306307
int32_t rc = pgm->read_byte(pgm, p, mem, addr + i, &buf[i]);
307308
if (rc != 0) {
@@ -312,7 +313,9 @@ static int cmd_dump(PROGRAMMER * pgm, struct avrpart * p,
312313
mem->desc);
313314
return -1;
314315
}
316+
report_progress(i, len, NULL);
315317
}
318+
report_progress(1, 1, NULL);
316319

317320
hexdump_buf(stdout, addr, buf, len);
318321
fprintf(stdout, "\n");
@@ -508,14 +511,15 @@ static int cmd_write(PROGRAMMER * pgm, struct avrpart * p,
508511
return -1;
509512
}
510513

511-
avrdude_message(MSG_NOTICE, "Info: Writing %d bytes starting from address 0x%02x",
514+
avrdude_message(MSG_NOTICE, "\nInfo: Writing %d bytes starting from address 0x%02x",
512515
len + data.bytes_grown, addr);
513516
if (write_mode == WRITE_MODE_FILL)
514517
avrdude_message(MSG_NOTICE, ". Remaining space filled with %s", argv[argc - 2]);
515518
avrdude_message(MSG_NOTICE, "\n");
516519

517520
pgm->err_led(pgm, OFF);
518521
bool werror = false;
522+
report_progress(0, 1, "Writing");
519523
for (i = 0; i < (len + data.bytes_grown); i++) {
520524
int32_t rc = avr_write_byte(pgm, p, mem, addr+i, buf[i]);
521525
if (rc) {
@@ -538,12 +542,13 @@ static int cmd_write(PROGRAMMER * pgm, struct avrpart * p,
538542
if (werror) {
539543
pgm->err_led(pgm, ON);
540544
}
545+
546+
report_progress(i, (len + data.bytes_grown), NULL);
541547
}
548+
report_progress(1, 1, NULL);
542549

543550
free(buf);
544551

545-
fprintf(stdout, "\n");
546-
547552
return 0;
548553
}
549554

0 commit comments

Comments
 (0)