mirror of
https://github.com/avrdudes/avrdude.git
synced 2026-09-21 00:26:22 +03:00
Percolate LIBAVRDUDE_EXIT_* return value to caller
This commit is contained in:
@@ -119,9 +119,9 @@ static int arduino_open(PROGRAMMER *pgm, const char *port) {
|
||||
union pinfo pinfo;
|
||||
pinfo.serialinfo.baud = pgm->baudrate? pgm->baudrate: 115200;
|
||||
pinfo.serialinfo.cflags = SERIAL_8N1;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
if(my.autoreset) {
|
||||
// This code assumes a negative-logic USB to TTL serial adapter
|
||||
|
||||
@@ -328,8 +328,9 @@ static int avr910_open(PROGRAMMER *pgm, const char *port) {
|
||||
pgm->port = port;
|
||||
pinfo.serialinfo.baud = pgm->baudrate? pgm->baudrate: 19200;
|
||||
pinfo.serialinfo.cflags = SERIAL_8N1;
|
||||
if(serial_open(port, pinfo, &pgm->fd) < 0)
|
||||
return -1;
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
(void) avr910_drain(pgm, 0);
|
||||
|
||||
|
||||
@@ -448,9 +448,9 @@ static int buspirate_open(PROGRAMMER *pgm, const char *port) {
|
||||
pinfo.serialinfo.baud = pgm->baudrate? pgm->baudrate: 115200;
|
||||
pinfo.serialinfo.cflags = SERIAL_8N1;
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
serial_drain(&pgm->fd, 0);
|
||||
|
||||
@@ -329,8 +329,9 @@ static int butterfly_open(PROGRAMMER *pgm, const char *port) {
|
||||
union pinfo pinfo;
|
||||
pinfo.serialinfo.baud = pgm->baudrate? pgm->baudrate: 19200;
|
||||
pinfo.serialinfo.cflags = SERIAL_8N1;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1)
|
||||
return -1;
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
if(my.autoreset) {
|
||||
// This code assumes a negative-logic USB to TTL serial adapter
|
||||
|
||||
@@ -1673,6 +1673,8 @@ int jtag3_open_common(PROGRAMMER *pgm, const char *port, int mode_switch) {
|
||||
|
||||
pgm->port = port;
|
||||
rv = serial_open(port, pinfo, &pgm->fd);
|
||||
if(rv == LIBAVRDUDE_EXIT_FAIL || rv == LIBAVRDUDE_EXIT_OK)
|
||||
return rv;
|
||||
}
|
||||
if(rv < 0) {
|
||||
#endif // HAVE_LIBHIDAPI
|
||||
@@ -1689,6 +1691,8 @@ int jtag3_open_common(PROGRAMMER *pgm, const char *port, int mode_switch) {
|
||||
|
||||
pgm->port = port;
|
||||
rv = serial_open(port, pinfo, &pgm->fd);
|
||||
if(rv == LIBAVRDUDE_EXIT_FAIL || rv == LIBAVRDUDE_EXIT_OK)
|
||||
return rv;
|
||||
}
|
||||
#endif // HAVE_LIBUSB
|
||||
|
||||
@@ -1714,9 +1718,13 @@ int jtag3_open_common(PROGRAMMER *pgm, const char *port, int mode_switch) {
|
||||
int pic_mode = serial_open(port, pinfo, &pgm->fd);
|
||||
|
||||
if(pic_mode < 0) {
|
||||
if(pic_mode == LIBAVRDUDE_EXIT_FAIL || pic_mode == LIBAVRDUDE_EXIT_OK)
|
||||
return pic_mode;
|
||||
// Retry with bootloader USB PID
|
||||
pinfo.usbinfo.pid = bl_pid;
|
||||
pic_mode = serial_open(port, pinfo, &pgm->fd);
|
||||
if(pic_mode == LIBAVRDUDE_EXIT_FAIL || pic_mode == LIBAVRDUDE_EXIT_OK)
|
||||
return pic_mode;
|
||||
}
|
||||
if(pic_mode >= 0) {
|
||||
const char *partsdesc_flag = partdesc? " -p ": "";
|
||||
|
||||
@@ -522,9 +522,9 @@ static int jtagmkI_open(PROGRAMMER *pgm, const char *port) {
|
||||
pinfo.serialinfo.baud = baudtab[i].baud;
|
||||
pinfo.serialinfo.cflags = SERIAL_8N1;
|
||||
pmsg_notice2("%s(): trying to sync at baud rate %ld:\n", __func__, pinfo.serialinfo.baud);
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
jtagmkI_drain(pgm, 0);
|
||||
|
||||
@@ -1417,9 +1417,9 @@ static int jtagmkII_open(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
jtagmkII_drain(pgm, 0);
|
||||
@@ -1467,9 +1467,9 @@ static int jtagmkII_open_dw(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
jtagmkII_drain(pgm, 0);
|
||||
@@ -1517,9 +1517,9 @@ static int jtagmkII_open_pdi(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
jtagmkII_drain(pgm, 0);
|
||||
@@ -1573,9 +1573,9 @@ static int jtagmkII_dragon_open(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
jtagmkII_drain(pgm, 0);
|
||||
@@ -1623,9 +1623,9 @@ static int jtagmkII_dragon_open_dw(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
jtagmkII_drain(pgm, 0);
|
||||
@@ -1650,11 +1650,7 @@ static int jtagmkII_dragon_open_pdi(PROGRAMMER *pgm, const char *port) {
|
||||
pinfo.serialinfo.baud = 19200;
|
||||
pinfo.serialinfo.cflags = SERIAL_8N1;
|
||||
|
||||
/*
|
||||
* If the port name starts with "usb", divert the serial routines to the USB
|
||||
* ones. The serial_open() function for USB overrides the meaning of the
|
||||
* "baud" parameter to be the USB device ID to search for.
|
||||
*/
|
||||
// If the port name starts with "usb", divert the serial routines to the USB ones
|
||||
if(str_casestarts(port, "usb")) {
|
||||
|
||||
#if defined(HAVE_LIBUSB)
|
||||
@@ -1673,9 +1669,9 @@ static int jtagmkII_dragon_open_pdi(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
jtagmkII_drain(pgm, 0);
|
||||
@@ -3255,9 +3251,9 @@ static int jtagmkII_open32(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
jtagmkII_drain(pgm, 0);
|
||||
|
||||
@@ -331,9 +331,10 @@ int touch_serialport(char **portp, int baudrate, int nwaits) {
|
||||
|
||||
pinfo.serialinfo.baud = baudrate;
|
||||
pinfo.serialinfo.cflags = SERIAL_8N1;
|
||||
if(serial_open(*portp, pinfo, &fd) == -1) {
|
||||
int rc;
|
||||
if((rc = serial_open(*portp, pinfo, &fd)) < 0) {
|
||||
pmsg_error("%s() failed to open port %s at %d baud\n", __func__, *portp, baudrate);
|
||||
return -1;
|
||||
return rc;
|
||||
}
|
||||
serial_set_dtr_rts(&fd, 1);
|
||||
usleep(100);
|
||||
|
||||
@@ -169,8 +169,9 @@ static int serprog_open(PROGRAMMER *pgm, const char *port) {
|
||||
pgm->port = port;
|
||||
pinfo.serialinfo.baud = pgm->baudrate? pgm->baudrate: 115200;
|
||||
pinfo.serialinfo.cflags = SERIAL_8N1;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1)
|
||||
return -1;
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
unsigned char buf[32];
|
||||
|
||||
|
||||
@@ -854,9 +854,9 @@ static int stk500_open(PROGRAMMER *pgm, const char *port) {
|
||||
pgm->port = port;
|
||||
pinfo.serialinfo.baud = pgm->baudrate? pgm->baudrate: 115200;
|
||||
pinfo.serialinfo.cflags = SERIAL_8N1;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
stk500_drain(pgm, 0);
|
||||
|
||||
@@ -1365,7 +1365,7 @@ static int stk500v2_jtag3_initialize(const PROGRAMMER *pgm, const AVRPART *p) {
|
||||
if(my.vtarg_switch_get) {
|
||||
pmsg_info("Vtarg switch setting read as %u: target power is switched %s\n",
|
||||
my.vtarg_switch_data[0], my.vtarg_switch_data[0]? "on": "off");
|
||||
}
|
||||
}
|
||||
// Write Vtarg switch value
|
||||
if(my.vtarg_switch_set) {
|
||||
if(jtag3_setparm(pgmcp, SCOPE_EDBG, EDBG_CTXT_CONTROL,
|
||||
@@ -1504,7 +1504,7 @@ static int stk500hv_initialize(const PROGRAMMER *pgm, const AVRPART *p, enum hvm
|
||||
my.varef_channel, (varef_read/100.0));
|
||||
}
|
||||
// STK600: Write target voltage value for channel n
|
||||
if(my.varef_set) {
|
||||
if(my.varef_set) {
|
||||
msg_info("Changing analog reference channel %d voltage from %.2f V to %.2f V\n",
|
||||
my.varef_channel, (varef_read/100.0), my.varef_data);
|
||||
if(pgm->set_varef(pgm, my.varef_channel, my.varef_data) < 0)
|
||||
@@ -2148,9 +2148,9 @@ static int stk500v2_open(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Make USB serial number and USB product name available to programmer
|
||||
if(serdev) {
|
||||
@@ -2216,9 +2216,9 @@ static int stk600_open(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input, synchronise and drain again
|
||||
if(stk500v2_drain(pgm, 0) < 0 || stk500v2_getsync(pgm) < 0 || stk500v2_drain(pgm, 0) < 0)
|
||||
@@ -3927,9 +3927,9 @@ static int stk500v2_jtagmkII_open(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
stk500v2_drain(pgm, 0);
|
||||
@@ -4025,9 +4025,9 @@ static int stk500v2_dragon_isp_open(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
stk500v2_drain(pgm, 0);
|
||||
@@ -4098,9 +4098,9 @@ static int stk500v2_dragon_hv_open(PROGRAMMER *pgm, const char *port) {
|
||||
}
|
||||
|
||||
pgm->port = port;
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// Drain any extraneous input
|
||||
stk500v2_drain(pgm, 0);
|
||||
|
||||
@@ -57,10 +57,10 @@ static int updi_physical_open(PROGRAMMER *pgm, int baudrate, unsigned long cflag
|
||||
|
||||
pmsg_debug("opening serial port ...\n");
|
||||
|
||||
if(serial_open(pgm->port, pinfo, &pgm->fd) == -1) {
|
||||
|
||||
int rc;
|
||||
if((rc = serial_open(pgm->port, pinfo, &pgm->fd)) < 0) {
|
||||
pmsg_debug("serial port open failed!\n");
|
||||
return -1;
|
||||
return rc;
|
||||
}
|
||||
|
||||
// Drain any extraneous input
|
||||
|
||||
@@ -2249,8 +2249,9 @@ static int urclock_open(PROGRAMMER *pgm, const char *port) {
|
||||
pinfo.serialinfo.cflags = SERIAL_8N1;
|
||||
|
||||
pmsg_debug("%s(\"%s\")\n", __func__, port);
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1)
|
||||
return -1;
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
if(!ur.noautoreset) {
|
||||
// This code assumes a negative-logic USB to TTL serial adapter
|
||||
|
||||
@@ -144,7 +144,9 @@ static int wiring_open(PROGRAMMER *pgm, const char *port) {
|
||||
pgm->port = port;
|
||||
pinfo.serialinfo.baud = pgm->baudrate? pgm->baudrate: 115200;
|
||||
pinfo.serialinfo.cflags = SERIAL_8N1;
|
||||
serial_open(port, pinfo, &pgm->fd);
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
// If we have a snoozetime, then we wait and do NOT toggle DTR/RTS
|
||||
if(mywiring.snoozetime > 0) {
|
||||
|
||||
@@ -1438,9 +1438,9 @@ static int xbee_open(PROGRAMMER *pgm, const char *port) {
|
||||
serdev->set_dtr_rts = xbeedev_set_dtr_rts;
|
||||
serdev->flags = SERDEV_FL_NONE;
|
||||
|
||||
if(serial_open(port, pinfo, &pgm->fd) == -1) {
|
||||
return -1;
|
||||
}
|
||||
int rc;
|
||||
if((rc = serial_open(port, pinfo, &pgm->fd)) < 0)
|
||||
return rc;
|
||||
|
||||
xbeedev_setresetpin(&pgm->fd, my.xbeeResetPin);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user