* pickit.c (usb_open_device): Use %p rather than %X to print "handle"
which is a pointer
* jtag3.c (jtag3_initialize): Initialize "flashsize" to be sure it
proceeds with a valid value.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1197 81a1dc3b-b13d-400b-aceb-764788c761c2
* buspirate.c: Turn the "cmd" argument of the various methods into
a "const unsigned char *"; while doing this, declare all arrays being
passed as arguments to be pointers rather than arrays, as the latter
obfuscates the way arrays are being passed to a callee in C.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1196 81a1dc3b-b13d-400b-aceb-764788c761c2
to upload an invalid Intel HEX file
* fileio.c (ihex2b): Turn the "No end of file record found" warning
into an error if no valid record was found at all.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1195 81a1dc3b-b13d-400b-aceb-764788c761c2
bug #38713: Compilation of the documentation breaks with texinfo-5
* doc/avrdude.texi: Turn @itemx into @item, add @headitem to STK600
Routing/Socket card table
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1194 81a1dc3b-b13d-400b-aceb-764788c761c2
buffer address.
* usbasp.c (usbasp_tpi_paged_write): Calculate correct
buffer address; don't issue a SECTION_ERASE command for
each page (a CHIP_ERASE has been done before anyway);
remove the code that attempted to handle partial page
writes, as all writes are now done with a full page.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1191 81a1dc3b-b13d-400b-aceb-764788c761c2
* stk500v2.c (stk600_xprog_page_erase): Fix argument that is
passed to stk600_xprog_memtype()
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1188 81a1dc3b-b13d-400b-aceb-764788c761c2
* avrftdi.c, avrftdi_private.h: added additional pin check and bitbanging fallback
* pindefs.[ch]: added a flag to enable/disable output
* ft245r.c: changes because of added flag above
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1184 81a1dc3b-b13d-400b-aceb-764788c761c2
patch #7876 JTAGICE mkII fails to connect to attiny if debugwire
is enabled AND target has a very slow clock
* jtagmkII.c (jtagmkII_getsync): When leaving debugWIRE mode
temporarily, immediately retry with ISP, rather than leaving.
* stk500v2 (stk500v2_program_enable): Implemented similar logic
for the JTAGICE3.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1183 81a1dc3b-b13d-400b-aceb-764788c761c2
* avrftdi*.*: changed include check for libftdi/libusb, deactivate 232H if not available
* ft245r.c: changed include check for libftdi/libusb
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1180 81a1dc3b-b13d-400b-aceb-764788c761c2
* avrdude.conf.in: fixed buff pins of avrftdi programmers (low active buffer need now inverted numbers)
* avrftdi*.*: accept also old libftdi (0.20 still works with it), added powerup to initialize
* ft245r.c: accept libftdi1, code cleanup and make it more similar to avrfdti (os they might be merged someday)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1175 81a1dc3b-b13d-400b-aceb-764788c761c2
avrftdi.c: add pgm->power[up|down] functions and fill
pgm->enable|disable with proper functionality, as suggested by
rliebscher.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1171 81a1dc3b-b13d-400b-aceb-764788c761c2
Use pin_checklist[] of size N_PINS instead N_PINS - 1, to avoid future
problems. Also remove pins_check from set_pin; instead use mask[0] == 0
to check wether to do something or not.
avrftdi_private.h: Change size of pin_checklist[] to N_PINS.
avrftdi.c: Adapt code to new size of pin_checklist. Remove pins_check
from set_pin.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1170 81a1dc3b-b13d-400b-aceb-764788c761c2
otherwise use unsinged long
* ft245r.c: added support for more pin functions led, vcc, buff
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1169 81a1dc3b-b13d-400b-aceb-764788c761c2
Generic function enabling external programming on TPI devices. This
function sets the required guard time (which is passed in as parameter),
checks the TPI identification register, writes SKEY command + SKEY, and
finally polls the NVMEN bit in TPISR.
avr.h: Add prototype definitions of avr_tpi_program_enable() and
avr_tpi_chip_erase().
avrftdi_tpi.c: Removes tpi_skey_cmd array, containing the SKEY command
and the SKEY bytes.
tpi.h: Adds tpi_skey_cmd array, containing the SKEY command and the SKEY
bytes, but in the reverse order of tpi_skey.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1167 81a1dc3b-b13d-400b-aceb-764788c761c2
also change error return value of set_pin from 1 to -1.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1165 81a1dc3b-b13d-400b-aceb-764788c761c2
avrdude.conf.in: Change all programmers' pin definitions to 0-based
avrftdi.c: incorporate new 0-based pindef infrastructure
avrftdi_private.h: Add pin_checklist_t to avrftdi_t for runtime pin
checking in pgm->setpin.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1164 81a1dc3b-b13d-400b-aceb-764788c761c2
* avrpart.[ch]: moved avr_pin_name to pindefs.[ch]
* pgm.c: moved pins_to_str to pindefs.[ch], added initialization of
new pin definitions in pgm_new()
* pindefs.[ch]: added moved functions from other files, added a lot of
documentation, reformatted files using astyle to have consistent spacing,
added a new generic check function for pins
* ft245r.c: used new generic pin check function
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1161 81a1dc3b-b13d-400b-aceb-764788c761c2
* avrftdi.c,buspirate.c,linuxgpio.c,par.c,serbb_*.c: added function call
to fill old pinno entries from new pin definitions.
* pindefs.[hc]: added data struct and helper functions for new pin definitions
* avrdude.conf.in: pins in entries using ftdi_syncbb are now 0-based
* config_gram.y: allow combinations of inverted and non-inverted pins in pin lists
* ft245r.c: reworked to work directly with the new pin definitions,
pins are now 0-based, inverse pins are supported, buff is supported
* pgm.[ch]: added new pin definitions field to programmer structure,
adapted pin display functions
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1160 81a1dc3b-b13d-400b-aceb-764788c761c2
This is not necessary any more, because the "frame" ends in logic 1, so
the pin is high anyway and the MPSSE keeps the pin value as long as it
is idle. Setting the pin low would cause the TPI physical layer in the
AVR part to detect a collision.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1159 81a1dc3b-b13d-400b-aceb-764788c761c2
All I/O of avrftdi_tpi is done in terms of pgm->cmd_tpi() calls instead
of calling avrftdi_tpi_[read,write]_byte() functions directly.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1158 81a1dc3b-b13d-400b-aceb-764788c761c2
avrftdi_private.h, avrftdi.c: remove pdata->guard_bits refernces, since
they are no longer needed
avrftdi_tpi.c: Use fixed guard time of 2 bits, this gives 16 bits per
frame. tpi_byte2frame() and tpi_frame2byte() functions are now
symmetrical and extraction of received data in avrftdi_read_byte is less
complicted. Write the new guard time to the TPI in
avrftdi_tpi_program_enable().
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1150 81a1dc3b-b13d-400b-aceb-764788c761c2
In this function the NVM enable bit in TPISR is written to zero, like
described in AVR918. The reset line is released in avrftdi_close().
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@1149 81a1dc3b-b13d-400b-aceb-764788c761c2