Merge branch 'main' into ser_posix_cleanup
This commit is contained in:
commit
cf67a76c23
3
NEWS
3
NEWS
|
@ -133,6 +133,9 @@ Changes since version 6.4:
|
||||||
- Tweak programmer info formatting strings #872
|
- Tweak programmer info formatting strings #872
|
||||||
- Remove libhid support in ser_avrdoper.c in favor of libhidapi #882
|
- Remove libhid support in ser_avrdoper.c in favor of libhidapi #882
|
||||||
- Reduce jtag3 output verbosity #877
|
- Reduce jtag3 output verbosity #877
|
||||||
|
- Fix Curiosity Nano target voltage #878
|
||||||
|
- Smallest possible fix for PL2303HX #885
|
||||||
|
- Add missing USBtiny derived programmers #873
|
||||||
|
|
||||||
* Internals:
|
* Internals:
|
||||||
|
|
||||||
|
|
|
@ -886,6 +886,24 @@ programmer
|
||||||
usbpid = 0x0c9f;
|
usbpid = 0x0c9f;
|
||||||
;
|
;
|
||||||
|
|
||||||
|
programmer
|
||||||
|
id = "arduinoisp";
|
||||||
|
desc = "Arduino ISP Programmer";
|
||||||
|
type = "usbtiny";
|
||||||
|
connection_type = usb;
|
||||||
|
usbvid = 0x2341;
|
||||||
|
usbpid = 0x0049;
|
||||||
|
;
|
||||||
|
|
||||||
|
programmer
|
||||||
|
id = "arduinoisporg";
|
||||||
|
desc = "Arduino ISP Programmer";
|
||||||
|
type = "usbtiny";
|
||||||
|
connection_type = usb;
|
||||||
|
usbvid = 0x2A03;
|
||||||
|
usbpid = 0x0049;
|
||||||
|
;
|
||||||
|
|
||||||
# commercial version of USBtiny, using a separate VID/PID
|
# commercial version of USBtiny, using a separate VID/PID
|
||||||
programmer
|
programmer
|
||||||
id = "ehajo-isp";
|
id = "ehajo-isp";
|
||||||
|
@ -896,6 +914,16 @@ programmer
|
||||||
usbpid = 0x0BA5;
|
usbpid = 0x0BA5;
|
||||||
;
|
;
|
||||||
|
|
||||||
|
# commercial version of USBtiny, using a separate VID/PID
|
||||||
|
programmer
|
||||||
|
id = "iseavrprog";
|
||||||
|
desc = "USBtiny-based USB programmer, https://github.com/IowaScaledEngineering/ckt-avrprogrammer";
|
||||||
|
type = "usbtiny";
|
||||||
|
connection_type = usb;
|
||||||
|
usbvid = 0x1209;
|
||||||
|
usbpid = 0x6570;
|
||||||
|
;
|
||||||
|
|
||||||
programmer
|
programmer
|
||||||
id = "micronucleus";
|
id = "micronucleus";
|
||||||
desc = "Micronucleus Bootloader";
|
desc = "Micronucleus Bootloader";
|
||||||
|
@ -914,16 +942,6 @@ programmer
|
||||||
usbpid = 0x0478;
|
usbpid = 0x0478;
|
||||||
;
|
;
|
||||||
|
|
||||||
# commercial version of USBtiny, using a separate VID/PID
|
|
||||||
programmer
|
|
||||||
id = "iseavrprog";
|
|
||||||
desc = "USBtiny-based USB programmer, https://github.com/IowaScaledEngineering/ckt-avrprogrammer";
|
|
||||||
type = "usbtiny";
|
|
||||||
connection_type = usb;
|
|
||||||
usbvid = 0x1209;
|
|
||||||
usbpid = 0x6570;
|
|
||||||
;
|
|
||||||
|
|
||||||
programmer
|
programmer
|
||||||
id = "butterfly";
|
id = "butterfly";
|
||||||
desc = "Atmel Butterfly Development Board";
|
desc = "Atmel Butterfly Development Board";
|
||||||
|
|
|
@ -53,7 +53,7 @@ static void updi_set_rtsdtr_mode(PROGRAMMER* pgm)
|
||||||
|
|
||||||
static int updi_physical_open(PROGRAMMER* pgm, int baudrate, unsigned long cflags)
|
static int updi_physical_open(PROGRAMMER* pgm, int baudrate, unsigned long cflags)
|
||||||
{
|
{
|
||||||
serial_recv_timeout = 100;
|
serial_recv_timeout = 1000;
|
||||||
union pinfo pinfo;
|
union pinfo pinfo;
|
||||||
|
|
||||||
pinfo.serialinfo.baud = baudrate;
|
pinfo.serialinfo.baud = baudrate;
|
||||||
|
@ -155,6 +155,8 @@ static int updi_physical_send_double_break(PROGRAMMER * pgm)
|
||||||
serial_send(&pgm->fd, buffer, 1);
|
serial_send(&pgm->fd, buffer, 1);
|
||||||
serial_recv(&pgm->fd, buffer, 1);
|
serial_recv(&pgm->fd, buffer, 1);
|
||||||
|
|
||||||
|
serial_drain(&pgm->fd, 0);
|
||||||
|
|
||||||
if (serial_setparams(&pgm->fd, pgm->baudrate? pgm->baudrate: 115200, SERIAL_8E2) < 0) {
|
if (serial_setparams(&pgm->fd, pgm->baudrate? pgm->baudrate: 115200, SERIAL_8E2) < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -196,10 +198,14 @@ int updi_physical_sib(PROGRAMMER * pgm, unsigned char * buffer, uint8_t size)
|
||||||
|
|
||||||
int updi_link_open(PROGRAMMER * pgm)
|
int updi_link_open(PROGRAMMER * pgm)
|
||||||
{
|
{
|
||||||
|
unsigned char init_buffer[1];
|
||||||
|
|
||||||
if (updi_physical_open(pgm, pgm->baudrate? pgm->baudrate: 115200, SERIAL_8E2) < 0) {
|
if (updi_physical_open(pgm, pgm->baudrate? pgm->baudrate: 115200, SERIAL_8E2) < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
return updi_physical_send_double_break(pgm);
|
|
||||||
|
init_buffer[0]=UPDI_BREAK;
|
||||||
|
return updi_physical_send(pgm, init_buffer, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void updi_link_close(PROGRAMMER * pgm)
|
void updi_link_close(PROGRAMMER * pgm)
|
||||||
|
|
Loading…
Reference in New Issue