added verbose level in avrdude_message()

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1321 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
Axel Wachtler
2014-06-13 20:07:40 +00:00
parent 471b504278
commit c6788bd795
45 changed files with 1854 additions and 2128 deletions

108
term.c
View File

@@ -243,7 +243,7 @@ static int cmd_dump(PROGRAMMER * pgm, struct avrpart * p,
int rc;
if (!((argc == 2) || (argc == 4))) {
avrdude_message("Usage: dump <memtype> [<addr> <len>]\n");
avrdude_message(MSG_INFO, "Usage: dump <memtype> [<addr> <len>]\n");
return -1;
}
@@ -258,7 +258,7 @@ static int cmd_dump(PROGRAMMER * pgm, struct avrpart * p,
mem = avr_locate_mem(p, memtype);
if (mem == NULL) {
avrdude_message("\"%s\" memory type not defined for part \"%s\"\n",
avrdude_message(MSG_INFO, "\"%s\" memory type not defined for part \"%s\"\n",
memtype, p->desc);
return -1;
}
@@ -266,14 +266,14 @@ static int cmd_dump(PROGRAMMER * pgm, struct avrpart * p,
if (argc == 4) {
addr = strtoul(argv[2], &e, 0);
if (*e || (e == argv[2])) {
avrdude_message("%s (dump): can't parse address \"%s\"\n",
avrdude_message(MSG_INFO, "%s (dump): can't parse address \"%s\"\n",
progname, argv[2]);
return -1;
}
len = strtol(argv[3], &e, 0);
if (*e || (e == argv[3])) {
avrdude_message("%s (dump): can't parse length \"%s\"\n",
avrdude_message(MSG_INFO, "%s (dump): can't parse length \"%s\"\n",
progname, argv[3]);
return -1;
}
@@ -287,7 +287,7 @@ static int cmd_dump(PROGRAMMER * pgm, struct avrpart * p,
addr = 0;
}
else {
avrdude_message("%s (dump): address 0x%05lx is out of range for %s memory\n",
avrdude_message(MSG_INFO, "%s (dump): address 0x%05lx is out of range for %s memory\n",
progname, addr, mem->desc);
return -1;
}
@@ -299,17 +299,17 @@ static int cmd_dump(PROGRAMMER * pgm, struct avrpart * p,
buf = malloc(len);
if (buf == NULL) {
avrdude_message("%s (dump): out of memory\n", progname);
avrdude_message(MSG_INFO, "%s (dump): out of memory\n", progname);
return -1;
}
for (i=0; i<len; i++) {
rc = pgm->read_byte(pgm, p, mem, addr+i, &buf[i]);
if (rc != 0) {
avrdude_message("error reading %s address 0x%05lx of part %s\n",
avrdude_message(MSG_INFO, "error reading %s address 0x%05lx of part %s\n",
mem->desc, addr+i, p->desc);
if (rc == -1)
avrdude_message("read operation not supported on memory type \"%s\"\n",
avrdude_message(MSG_INFO, "read operation not supported on memory type \"%s\"\n",
mem->desc);
return -1;
}
@@ -341,7 +341,7 @@ static int cmd_write(PROGRAMMER * pgm, struct avrpart * p,
AVRMEM * mem;
if (argc < 4) {
avrdude_message("Usage: write <memtype> <addr> <byte1> "
avrdude_message(MSG_INFO, "Usage: write <memtype> <addr> <byte1> "
"<byte2> ... byteN>\n");
return -1;
}
@@ -350,7 +350,7 @@ static int cmd_write(PROGRAMMER * pgm, struct avrpart * p,
mem = avr_locate_mem(p, memtype);
if (mem == NULL) {
avrdude_message("\"%s\" memory type not defined for part \"%s\"\n",
avrdude_message(MSG_INFO, "\"%s\" memory type not defined for part \"%s\"\n",
memtype, p->desc);
return -1;
}
@@ -359,13 +359,13 @@ static int cmd_write(PROGRAMMER * pgm, struct avrpart * p,
addr = strtoul(argv[2], &e, 0);
if (*e || (e == argv[2])) {
avrdude_message("%s (write): can't parse address \"%s\"\n",
avrdude_message(MSG_INFO, "%s (write): can't parse address \"%s\"\n",
progname, argv[2]);
return -1;
}
if (addr > maxsize) {
avrdude_message("%s (write): address 0x%05lx is out of range for %s memory\n",
avrdude_message(MSG_INFO, "%s (write): address 0x%05lx is out of range for %s memory\n",
progname, addr, memtype);
return -1;
}
@@ -374,7 +374,7 @@ static int cmd_write(PROGRAMMER * pgm, struct avrpart * p,
len = argc - 3;
if ((addr + len) > maxsize) {
avrdude_message("%s (write): selected address and # bytes exceed "
avrdude_message(MSG_INFO, "%s (write): selected address and # bytes exceed "
"range for %s memory\n",
progname, memtype);
return -1;
@@ -382,14 +382,14 @@ static int cmd_write(PROGRAMMER * pgm, struct avrpart * p,
buf = malloc(len);
if (buf == NULL) {
avrdude_message("%s (write): out of memory\n", progname);
avrdude_message(MSG_INFO, "%s (write): out of memory\n", progname);
return -1;
}
for (i=3; i<argc; i++) {
buf[i-3] = strtoul(argv[i], &e, 0);
if (*e || (e == argv[i])) {
avrdude_message("%s (write): can't parse byte \"%s\"\n",
avrdude_message(MSG_INFO, "%s (write): can't parse byte \"%s\"\n",
progname, argv[i]);
free(buf);
return -1;
@@ -401,17 +401,17 @@ static int cmd_write(PROGRAMMER * pgm, struct avrpart * p,
rc = avr_write_byte(pgm, p, mem, addr+i, buf[i]);
if (rc) {
avrdude_message("%s (write): error writing 0x%02x at 0x%05lx, rc=%d\n",
avrdude_message(MSG_INFO, "%s (write): error writing 0x%02x at 0x%05lx, rc=%d\n",
progname, buf[i], addr+i, rc);
if (rc == -1)
avrdude_message("write operation not supported on memory type \"%s\"\n",
avrdude_message(MSG_INFO, "write operation not supported on memory type \"%s\"\n",
mem->desc);
werror = 1;
}
rc = pgm->read_byte(pgm, p, mem, addr+i, &b);
if (b != buf[i]) {
avrdude_message("%s (write): error writing 0x%02x at 0x%05lx cell=0x%02x\n",
avrdude_message(MSG_INFO, "%s (write): error writing 0x%02x at 0x%05lx cell=0x%02x\n",
progname, buf[i], addr+i, b);
werror = 1;
}
@@ -438,20 +438,20 @@ static int cmd_send(PROGRAMMER * pgm, struct avrpart * p,
int len;
if (pgm->cmd == NULL) {
avrdude_message("The %s programmer does not support direct ISP commands.\n",
avrdude_message(MSG_INFO, "The %s programmer does not support direct ISP commands.\n",
pgm->type);
return -1;
}
if (spi_mode && (pgm->spi == NULL)) {
avrdude_message("The %s programmer does not support direct SPI transfers.\n",
avrdude_message(MSG_INFO, "The %s programmer does not support direct SPI transfers.\n",
pgm->type);
return -1;
}
if ((argc > 5) || ((argc < 5) && (!spi_mode))) {
avrdude_message(spi_mode?
avrdude_message(MSG_INFO, spi_mode?
"Usage: send <byte1> [<byte2> [<byte3> [<byte4>]]]\n":
"Usage: send <byte1> <byte2> <byte3> <byte4>\n");
return -1;
@@ -464,7 +464,7 @@ static int cmd_send(PROGRAMMER * pgm, struct avrpart * p,
for (i=1; i<argc; i++) {
cmd[i-1] = strtoul(argv[i], &e, 0);
if (*e || (e == argv[i])) {
avrdude_message("%s (send): can't parse byte \"%s\"\n",
avrdude_message(MSG_INFO, "%s (send): can't parse byte \"%s\"\n",
progname, argv[i]);
return -1;
}
@@ -480,10 +480,10 @@ static int cmd_send(PROGRAMMER * pgm, struct avrpart * p,
/*
* display results
*/
avrdude_message("results:");
avrdude_message(MSG_INFO, "results:");
for (i=0; i<len; i++)
avrdude_message(" %02x", res[i]);
avrdude_message("\n");
avrdude_message(MSG_INFO, " %02x", res[i]);
avrdude_message(MSG_INFO, "\n");
fprintf(stdout, "\n");
@@ -494,7 +494,7 @@ static int cmd_send(PROGRAMMER * pgm, struct avrpart * p,
static int cmd_erase(PROGRAMMER * pgm, struct avrpart * p,
int argc, char * argv[])
{
avrdude_message("%s: erasing chip\n", progname);
avrdude_message(MSG_INFO, "%s: erasing chip\n", progname);
pgm->chip_erase(pgm, p);
return 0;
}
@@ -520,13 +520,13 @@ static int cmd_sig(PROGRAMMER * pgm, struct avrpart * p,
rc = avr_signature(pgm, p);
if (rc != 0) {
avrdude_message("error reading signature data, rc=%d\n",
avrdude_message(MSG_INFO, "error reading signature data, rc=%d\n",
rc);
}
m = avr_locate_mem(p, "signature");
if (m == NULL) {
avrdude_message("signature data not defined for device \"%s\"\n",
avrdude_message(MSG_INFO, "signature data not defined for device \"%s\"\n",
p->desc);
}
else {
@@ -551,7 +551,7 @@ static int cmd_parms(PROGRAMMER * pgm, struct avrpart * p,
int argc, char * argv[])
{
if (pgm->print_parms == NULL) {
avrdude_message("%s (parms): the %s programmer does not support "
avrdude_message(MSG_INFO, "%s (parms): the %s programmer does not support "
"adjustable parameters\n",
progname, pgm->type);
return -1;
@@ -570,22 +570,22 @@ static int cmd_vtarg(PROGRAMMER * pgm, struct avrpart * p,
char *endp;
if (argc != 2) {
avrdude_message("Usage: vtarg <value>\n");
avrdude_message(MSG_INFO, "Usage: vtarg <value>\n");
return -1;
}
v = strtod(argv[1], &endp);
if (endp == argv[1]) {
avrdude_message("%s (vtarg): can't parse voltage \"%s\"\n",
avrdude_message(MSG_INFO, "%s (vtarg): can't parse voltage \"%s\"\n",
progname, argv[1]);
return -1;
}
if (pgm->set_vtarget == NULL) {
avrdude_message("%s (vtarg): the %s programmer cannot set V[target]\n",
avrdude_message(MSG_INFO, "%s (vtarg): the %s programmer cannot set V[target]\n",
progname, pgm->type);
return -2;
}
if ((rc = pgm->set_vtarget(pgm, v)) != 0) {
avrdude_message("%s (vtarg): failed to set V[target] (rc = %d)\n",
avrdude_message(MSG_INFO, "%s (vtarg): failed to set V[target] (rc = %d)\n",
progname, rc);
return -3;
}
@@ -601,7 +601,7 @@ static int cmd_fosc(PROGRAMMER * pgm, struct avrpart * p,
char *endp;
if (argc != 2) {
avrdude_message("Usage: fosc <value>[M|k] | off\n");
avrdude_message(MSG_INFO, "Usage: fosc <value>[M|k] | off\n");
return -1;
}
v = strtod(argv[1], &endp);
@@ -609,7 +609,7 @@ static int cmd_fosc(PROGRAMMER * pgm, struct avrpart * p,
if (strcmp(argv[1], "off") == 0)
v = 0.0;
else {
avrdude_message("%s (fosc): can't parse frequency \"%s\"\n",
avrdude_message(MSG_INFO, "%s (fosc): can't parse frequency \"%s\"\n",
progname, argv[1]);
return -1;
}
@@ -619,12 +619,12 @@ static int cmd_fosc(PROGRAMMER * pgm, struct avrpart * p,
else if (*endp == 'k' || *endp == 'K')
v *= 1e3;
if (pgm->set_fosc == NULL) {
avrdude_message("%s (fosc): the %s programmer cannot set oscillator frequency\n",
avrdude_message(MSG_INFO, "%s (fosc): the %s programmer cannot set oscillator frequency\n",
progname, pgm->type);
return -2;
}
if ((rc = pgm->set_fosc(pgm, v)) != 0) {
avrdude_message("%s (fosc): failed to set oscillator_frequency (rc = %d)\n",
avrdude_message(MSG_INFO, "%s (fosc): failed to set oscillator_frequency (rc = %d)\n",
progname, rc);
return -3;
}
@@ -640,23 +640,23 @@ static int cmd_sck(PROGRAMMER * pgm, struct avrpart * p,
char *endp;
if (argc != 2) {
avrdude_message("Usage: sck <value>\n");
avrdude_message(MSG_INFO, "Usage: sck <value>\n");
return -1;
}
v = strtod(argv[1], &endp);
if (endp == argv[1]) {
avrdude_message("%s (sck): can't parse period \"%s\"\n",
avrdude_message(MSG_INFO, "%s (sck): can't parse period \"%s\"\n",
progname, argv[1]);
return -1;
}
v *= 1e-6; /* Convert from microseconds to seconds. */
if (pgm->set_sck_period == NULL) {
avrdude_message("%s (sck): the %s programmer cannot set SCK period\n",
avrdude_message(MSG_INFO, "%s (sck): the %s programmer cannot set SCK period\n",
progname, pgm->type);
return -2;
}
if ((rc = pgm->set_sck_period(pgm, v)) != 0) {
avrdude_message("%s (sck): failed to set SCK period (rc = %d)\n",
avrdude_message(MSG_INFO, "%s (sck): failed to set SCK period (rc = %d)\n",
progname, rc);
return -3;
}
@@ -673,38 +673,38 @@ static int cmd_varef(PROGRAMMER * pgm, struct avrpart * p,
char *endp;
if (argc != 2 && argc != 3) {
avrdude_message("Usage: varef [channel] <value>\n");
avrdude_message(MSG_INFO, "Usage: varef [channel] <value>\n");
return -1;
}
if (argc == 2) {
chan = 0;
v = strtod(argv[1], &endp);
if (endp == argv[1]) {
avrdude_message("%s (varef): can't parse voltage \"%s\"\n",
avrdude_message(MSG_INFO, "%s (varef): can't parse voltage \"%s\"\n",
progname, argv[1]);
return -1;
}
} else {
chan = strtoul(argv[1], &endp, 10);
if (endp == argv[1]) {
avrdude_message("%s (varef): can't parse channel \"%s\"\n",
avrdude_message(MSG_INFO, "%s (varef): can't parse channel \"%s\"\n",
progname, argv[1]);
return -1;
}
v = strtod(argv[2], &endp);
if (endp == argv[2]) {
avrdude_message("%s (varef): can't parse voltage \"%s\"\n",
avrdude_message(MSG_INFO, "%s (varef): can't parse voltage \"%s\"\n",
progname, argv[2]);
return -1;
}
}
if (pgm->set_varef == NULL) {
avrdude_message("%s (varef): the %s programmer cannot set V[aref]\n",
avrdude_message(MSG_INFO, "%s (varef): the %s programmer cannot set V[aref]\n",
progname, pgm->type);
return -2;
}
if ((rc = pgm->set_varef(pgm, chan, v)) != 0) {
avrdude_message("%s (varef): failed to set V[aref] (rc = %d)\n",
avrdude_message(MSG_INFO, "%s (varef): failed to set V[aref] (rc = %d)\n",
progname, rc);
return -3;
}
@@ -754,26 +754,26 @@ static int cmd_verbose(PROGRAMMER * pgm, struct avrpart * p,
char *endp;
if (argc != 1 && argc != 2) {
avrdude_message("Usage: verbose [<value>]\n");
avrdude_message(MSG_INFO, "Usage: verbose [<value>]\n");
return -1;
}
if (argc == 1) {
avrdude_message("Verbosity level: %d\n", verbose);
avrdude_message(MSG_INFO, "Verbosity level: %d\n", verbose);
return 0;
}
nverb = strtol(argv[1], &endp, 0);
if (endp == argv[2]) {
avrdude_message("%s: can't parse verbosity level \"%s\"\n",
avrdude_message(MSG_INFO, "%s: can't parse verbosity level \"%s\"\n",
progname, argv[2]);
return -1;
}
if (nverb < 0) {
avrdude_message("%s: verbosity level must be positive: %d\n",
avrdude_message(MSG_INFO, "%s: verbosity level must be positive: %d\n",
progname, nverb);
return -1;
}
verbose = nverb;
avrdude_message("New verbosity level: %d\n", verbose);
avrdude_message(MSG_INFO, "New verbosity level: %d\n", verbose);
return 0;
}
@@ -870,7 +870,7 @@ static int do_cmd(PROGRAMMER * pgm, struct avrpart * p,
}
else if (strncasecmp(argv[0], cmd[i].name, len)==0) {
if (hold != -1) {
avrdude_message("%s: command \"%s\" is ambiguous\n",
avrdude_message(MSG_INFO, "%s: command \"%s\" is ambiguous\n",
progname, argv[0]);
return -1;
}
@@ -881,7 +881,7 @@ static int do_cmd(PROGRAMMER * pgm, struct avrpart * p,
if (hold != -1)
return cmd[hold].func(pgm, p, argc, argv);
avrdude_message("%s: invalid command \"%s\"\n",
avrdude_message(MSG_INFO, "%s: invalid command \"%s\"\n",
progname, argv[0]);
return -1;