bug #35474 Feature request: print fuse values in safemode output

* config_gram.y: New configuration token "default_safemode".
* lexer.l: (Dito.)
* avrdude.conf.in: (Dito.)
* config.h: Add variable default_safemode.
* config.c: (Dito.)
* main.c: Handle default_safemode, including -u option.
* avrdude.1: Document all this.
* doc/avrdude.texi: (Dito.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1226 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
Joerg Wunsch
2013-09-13 17:22:38 +00:00
parent e358e7079e
commit 3203d8c054
10 changed files with 81 additions and 10 deletions

23
main.c
View File

@@ -366,6 +366,7 @@ int main(int argc, char * argv [])
default_parallel[0] = 0;
default_serial[0] = 0;
default_bitclock = 0.0;
default_safemode = -1;
init_config();
@@ -410,11 +411,6 @@ int main(int argc, char * argv [])
is_open = 0;
logfile = NULL;
if (isatty(STDIN_FILENO) == 0)
safemode = 0; /* Turn off safemode if this isn't a terminal */
#if defined(WIN32NATIVE)
win_sys_config_set(sys_config);
@@ -845,6 +841,20 @@ int main(int argc, char * argv [])
}
}
if (default_safemode == 0) {
/* configuration disables safemode: revert meaning of -u */
if (safemode == 0)
/* -u was given: enable safemode */
safemode = 1;
else
/* -u not given: turn off */
safemode = 0;
}
if (isatty(STDIN_FILENO) == 0 && silentsafe == 0)
safemode = 0; /* Turn off safemode if this isn't a terminal */
if(p->flags & AVRPART_AVR32) {
safemode = 0;
}
@@ -1353,7 +1363,8 @@ int main(int argc, char * argv [])
if (quell_progress < 2) {
fprintf(stderr, "%s: safemode: ", progname);
if (failures == 0) {
fprintf(stderr, "Fuses OK\n");
fprintf(stderr, "Fuses OK (H:%02X, E:%02X, L:%02X)\n",
safemode_efuse, safemode_hfuse, safemode_lfuse);
}
else {
fprintf(stderr, "Fuses not recovered, sorry\n");