* avrdude.conf.in: added usbpid, usbvid to usbtiny
* usbtiny.[ch]: use usbpid, usbpid if provided in config file
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1134 81a1dc3b-b13d-400b-aceb-764788c761c2
* avrdude.conf.in (avrftdi): fix comments about ACBUS vs. ADBUS;
add a comment that the MPSSE signals are fixed by the FTDI
hardware and cannot be changed
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1133 81a1dc3b-b13d-400b-aceb-764788c761c2
the main data endpoints when being forced so by the USB; this can
happen when attaching the JTAGICE3 to a USB 1.1 connection
* jtag3.c (jtag3_initialize): When detecting a downgraded max
transfer size on the JTAGICE3 (presumably, due to being connected
to USB 1.1 only), bail out as its firmware cannot properly handle
this (by now)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1129 81a1dc3b-b13d-400b-aceb-764788c761c2
(USBDEV_BULK_EP_READ_STK600): new define values
* stk500v2.c (stk600_open): use the STK600 EP values,
as they are different from AVRISPmkII
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1126 81a1dc3b-b13d-400b-aceb-764788c761c2
* jtagmkII.c (jtagmkII_initialize): For Xmega devices, and
firmware >= 7.x, don't trigger a RESET, in order to work around a
firmware bug that appears to be present in at least firmware 7.24
for the Dragon.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1125 81a1dc3b-b13d-400b-aceb-764788c761c2
* avrpart.c: (Dito)
* avrpart.h: (Dito)
* lexer.l: (Dito)
* avrdude.conf.in: Add "ocdrev" key/value pairs, based
on the AS6 XML file information.
* jtag3.c: Use the ocdrev in the parameter block.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1124 81a1dc3b-b13d-400b-aceb-764788c761c2
* jtag3.h: (Dito.)
* jtag3_private.h: Add two new commands
* stk500v2.c: Implement the "MonCon disable" hack that
allows temporarily falling back to ISP when trying to
talk to a part that has debugWIRE enabled
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1123 81a1dc3b-b13d-400b-aceb-764788c761c2
* avrdude.conf.in: Add "jtag3isp" programmer
* jtag3.c: jtag3_setparm() is now public
* jtag3.h: (Dito)
* stk500v2_private.h: Command 0x1D is CMD_SPI_MULTI only
for STK500v2, AVRISPmkII, and JTAGICEmkII; for JTAGICE3,
it's CMD_SET_SCK now; also add CMD_GET_SCK
* avrpart.c (avr_get_output_index): New function
* avrpart.h: (Dito)
* stk500v2.c: Implement the pasthrough programmer glue logic
for JTAGICE3 in ISP mode
* stk500v2.h: (Dito)
* avrdude.1: Document the JTAGICE3 support.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1119 81a1dc3b-b13d-400b-aceb-764788c761c2
m->offset from addr, JTAGICE3 doesn't need it anymore (similar
to JTAGICEmkII with 7+ firmware)
* jtag3.c (jtag3_read_byte): Allow for full-page reads of
EEPROM also for Xmega and debugWIRE, allow for signature
read in debugWIRE
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1117 81a1dc3b-b13d-400b-aceb-764788c761c2
across during development
* jtag3.c: (Dito.)
* usb_libusb.c: Reduce timeouts from 100 to 10 s, still long
enough, but not getting cold feet when something goes wrong.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1116 81a1dc3b-b13d-400b-aceb-764788c761c2
* usbdevs.h: Add defines that mark an event in return
from usb_recv_frame().
* usb_libusb.c: (Dito.)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1115 81a1dc3b-b13d-400b-aceb-764788c761c2
* avrdude.conf.in: Fix page sizes for all Xmega devices,
by cross-checking against Atmel Studio's device XML files
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1112 81a1dc3b-b13d-400b-aceb-764788c761c2
PDI and JTAG).
* jtagmkII.c (jtagmkII_set_xmega_params): Use "fuse1" rather
than "fuse0" memory space to fill in the NVM offset from, as
there is no "fuse0" on some Xmega devices.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1111 81a1dc3b-b13d-400b-aceb-764788c761c2
traces made by Knut Schwichtenberg, and by similarity to
JTAGICEmkII.
Still quite incomplete, just megaAVR/JTAG is done by now.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1109 81a1dc3b-b13d-400b-aceb-764788c761c2
bug #37727 Add support for LM3S811 dev board as a programmer
* lexer.l,config_gram.y: accepting inverted pins at pin lists
syntax: ~num or ~(num,num,...)
* par.c: par_set_many_bits is now usable with inverted pins
* avrftdi.c: fixed wrong index in ftdi_pin_name
* avrdude.conf.in: added programmer lm3s811
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1106 81a1dc3b-b13d-400b-aceb-764788c761c2
No signs are allowed as negative values do not make sense for current config values.
* buspirate.c: include own header file buspirate.h
* doc/.cvsignore: add programmers.texi to ignore list
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1105 81a1dc3b-b13d-400b-aceb-764788c761c2
$(builddir) for generated files, so "make distcheck"
works again.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1104 81a1dc3b-b13d-400b-aceb-764788c761c2
* ft245r.c: added semaphore workaround for MacOS X,
added pthread_testcancel in reader thread
* configure.ac: added check for TYPE_232H in libftdi (not in libftdi < 0.20)
* avrftdi.c: do not use TYPE_232H if not declared
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1101 81a1dc3b-b13d-400b-aceb-764788c761c2
-Error was a result of a mixup between 2232C/D and 2232H
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1099 81a1dc3b-b13d-400b-aceb-764788c761c2
Bugfixes:
-remove ftdi_usb_purge_buffers(), since it does not flush, but clear buffers
-fix bad polling in avrftdi_flash_write() where it was possible to poll a 0xff
value.
Maintenance:
-use #defines from libftdi for MPSSE commands where applicable
-reformat E() and E_VOID() macros
-remove TYPE_* macros
-clean up private structure (remove pin_inversion, type and ftype)
-adds ftdi_pin_name() to turn a (FTDI) pin number to a human readable string
-adds avrftdi_print to encapsulate "if(verbose > c) fprintf()"-idiom
-nicer / better understandable (I hope) output
-removes pin_limit() and adds a member in the private data structure.
TYPE_* macros can be removed; decision is made from (struct ftdi_context).type
-add_pin(s)() functions reworked. parameters are validated first, if everything
is alright, pin_value is modified. pin_inversion mask is not needed; use
PIN_INVERTED instead
-change set_pin(s)(), so that it gets the pin value used by avrdude (and not a
bit mask). This way, PIN_INVERTED is usable and pin_inversion is not needed.
Plus, the interface is consistent with the add_pin() signature. Also move
parameter validation to the start of the function. I also commented out the
warning, that a pin is not defined, because it is annoying.
-clean up avrftdi_open(): first parameter validation, then USB lookup, interface
initialization then pin setup
-avrftdi_eeprom_read/write() and avrftdi_flash_read/write(): convert to new
calling scheme, where every paged_* function is called once for every page
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1098 81a1dc3b-b13d-400b-aceb-764788c761c2
Renames pin_name() from avrpart.c to avr_pin_name() and adds a
(globally visible)declaration in avrpart.h
The function takes an integer argument from the pin-enum in pindefs.h and
converts it to a string. The returned string corresponds to the pin names used
in avrdude.conf.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1095 81a1dc3b-b13d-400b-aceb-764788c761c2
fix breakage introduced by the recent page handling reorg;
it used to cause an infinite loop
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1091 81a1dc3b-b13d-400b-aceb-764788c761c2