Commit Graph

651 Commits

Author SHA1 Message Date
mludvig f474ab0425 * buspirate.c: Added compatibility with BusPirate "NewUI" firmware 5.x
(contributed by Kari Knuuttila)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@946 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-07-18 13:15:07 +00:00
springob 9c728bff1a * avrdude.conf.in (atmega88p): New device.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@945 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-07-12 15:57:29 +00:00
joerg_wunsch 1e65f77173 bug #29913: 246 Byte Bug - AVRdude crashes
doc/avrdude.texi (Troubleshooting): Mention the libusb 0.1 API
wrapper issue that is present in some Linux versions.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@944 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-06-03 16:18:34 +00:00
joerg_wunsch 59010a4b6f bug #29263: Can't build avrdude on windows using latest cygwin 1.7.1
* doc/avrdude.texi: Remove the recommendation for building
Win32 binaries under Cygwin; mention MinGW as an alternative
environment.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@942 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-03-19 21:33:55 +00:00
mludvig d699f2bbd5 * ser_posix.c(ser_set_dtr_rts): Fixed DTR on/off to make
Arduino auto-reset work. (bug #29108, patch #7100)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@940 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-03-07 21:27:22 +00:00
joerg_wunsch c1d1c99753 Replace printf() by fprintf(stderr)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@939 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-03-05 08:28:42 +00:00
joerg_wunsch 83fa6c7934 Cleanup Cygwin builds.
* windows/Makefile.am (loaddrv_LDFLAGS): remove, the -mno-cygwin
flag is supposed to be set in CFLAGS by ./configure
* configure.ac: add a check for the presence of usleep(), add a
check whether the linker accepts -static
* avrdude.h: protect prototype for usleep by !defined(HAVE_USLEEP)
* ppwin.c (usleep): protect by !defined(HAVE_USLEEP)
* main.c: silence "array subscript of type char" compiler warnings
by casting all arguments to tolower()/toupper() and isspace()/
isdigit()/ispunct() to "int"
* butterfly.c: (Dito.)
* avr910.c: (Dito.)




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@936 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-22 16:40:17 +00:00
joerg_wunsch 1c4db09770 This is the post-5.10 tree now.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@935 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-19 10:42:03 +00:00
joerg_wunsch ffe9655966 bug #28677: Cygwin's GCC no longer supports -mno-cygwin option
* configure.ac: For Win32 environments, add a check whether the
compiler understands the -mno-cygwin option.  If not, don't use
it but suggest using a different compiler.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@930 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-19 10:03:05 +00:00
joerg_wunsch c33c2db3ad Redo most of r851 and r880, respectively, minus the bugs. ;-)
(Submitted by dhoerl)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@929 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-18 20:40:15 +00:00
joerg_wunsch aeed04049b bug #28660: Problem with loading intel hex rom files that exceed
0x10000 bytes
* fileio.c: Revert the changes from r851 and r880, respectively.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@928 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-18 11:05:36 +00:00
joerg_wunsch 4a81bd08e2 Submitted by Michael Biebl:
Fix default serial port name for FreeBSD.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@927 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-17 17:35:30 +00:00
joerg_wunsch b75ab66c85 If entering JTAG mode fails with a bad JTAG ID message, retry with
external reset applied (in case the target is in sleep mode or has
asserted the JTD bit).



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@926 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-17 17:31:10 +00:00
joerg_wunsch db26deb038 Fix build for GNU/kFreeBSD, fix FreeBSD
default serial port name.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@925 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-17 16:58:06 +00:00
joerg_wunsch 88dd40ce2d We are post-release now.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@923 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-15 21:53:42 +00:00
joerg_wunsch cd5a2a9a47 Submitted by Soren Jorvang:
bug #28611: -i delay not being applied to all serial port
bit banging state transitions
* serbb_win32.c: Apply ispdelay everywhere.
* serbb_posix.c: (Dito.)




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@917 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-15 16:40:17 +00:00
joerg_wunsch 46715b4296 Implement TPI mode for AVRISPmkII/STK600.
Add ATtiny4/5/9/10 to avrdude.conf.in.
Document TPI and new device support.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@916 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-15 16:36:13 +00:00
joerg_wunsch 24e0a12960 Submitted by clint fisher:
patch #7038: Adding Atmega32U4 Device to avrdude.conf.in
* avrdude.conf.in (atmega32u4): New device.
* avrdude.1: Document the new device support.
* doc/avrdude.texi: (Dito.)




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@915 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-14 15:26:09 +00:00
joerg_wunsch f94da91610 Submitted by Thomas Pircher:
patch #6927: Documentation patches
* doc/avrdude.texi: Fix various typos, and remove the last
remnants of obsoleted options -i/-o/-m/-f.
* avrdude.1: Merge typo fixes from avrdude.texi where
applicable.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@914 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-14 15:11:47 +00:00
joerg_wunsch 0d8f1889ab * avrdude.1: Update documentation to match the reality (device
support, memory areas).
* doc/avrdude.texi: Update documentation to match the
reality (device support, programmer support, memory areas).
Merge buspirate-specific comments from avrdude.1.
* jtagmkII.c: Add some firmware feature checks.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@913 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-14 13:46:02 +00:00
joerg_wunsch ff687cd21c Implement PDI mode support for the JTAG ICE mkII and the AVR Dragon.
(AVR Dragon not yet verified.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@912 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-13 17:34:18 +00:00
joerg_wunsch 1c96f227e8 Update STK600 routing and socket card data from XML
file.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@911 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-13 12:52:38 +00:00
joerg_wunsch 1429550f8e Cleanup the open/close handling to avoid accessing
unallocated memory (in the atexit handler) in case of bailing out.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@910 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-13 12:44:54 +00:00
joerg_wunsch 3e2e779436 * jtagmkII.c: Stylistic changes: move #defines out into
jtagmkII_private.h, drop all #if 0 blocks, fold overly long lines,
move the *_initpgm() functions to the end of the file; while being
here, remove all trailing whitespace.
* jtagmkII_private.h: move AVR32 #defines here.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@909 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-13 08:37:57 +00:00
joerg_wunsch c879205c05 autoconf 2.62 works well.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@908 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-12 22:27:02 +00:00
joerg_wunsch 814ff25d79 Various fixes for Xmega devices.
* avrdude.conf.in: Correctly declare EEPROM page sizes for
all Xmega devices (0x20 instead of 0x100).
* avr.c: If a memory region has a page size declared, try
using the paged IO routines regardless of the target memory
name.  Xmega EEPROM requires to be written in paged mode.
Correctly use a long (rather than unsigned long) variable to
evaluate the success status of the paged mode write attempt.
* stk500v2.c: Don't apply TIF space offsets twice (bug #27995:
AVRDUDE 5.8svn fails to program and read XMEGA); use
stk500v2_loadaddr() prior to paged mode (EEPROM and flash) writes,
otherwise programming of flash areas will fail; while being there,
check the return value of stk500v2_loadaddr() everywhere; use the
correct write/erase mode bits (same as AVR Studio does).



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@907 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-12 15:42:40 +00:00
mludvig d5023fbd6d * buspirate.c: Initialise firmware version to v0.0
prior to parsing the buspirate banner.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@906 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-12 09:52:40 +00:00
joerg_wunsch 5279d55b9e After erasing an Xmega part, do *not* reinitialize the world, as a
subsequent programming operation will fail (for unknown reasons).
Actually, this was really only required for ancient AVRs, but doesn't
hurt on mega and tiny devices.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@904 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-11 16:04:29 +00:00
joerg_wunsch b827263faa Clean-up the Xmega erase functions.
* jtagmkII_private.h: Add CMND_XMEGA_ERASE as well as
the various XMEGA_ERASE_* definitions (from updated
appnote AVR067)
* jtagmkII.c (jtagmkII_chip_erase): Correctly implement
Xmega chip erase based on CMND_XMEGA_ERASE.
* jtagmkII.c (jtagmkII_pre_write): Remove, this turned out
to be just a chip erase.
* jtagmkII.c (jtagmkII_program_disable): Don't try reading
"hfuse" for Xmega parts; they don't have it.
* main.c (main): Re-enable auto-erase.  It's been done
before (as "jtagmkII_pre_write") in jtagmkII_paged_write()
anyway.  Xmega boot and application flash areas should be
handled separately in the future, so auto_erase can only
affect the area just being programmed.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@903 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-11 15:27:44 +00:00
joerg_wunsch 5dceef2b5c Disable safemode for Xmega parts.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@902 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-11 14:29:26 +00:00
mludvig 5c17edc5a9 * buspirate.c: If the BusPirate doesn't respond
to a standard a reset command assume it was in binmode
	and attempt to exit to text mode first.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@901 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-11 12:19:15 +00:00
joerg_wunsch d10c930a25 * bitbang.c: Fix Win32 build error: move freq up to the file
level.
* buspirate.c: Fix Win32 build warning: include <malloc.h> to
to get a declaration for alloca().




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@898 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-08 20:02:35 +00:00
fischl 6a17d2ca34 bug #28520: Programming with USBasp with low clock speed fails
* usbasp.c: Change blocksize depending on sck frequency to avoid usb transmition timeouts.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@897 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-08 18:33:23 +00:00
joerg_wunsch 4b515d005c bug #27505: serbb_posix does not cope with inverted pins
* serbb_posix (serbb_highpulsepin): apply PIN_MASK when
checking pin numbers.
* serbb_win32 (serbb_highpulsepin): (Dito.)




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@896 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-08 16:31:54 +00:00
joerg_wunsch ad8b6a45da bug #28516: Linux/Dragon: Error message on exit
* stk500v2.c: Fix the "bad response to GO command:
RSP_ILLEGAL_EMULATOR_MODE" message.  jtagmkII_close()
has been called with the wrong pgm->cookie.  Wrap it
inside stk500v2_jtagmkII_close(), adjusting the cookie
data appropriately.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@895 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-08 16:01:37 +00:00
joerg_wunsch 9829add3ca Submitted by Doug:
patch #7010: Win32 enhanced bitbang_delay
* bitbang.c (bitbang_calibrate_delay, bitbang_delay): On Win32,
use the high-resolution performance counter rather than the
uneducated delay loop guess if it is available on the target
hardware.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@894 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-08 14:50:22 +00:00
joerg_wunsch d73178474f Annual changelog rotation.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@891 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-08 10:41:27 +00:00
joerg_wunsch 67769dcccf Submitted by Gerard:
patch #6828: Using arbitrary BAUD rates
* ser_posix.c (serial_baud_lookup): Allow non-standard baud
rates.
* ser_win32.c (serial_baud_lookup): (Dito.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@890 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-08 10:39:18 +00:00
joerg_wunsch f1ed77afc2 Submitted by Eric Trein:
bug #27596: AT90s2333 is not correctly supported in avrdude.conf
* avrdude.conf.in (at90s2333): add various STK500v2 parameters.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@889 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-07 16:34:58 +00:00
joerg_wunsch f20836f698 bug #28458: Buffer line is incorrectly released for PP programmers
* par.c (par_close): use par_setmany() rather than par_setpin()
for PPI_AVR_BUFF.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@888 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-07 16:23:28 +00:00
joerg_wunsch 626ff0dd8b bug #27507: SIGSEGV when using avrdragon (avrdude 5.8)
* stk500v2.c (stk500v2_dragon_isp_initpgm): Use
stk500v2_jtagmkII_setup/stk500v2_jtagmkII_rather than their
jtagII counterparts, to get the private data properly
initialized.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@887 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-07 15:53:50 +00:00
joerg_wunsch bfc1d53b3e Cosmetics: adjust for 8-column hard tabs, remove UTF-8 dashes.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@886 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-07 13:30:44 +00:00
joerg_wunsch d94ec4f39f Add $Id$ line.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@885 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-07 13:29:49 +00:00
joerg_wunsch 17b3ea17b5 Add $Id$ line.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@883 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-07 13:16:38 +00:00
joerg_wunsch 31b4ffcca7 Fix a few warnings that came up recently (some of them only triggered
by recent GCC versions).
* config_gram.y (parse_cmdbits): "brkt possibly used uninitialized"
(GCC errs here)
* jtagmkII.c (jtagmkII_reset32): "status possibly used uninitialized"
(I think GCC errs, too)
* buspirate.c: "pointers differ in signedness" (mismatch between
string processing and the use of "unsigned char" throughought the
AVRDUDE API)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@882 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-07 13:13:02 +00:00
joerg_wunsch 9e02e561fa jtagmkII_smc_init32(): replace sleep() by usleep() for
win32 compatibility.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@881 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-01 08:55:33 +00:00
dhoerl 3e7897371a * fileio.c: ihex2bin did not properly handle files > 64K bytes
* usb_libusb.c: re-enabled usb_reset for Macs (no reset causes lots of failures)
* avrdude.1: spacing issue for ucr2 fixed.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@880 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-11-29 20:19:15 +00:00
mludvig 7d1ea872cd * buspirate.c: Implemented reset= and speed= extended parameters.
* avrdude.1: Document the change.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@879 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-11-09 02:18:40 +00:00
mludvig 63eb9668fd * configure.ac, Makefile.am: Test if GCC accepts -Wno-pointer-sign
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@878 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-11-04 23:42:16 +00:00
mludvig fd1c9b4910 * avrdude.1: Added info about BusPirate.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@877 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-11-04 03:32:55 +00:00
mludvig d89999417e * buspirate.c: Implemented 'BinMode' support for
firmware 2.7 and higher.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@876 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-11-04 03:14:17 +00:00
mludvig 3f8491d3d6 * Makefile.am: Silent warnings about signedness - they're useless
and annoying, especially for 'char' vars.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@875 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-11-03 03:29:11 +00:00
mludvig 1b4ba95e3c * arduino.c: Add on to bug #26703 / patch #6866 - clear DTR/RTS
when closing the port.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@874 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-11-02 23:52:52 +00:00
dhoerl e984f82979 bug #22271 (project avrdude) - disable usb_reset() for Macs (was just FreeBSD)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@873 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-10-22 19:48:01 +00:00
mludvig d1f8ac6638 * main.c: Re-added default to serial port for BusPirate.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@872 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-10-12 23:31:05 +00:00
dhoerl ee73e2e873 avr32 cleanup, now does flash read and verify
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@870 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-10-12 16:44:30 +00:00
dhoerl 14121a5d51 avr32 information
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@868 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-10-12 14:18:28 +00:00
mludvig 2dbc1647ad * buspirate.c: Replace GNU-only %as with %s in sscanf call.
* ser_win32.c(ser_set_dtr_rts): Fixed typo in parameter name.
	* NEWS: Announce BusPirate.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@865 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-10-12 06:51:53 +00:00
mludvig 328314aae3 Support for Arduino auto-reset:
* serial.h, ser_avrdoper.c, ser_posix.c, ser_win32.c: Added 
	  serial_device.set_dtr_rts implementations.
	* arduino.c, stk500.c, stk500.h: Call serial_set_dtr_rts()
	  to reset Arduino board before program upload.
	Inspired by patch #6866, resolves bug #26703



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@845 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-10-10 01:41:40 +00:00
mludvig bfa9f07aa2 * buspirate.c: Optimised buspirate_cmd() - reading 1kB EEPROM now
takes only 14 sec instead of almost 2 mins with the original
  implementation.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@844 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-10-08 05:00:41 +00:00
mludvig fa7829bcd7 Added support for the BusPirate programmer.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@842 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-10-08 02:05:03 +00:00
joerg_wunsch 5b51a2fdcb usbdev_close(): Repair the logic around the
conditional compilation of usb_reset() introduced in r798.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@841 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-08-17 04:15:08 +00:00
joerg_wunsch 58f7e0f2ab AVRDUDE 5.8 is done now.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@840 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-10 23:06:04 +00:00
joerg_wunsch 0d527175b0 AVRDUDE 5.8 is around the corner.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@838 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-10 22:52:02 +00:00
joerg_wunsch 7f797a9d16 Submitted by Roger Wolff:
bug #26527: bug in unicode conversion
* ser_avrdoper.c (convertUniToAscii): when encountering a UTF-16
character that cannot be converted to ASCII, increment the UTF-16
pointer anyway when proceeding.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@837 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-10 22:48:48 +00:00
joerg_wunsch 162f815820 * jtagmkI.c (jtagmkI_send): Replace %zd format by %u since not all
implementations do understand the C99 formatting options (sigh).
* jtagmkII.c (jtagmkII_send): (Ditto.)
* stk500v2.c (stk500v2_recv): (Ditto.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@836 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-10 22:39:37 +00:00
joerg_wunsch 9837547418 bug #26002: HVPP of EEPROM with AVR Dragon and ATmega8 Fails
Add page size for ATmega8 EEPROM.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@835 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-10 22:22:22 +00:00
joerg_wunsch 4f753c3bd8 Fix a serious memory corruption problem resulting
out of the chaining of both, the stk500v2 and the jtagmkII
programmers for some programming hardware (JTAG ICE mkII and AVR
Dragon running in ISP, HVSP or PP mode), where both programmers
have to maintain their private programmer data.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@834 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-06 22:10:20 +00:00
joerg_wunsch fb7a640d75 Post-release 5.7.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@833 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-02 12:01:21 +00:00
joerg_wunsch a13d67fae9 Prepare for releasing version 5.7.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@830 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-02 11:43:46 +00:00
joerg_wunsch ae704584a1 Add my name to the copyright output when being verbose.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@829 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-02 11:26:29 +00:00
joerg_wunsch ba64ab5840 Contributed by Shaun Jackman <sjackman@gmail.com>
bug #21798: Fix both XSLT scripts
* tools/get-dw-params.xsl (format-hex): Add the parameter count.
* tools/get-hv-params.xsl (format_cstack): Ditto.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@828 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-02 10:49:19 +00:00
joerg_wunsch 990e35fb76 bug #21922: ATmega163 still not working in version 5.5
* avrdude.conf.in (atmega163): fill in stk500v2 parameters, correct
some flash programming parameters as well.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@827 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-02 10:45:53 +00:00
joerg_wunsch 88bc983e34 bug #22206: avrdude: ser_setspeed(): tcsetattr() failed
* ser_posix.c (ser_setspeed): Don't pass TCSAFLUSH to tcsetattr() as
it apparently fails to work on Solaris.  After reading the
documentation again, it seems TCSAFLUSH and TCSANOW are indeed
mutually exclusive.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@826 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-02 10:31:13 +00:00
joerg_wunsch 53720166dd bug #22234: WINDOWS version: HOWTO: Specify Serial Ports Larger than COM9
* ser_win32.c (ser_open): prepend \\.\ to any COM port name, so it is
safe to be used for COM ports above 9.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@825 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-02 10:23:57 +00:00
joerg_wunsch b34a183267 bug #26408: Crash in stk500v2_open()
* stk500generic.c: Implement setup and teardown hooks, calling in turn
the respective hooks of the stk500v2 implementation.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@824 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-02 09:11:45 +00:00
joerg_wunsch b770fc170e bug #26130: Avrdude doesn't display it's version.
* main.c (usage): add a version number display to the default usage
message.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@823 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-02 08:42:14 +00:00
joerg_wunsch 735371e9ba bug #26412: avrdude segfaults when called with a programmer that does not
support it

Do not call pgm->perform_osccal() unless it is != 0.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@822 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-07-01 16:08:49 +00:00
joerg_wunsch 366db1ab6e Contributed by Zoltan Laday:
patch #6825: xmega problems with JTAGICEmkII
* jtagmkII.c: Many fixes for Xmega devices.
* jtagmkII_private.h: Add various new constants required for
Xmega devices.
* avrdude.conf.in: New devices: ATXMEGA64A1, ATXMEGA192A1,
ATXMEGA256A1, ATXMEGA64A3, ATXMEGA128A3, ATXMEGA192A3,
ATXMEGA256A3, ATXMEGA256A3B, ATXMEGA16A4, ATXMEGA32A4,
ATXMEGA64A4, ATXMEGA128A4
* avr.c (avr_read, avr_write): Add more names for (Xmega)
memory areas that require paged operation.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@821 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-06-24 21:32:12 +00:00
joerg_wunsch e3e7711e29 Handle writing fuse bytes (on the Xmega).
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@820 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-06-24 21:18:36 +00:00
joerg_wunsch 52321cc73e Submitted by Carl Hamilton:
* update.c (parse_op): correctly \0-terminate buf after filling
it, before it is potentially used as the source of a call to
strlen or strcpy.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@819 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-04-28 18:35:14 +00:00
joerg_wunsch be3f603c3d Merge the -P 0xXXX option description from
avrdude.1.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@818 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-04-14 18:54:20 +00:00
joerg_wunsch 68e0d577df declare AM_PROG_CC_C_O to avoid the warning
"compiling `config_gram.c' with per-target flags
requires `AM_PROG_CC_C_O' in `configure.ac'"


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@817 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-04-14 18:51:26 +00:00
joerg_wunsch bc875c1e35 bug #25971: "error writing to <stdout>" with multiple -U params.
* fileio.c: Do not close the input/output stream when working on an
stdio stream.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@816 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-03-22 21:28:46 +00:00
fischl 17b9ad4f64 Based on patch #6484 commited by Jurgis Brigmanis:
* usbasp.c: added software control for ISP speed
* usbasp.h: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@815 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-28 13:10:47 +00:00
joerg_wunsch 4a5715d348 * avr910.c (avr910_read_byte_flash): Eliminate a static variable that
hasn't been in use for 5 years.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@814 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-28 10:07:01 +00:00
joerg_wunsch 8d5144558b AVRDUDE 5.6 is history now.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@813 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-27 10:34:24 +00:00
joerg_wunsch 7588085eee Prepare for releasing version 5.6.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@811 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-27 10:31:33 +00:00
joerg_wunsch 0cd7038965 Submitted by Ed Okerson:
* jtagmkII.c (jtagmkII_read_byte): Fix signature reading of
Xmega.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@810 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-27 08:29:30 +00:00
joerg_wunsch e248e5fab8 Submitted by Mikael Hermansson:
* avrdude.conf.in (ATxmega256A3): new device.
* stk500v2 (stk500v2_initialize): Enable the AVRISPmkII as a
PDI-capable device for ATxmega parts.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@809 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-26 19:43:55 +00:00
joerg_wunsch e41d85664d Submitted by Lars Immisch:
patch #6750: Arduino support - new programmer-id
* arduino.c: New file, inherits stk500.c.
* arduino.h: New file.
* Makefile.am: Add arduino.c and arduino.h.
* config_gram.y: Add arduino keyword.
* lexer.l: (Ditto.)
* avrdude.conf.in: (Ditto.)
* avrdude.1: Document the new programmer type.
* doc/avrdude.texi: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@808 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-25 09:39:04 +00:00
joerg_wunsch 79f953d86d Turn all non-const static data into instance data.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@807 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-25 09:20:38 +00:00
joerg_wunsch 7905986046 Move term.[ch] from the library into the CLI application section, as
it is not useful for anything else but the CLI frontend.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@806 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-25 08:00:14 +00:00
joerg_wunsch d694c1ff5d Add support for the ATmega1284P.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@805 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-25 07:51:04 +00:00
joerg_wunsch 4efcddea7f More fixes for Solaris, including fixes for the Sunpro compiler:
* avr.h: Remove stray semicolon.
* configure.ac: Add check for predefined types uint_t and ulong_t.
* confwin.c: Include "avrdude.h" on top to avoid empty translation
unit warning.
* ppwin.c: (Ditto.)
* ser_win32.c: (Ditto.)
* serbb_win32.c: (Ditto.)
* jtagmkII.c (jtagmkII_recv): remove unreachable "return".
* stk500.c (stk500_initialize): (Ditto.)
* par.c: Test for both, __sun__ and __sun to see whether we are
being compiled on Solaris.
* ppi.c: (Ditto.)
* stk500v2.c: Implement the DEBUG and DEBUGRECV macros in a way
that is compatible with the ISO C99 standard.
* usbtiny.c: Only typedef uint_t and ulong_t if they have not
been found already by the autoconf checks.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@804 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-23 22:04:57 +00:00
joerg_wunsch 7d961bad86 bug #22204: Solaris10/11 Undefiniertes Symbol gethostbyname socket
connect
* configure.ac: Add checks for gethostent() and socket().
While being here, remove some old cruft left from ancient days.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@803 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-23 21:36:04 +00:00
joerg_wunsch c6430d4574 Bump the %p size so AT&T lex will continue to work.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@802 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-22 21:36:24 +00:00
joerg_wunsch 76782e4838 (Partially) submitted by John Voltz:
bug #20004: AVRDUDE update (-U) operations do not close files
* fileio.c (fmt_autodetect, fileio): fclose() files.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@801 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-19 10:49:55 +00:00
joerg_wunsch 81faade20a Replace all but one (very unlikely to trigger) exit(1)
by return -1.  exit(1) from a library function is not going to make
many friends upstream (in particular the day someone uses that as
part of a GUI frontend).


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@800 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-18 20:20:56 +00:00
joerg_wunsch 1c20a074e3 Submitted by Dick Streefland:
patch #6749: make reading from the USBtinyISP programmer more robust

Add code to retry failed communication attempts.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@799 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-18 20:10:32 +00:00
joerg_wunsch 4f4b1bce93 Submitted by Nick Hibma:
bug #22271: usb_reset in usb_libusb.c not necessary in FreeBSD 6.x
* usb_libusb.c (usbdev_close): Do not call usb_reset() on FreeBSD.
It is not necessary there.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@798 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-17 17:09:53 +00:00
joerg_wunsch 3815878ed1 Submitted by Andrew O. Shadoura:
bug #25156: add direct SPI transfer mode
* bitbang.c: Implement direct SPI transfers.
* bitbang.h: (Ditto.)
* par.c: (Ditto.)
* pgm.c: (Ditto.)
* pgm.h: (Ditto.)
* term.c: Add the "spi" and "pgm" commands.
* avrdude.1: Document the changes.
* doc/avrdude.texi: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@797 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-17 15:31:27 +00:00
joerg_wunsch 82ae3b3eda Submitted by Limor ("Lady Ada"):
bug #24749: add support for '328p
* avrdude.conf.in (ATmega328P): new device support.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@796 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-17 14:17:53 +00:00
joerg_wunsch c4e691500c Submitted by "Womo":
bug #25241: AT90USB162, AT90USB82 device support patch for avrdude-5.5
(also: bug #21745: AT90USBxx2 support)
* avrdude.conf.in (AT90USB162, AT90USB82): new device support.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@795 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-17 13:45:07 +00:00
joerg_wunsch 5dcd1c8d8f Submitted by Evangelos Arkalis:
patch #6069: Atmel AT89ISP Cable
* avrdude.conf.in (89isp): new programmer support.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@794 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-17 12:43:05 +00:00
joerg_wunsch e7618c8372 Submitted by Bob Paddock:
patch #6748: ATTiny88 Config
* avrdude.conf.in (ATtiny88): new device support.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@793 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-16 13:28:55 +00:00
joerg_wunsch 6850642ff6 Submitted by Mark Litwack:
patch #6261: avrdude won't use dragon/debugwire to write a file
to eeprom
* jtagmkII.c (jtagmkII_paged_write): when in debugWire mode,
implement a paged write to EEPROM as a series of byte writes.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@792 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-16 12:26:44 +00:00
joerg_wunsch b92116d17a Submitted by Janos Sallai:
patch #6542: paged_load fails on the MIB510 programming board
* stk500.c: Add a workaround for the different signon sequence on
MIB510 programmers.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@791 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-16 10:19:46 +00:00
joerg_wunsch 13edd1c5b6 Add the ATmega128RFA1, and document this.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@790 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-05 16:20:29 +00:00
joerg_wunsch d42173f65b Annual changelog rotation.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@789 81a1dc3b-b13d-400b-aceb-764788c761c2
2009-02-05 16:17:57 +00:00
joerg_wunsch 6c78084ff9 Change the prototype for usleep() to be more Cygwin-friendly.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@788 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-11-19 23:32:30 +00:00
joerg_wunsch dffa4b7f5a Submitted by limor <limor@ladyada.net>
* usbtiny.c (usbtiny_cmd): Replace sizeof() by a fixed constant
4 for the result array, because otherwise it would take the size
of a pointer which miserably fails on 64-bit machines.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@787 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-11-06 09:47:37 +00:00
joerg_wunsch 6904c732f4 patch #6609: Using PCI parallel port cards on Windows
* ppiwin.c (ppi_open): If the port parameter passed from the
-p option is neither lpt1/2/3, try interpreting it directly as
a base address.
* avrdude.1: Document the change.
* doc/avrdude.texi: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@786 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-11-05 20:53:51 +00:00
joerg_wunsch fb4637904f bug #22882: Erase Cycle Counter does not work for stk500v2
* stk500v2.c (stk500v2_chip_erase,stk500hv_chip_erase): Return
the expected 0 for success rather than a protocol-dependant
number.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@785 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-11-04 13:15:21 +00:00
joerg_wunsch 3a3f9f2e44 bug #22883: Chip Erase performed even with no-write flag (-n)
Do not erase the chip if both, -e and -n options have
been specified.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@784 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-11-04 12:10:28 +00:00
joerg_wunsch df637ee942 bug #24589: AT90USB64* have wrong signature
Uncomment the correct, and delete the wrong signature for
AT90USB646/647.  Alas, the datasheet has never been corrected for
years.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@782 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-11-04 11:02:32 +00:00
joerg_wunsch b1f7fa0353 Fix a serious memory corruption that happened when using the JTAG ICE
mkII (or AVR Dragon) in ISP mode.  The wrong set of per-programmer
private data had been allocated (stk500v2 vs. jtagmkII) which was too
small to hold the actual data.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@781 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-10-31 21:26:06 +00:00
joerg_wunsch 50ef8a71b3 This change actually dates back to July 29: add preliminary support
for Xmega programming using the JTAG ICE mkII in JTAG mode.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@780 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-10-31 21:16:46 +00:00
joerg_wunsch a37bbfab57 * main.c: Remember whether the device initialization worked, and
allow to continue with -F if it failed yet do not attempt to
perform anything on the device itself.  That way, -tF could be
specified for programmers like the STK500/STK600 even without a
device connected, just in order to allow changing parameters on
the programmer itself.
* avrdude.1: Document that possible use of the -F option.
* doc/avrdude.texi: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@779 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-07-29 21:26:55 +00:00
joerg_wunsch e7808ca80f * stk500v2.c (stk600_xprog_paged_write): Fix a fatal miscalculation
of the number of bytes to be written which caused a malloc chunk
corruption.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@778 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-07-29 08:39:15 +00:00
joerg_wunsch 15fc8af421 First implementation of ATxmega support. By now, only the
PDI mode of the STK600 is supported.  Single-byte EEPROM
(and flash) updates do not work yet.
* avr.c: "boot" memory is a candidate memory region for paged
operations, besides "flash" and "eeprom".
* avrdude.conf.in: add ATxmega128A1 and ATxmega128A1revD
* avrpart.h: add the AVRPART_HAS_PDI flag (used to distinguish
ATxmega parts from classic AVRs), the nvm_base part field, and
the offset field for a memory region.
* config_gram.y: add "has_pdi", "nvm_base", and "offset"
* lexer.l: (Ditto.)
* main.c: disable auto_erase for ATxmega parts
* stk500v2.c: implement the XPROG functionality, and divert to
this for ATxmega parts
* avrdude.1: Document the changes.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@777 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-07-26 22:53:40 +00:00
joerg_wunsch 0b81ac2661 Fix yet another warning:
* ser_avrdoper.c (usbGetReport): remove useless pointer deref


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@776 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-07-26 06:04:30 +00:00
joerg_wunsch f55a48ea3b Fix a bunch of warnings.
* avr910.c (avr910_paged_load): possible unitialized use of
rd_size
* jtagmkI.c (jtagmkI_initialize): pointer signedness mixup
* jtagmkII.c (jtagmkII_print_parms1): propagate const'ness
of parameter
* usbasp.c (usbasp_transmit): poiner signedness mixup


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@775 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-07-25 21:14:43 +00:00
joerg_wunsch 361943769e Contributed by Ville Voipio:
patch #6501: New autotools support for avrdude
* Makefile.am: add @WINDOWS_DIRS@ to SUBDIR
* bootstrap: allow for autconf-2.61 and automake-1.10, too
* configure.ac: fix @WINDOWS_DIRS@ recursion, replace
AC_PROG_CC by AM_PROG_CC_C_O, for esoteric reasons


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@774 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-07-25 21:06:55 +00:00
joerg_wunsch 7f910d3be0 Contributed by Janos Sallai <janos.sallai@vanderbilt.edu>:
patch #6074: added support for crossbow's MIB510 programmer
* avrdude.conf.in: Add entry for mib510.
* stk500.c: Add special hooks to handle the MIB510 programmer.
It mostly talks STK500v1 protocol but has a special hello and
goodbye sequence, and uses a fixed block size of 256 bytes.
* doc/avrdude.texi: Document support for mib510.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@773 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-06-13 21:19:46 +00:00
joerg_wunsch 95cdd4dcb4 Contributed by Klaus Leidinger <klaus@mikrocontroller-projekte.de>:
* main.c: Realign verbose messages.
* avrpart.c: (Ditto.)
* avr910.c: Print the device code selected in verbose mode.
* butterfly.c: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@772 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-06-07 21:03:41 +00:00
joerg_wunsch 95200e0522 Contributed by Klaus Leidinger <klaus@mikrocontroller-projekte.de>:
Add check for buffermode feature, and use it if present.  Can be
turned off using -x no_blockmode.
* avr910.c: Implement buffermode test and usage.
* avrdude.1: Document -x no_blockmode.
* doc/avrdude.texi: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@771 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-06-07 20:55:04 +00:00
joerg_wunsch 48d2691469 #undef interface for Win32
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@770 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-03-29 22:10:11 +00:00
joerg_wunsch da0f0105bb Add support for the -x devcode option, and document it.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@769 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-03-24 21:22:04 +00:00
joerg_wunsch 8b391a8150 Add initial support for the Atmel STK600, for
"classic" AVRs (AT90, ATtiny, ATmega) in both,
ISP and high-voltage programming modes.
* Makefile.am: Add -lm.
* avrdude.conf.in: Add stk600, stk600pp, and stk600hvsp.
* config_gram.y: Add support for the stk600* keywords.
* lexer.l: (Ditto.)
* pgm.h: Add the "chan" parameter to set_varef().
* stk500.c: (Ditto.)
* serial.h: Add USB endpoint support to struct filedescriptor.
* stk500v2.c: Implement the meat of the STK600 support.
* stk500v2.h: Add new prototypes for stk600*() programmers.
* stk500v2_private.h: Add new constants used in the STK600.
* term.c: Add AREF channel support.
* usb_libusb.c: Automatically determine the correct write
endpoint ID, the STK600 uses 0x83 while all other tools use
0x82.  Propagate the EP to use through struct filedescriptor.
* usbdevs.h: Add the STK600 USB product ID.
* tools/get-stk600-cards.xsl: XSL transformation for
targetboards.xml to obtain the list of socket and routing
card IDs, to be used in stk500v2.c (for displaying the
names).
* tools/get-stk600-devices.xsl: XSL transformation for
targetboards.xml to obtain the table of socket/routing cards
and their respective AVR device support for doc/avrdude.texi.
* avrdude.1: Document all the STK600 stuff.
* doc/avrdude.texi: Ditto.  Added a new chapter for
Programmer Specific Information.

Thanks to Eirik Rasmussen from Atmel Norway for his support in
getting this code running within that short amount of time!


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@768 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-03-14 13:00:08 +00:00
joerg_wunsch a2b4d753da stk500v2_recv(): Make length computation unsigned so
it cannot accidentally become negative.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@767 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-01-26 08:01:51 +00:00
joerg_wunsch 68a527ade6 ChangeLog rotation for 2007->2008 transition.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@766 81a1dc3b-b13d-400b-aceb-764788c761c2
2008-01-26 07:59:07 +00:00
joerg_wunsch 56783f0ac2 Partially revert the line buffered output change,
and turn stderr into unbuffered output while producing the
progress report.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@765 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-11-08 22:34:36 +00:00
joerg_wunsch 7d70684811 main.c, pgm.c, pgm.h: Add setup and teardown hooks to the programmer
definition.  If present, call the setup hook immediately after finding
the respective programmer object, and schedule the teardown hook to be
called upon exit.  This allows the programmer implementation to
dynamically allocate private programmer data.

avr910.c, butterfly.c, jtagmkI.c, jtagmkII.c, stk500v2.c, usbasp.c,
usbtiny.c: Convert static programmer data into dynamically allocated
data.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@764 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-11-07 20:36:12 +00:00
joerg_wunsch 2b6a3f7614 Remove the no_show_func_info() calls, as Brian
promised some 4 years ago.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@763 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-11-06 21:00:33 +00:00
joerg_wunsch d8ad5577eb Fix whitespace in previous commit.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@762 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-11-06 19:42:52 +00:00
joerg_wunsch 0c8bd41a10 main.c, pgm.c, pgm.h: Add the -x option to pass extended parameters to
the programmer backend.

jtagmkII.c: Implement the extended parameter jtagchain=
to support JTAG daisy-chains.

avrdude.1, doc/avrdude.texi: Document all of the above.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@761 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-11-06 19:42:16 +00:00
joerg_wunsch 6a54d14f43 We are post 5.5 now.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@760 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-10-29 23:08:37 +00:00
joerg_wunsch 3d024b2a67 Prepare for releasing avrdude 5.5.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@758 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-10-29 23:00:12 +00:00
joerg_wunsch 5b57948a0d Submitted by <bikenomad@gmail.com>:
patch #5007: Patch for line-buffering of stdout and stderr


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@757 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-10-29 22:46:45 +00:00
joerg_wunsch 916359ccf0 Submitted by <graceindustries@gmail.com>:
patch #5953: Add AT90CAN64 and AT90CAN32 to avrdude.conf


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@756 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-10-29 22:43:00 +00:00
joerg_wunsch 3a69fb7f64 Submitted by Wolfgang Moser:
patch #6121: ISP support for the C2N232I device (serial port
bitbanging)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@755 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-10-29 22:37:38 +00:00
joerg_wunsch 762a1ffcee Submitted by <karl.yerkes@gmail.com>:
patch #6141: accept binary format immediate values

Detect a 0b prefix, and call strtoul() differently in that case.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@754 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-10-29 22:30:59 +00:00
joerg_wunsch 085b645442 bug #21076: -vvvv serial receive prints are empty in Win32 build
In ser_recv(): Drop the essentially unused variable "len", and use the
variable "read" in order to track how many bytes have just been read
in.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@753 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-10-29 21:51:07 +00:00
joerg_wunsch 22bf998615 bug #21145: atmega329p not recognized
Add definitions for the ATmega329P/3290P.  Same as ATmega329/3290
except of the different signature.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@752 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-10-29 21:45:22 +00:00
joerg_wunsch 2105f5f844 bug #21152: Unable to program atmega324p with avrdude 5.4 and AVRISP
using default configuration file.

Uncomment the (bogus) stk500_devcode lines for the ATmega164P,
ATmega324P, ATmega644, and ATmega644P definitions.  This only affects
users of STK500v1 firmware.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@750 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-10-29 21:24:28 +00:00
joerg_wunsch eb27298b5d Submitted by <ladyada@gmail.com>:
Patch #6233: Add support for USBtinyISP programmer
* usbtiny.c: New file.
* usbtiny.h: (Ditto.)
* Makefile.am: Include usbtiny into the build.
* avrdude.conf.in: (Ditto.)
* config_gram.y: (Ditto.)
* lexer.l: (Ditto.)
* avrdude.1: Document the usbtiny support.
* doc/avrdude.texi: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@749 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-10-29 18:03:02 +00:00
joerg_wunsch be94329a8e Sort list of supported programmers into
alphabetical order, add all missing programmers.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@747 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-10-29 16:17:01 +00:00
fischl c3d9d97ee1 usbasp.c: Added long addresses to support devices with more than 64kB (bug #20558)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@746 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-07-24 16:43:25 +00:00
joerg_wunsch cf45cb52ab Add ChangeLog-2004-2006 to EXTRA_DIST.
Pointed out by Michael Holzt.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@745 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-06-27 20:44:25 +00:00
joerg_wunsch 898ba4bb79 We are post-release.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@744 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-05-16 21:54:21 +00:00
joerg_wunsch da508ed7db Bump version, releasing avrdude-5.4.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@741 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-05-16 21:40:21 +00:00
joerg_wunsch a60fc98584 Fix AVR910 devcodes. It seems that the AVR109 listing refers to
"BOOT"-type code, while the standard codes are different (usually one
below).


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@740 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-05-16 21:29:36 +00:00
joerg_wunsch 036bfc95b5 In avr_read() and avr_write(), only use the paged_load and
paged_write backend functions iff the memory area in question has
a page_size != 0.

This is supposed to fix bug #19234: avrdude-5.3.1 segfaults when
stk500v1 tries to program an ATtiny15


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@739 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-05-16 20:15:13 +00:00
joerg_wunsch 7ca9fac139 Fall back to avr_{read,write}_byte_default().
Fixes bug #18803: Fuse reading regression in avrdude 5.3.1 with avr910
programmer


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@738 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-05-15 22:00:29 +00:00
joerg_wunsch 058a51a416 Rename the ATmega164 and ATmega324 into ATmega164P and ATmega324P,
resp.  Add an entry for the ATmega644P.

Fixes bug #19769: ATmega164p not recognized


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@737 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-05-15 20:39:40 +00:00
joerg_wunsch effa0a16cd In ser_send(), don't select() on the output fd before trying to write
something to the serial line.  That kind of polling isn't very useful
anyway, and it seems it breaks for the Linux CP210x USB<->RS-232
bridge driver which is certainly a bug in the driver, but we can just
avoid that bug alltogether.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@736 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-05-15 20:30:15 +00:00
joerg_wunsch 4b25f0b685 Fix the STK500v2 ISP delay parameter for
ATmega640/1280/1281/2560/2561.  Atmel has changed the XML
files after the initial release.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@735 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-05-15 20:25:48 +00:00
joerg_wunsch dbdea5a979 Style and indentation fixes.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@734 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-05-15 20:23:50 +00:00
c_oflynn 6b4270e2d8 2007-05-01: Colin O'Flynn <coflynn@newae.com>
*Problem in verbose output of previous commit. I hoped to
   have all the verbose changes in a single commit, but that
   won't happen...
  *Main thing is fixed safemode to turn itself off when you can't
   read the fuses anyway. I don't know what I was thinking when
   I made it fail out of programmers that don't support fuse reading.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@733 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-05-02 23:05:21 +00:00
c_oflynn 7d0d997877 2007-05-01 Colin O'Flynn <coflynn@newae.com>
safemode.c: added verbose output


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@732 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-05-02 22:36:04 +00:00
c_oflynn 914e2ed3ec Colin O'Flynn <coflynn@newae.com>
*stk500generic.c: FIxed bug 19411


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@731 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-03-25 22:43:50 +00:00
joerg_wunsch 9b19452848 Add entries for AT90PWM2/3B.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@730 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-02-26 19:52:53 +00:00
fischl 1af6247869 usbasp.c: return error if communication with target isn't possible.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@729 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-02-02 16:27:49 +00:00
joerg_wunsch afe3356b9c Remove duplicate definition of token K_WRITEPAGE.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@728 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-02-01 22:07:39 +00:00
joerg_wunsch 06235497a7 Implement ATmega256x support for butterfly/avr109.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@727 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-30 15:47:53 +00:00
joerg_wunsch 00bed106a4 Fix subdir handling. Now finally, "make distcheck" will
include the documentation into the tarball even if the configure had been
run without the --enable-doc.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@726 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-30 14:41:57 +00:00
joerg_wunsch 817a1ce552 safemode.c: Obtain progname from avrdude.h rather than trying to roll our
own (duplicate) copy of it.

other files: Constify char pointers.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@725 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-30 13:41:54 +00:00
joerg_wunsch 7c7ba6733e More backend/library abstraction and generalization: turn the
list_parts() and list_programmers() functions into general list
iteration functions that call a caller-supplied callback for each
element.  Implement list_parts() and list_programmers() as private
functions in main.c based on that approach.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@724 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-29 20:41:47 +00:00
joerg_wunsch 3f8e4dfe8c Rearrange everything so it is now built into a libavrdude.a library,
and link main.c against that library.

Add AC_PROG_RANLIB to configure.ac as we are building a library now.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@723 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-25 20:51:11 +00:00
joerg_wunsch 07c1079415 Major code cleanup.
- Make all internal functions "static".
- Make sure each module's header and implementation file match.
- Remove all library-like functionality from main.c, so only
  the actual frontend remains in main.c.
- Add C++ brackets to all header files.

That effectively leaves the various module C files as something like
an "avrdude library", with main.c being the currently only frontend
program for that library.  In theory, it should be possible to write
different frontends using the same library backend functions though.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@722 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-24 22:43:46 +00:00
joerg_wunsch 1cae809b9b Something I always wanted to do: replace all those private "extern"
declarations in each file by a central header file "avrdude.h".


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@721 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-24 21:07:54 +00:00
joerg_wunsch 2c6b2309d5 ATmega8: Bump the delay values for flash
and EEPROM, based on the current Atmel XML file.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@720 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-13 22:57:14 +00:00
joerg_wunsch dfdd8c0ea5 * configure.ac: Improve the detection of the Win32 HID library,
and the presence of the header ddk/hidsdi.h.  It now works
correctly under Cygwin and several flavours of MinGW.

* Makefile.am: Add new LIBHID pattern.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@719 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-12 22:41:05 +00:00
joerg_wunsch b991041fe3 * butterfly.c (butterfly_initialize): when sending the 'T'
command (which is ignored by current AVR109 bootloaders),
send the first reply from the list of supported device
codes back rather than using avrdude.conf's idea about
an AVR910 device code.  Apparently, this solves disagreements
between different versions of at least the ATmega8 AVR910
device code.

Closes bug #18727: Writing flash failed


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@718 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-11 20:20:25 +00:00
joerg_wunsch ebad612f9a Reported by Till Harbaum:
Change HVSP reset timing for ATtiny25/45/85 from
500 microseconds to 1 ms, matching the most recent Atmel XML
specs.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@717 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-07 22:36:45 +00:00
joerg_wunsch 065eaa9bda ChangeLog rotation.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@716 81a1dc3b-b13d-400b-aceb-764788c761c2
2007-01-07 22:34:21 +00:00
joerg_wunsch 159be5f675 We are post-release (again).
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@715 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-22 23:21:53 +00:00
joerg_wunsch 1ad3f961f1 * configure.ac (AC_INIT): Bump version to 5.3.1.
* avrdude.conf.in (frank-stk200): Fix syntax error.
* ser_avrdoper.c: Make #ifdef for Win32/libhid
consistent with the initial check: use the HID driver
only iff found, otherwise use libusb.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@712 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-22 22:52:34 +00:00
joerg_wunsch 857c1ba558 We are now post release 5.3.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@711 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-21 22:48:14 +00:00
joerg_wunsch 8f04e0fd1c Mention frank-stk200 in the docs.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@708 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-21 22:05:56 +00:00
joerg_wunsch 6dad64ee01 Bump version to 5.3, ready to release.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@707 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-21 22:01:30 +00:00
joerg_wunsch ff1fcf6c5d Submitted by Vince VG:
* avrdude.conf.in (frank-stk200): New programmer added.
Closes patch #5502: one other programmer


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@706 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-21 21:44:14 +00:00
joerg_wunsch 6523398ca8 In usbOpenDevice(), clear the error code when returning successfully.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@705 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-21 21:21:14 +00:00
joerg_wunsch 26e8bc656a Submitted by Christian Starkjohann:
patch #5507: Support for AVR-Doper USB programmer in HID mode

* configure.ac: Add hooks to detect the Win32 HID library,
as well as the existence of <ddk/hidsdi.h>.
* Makefile.am: Add new files.
* my_ddk_hidsdi.h: (New file.)
* ser_avrdoper.c: (New file.)
* serial.h: Add declaration for avrdoper_serdev.
* stk500v2.c: Add hook to divert to the AVR Doper code.
* avrdude.1: Document the AVR Doper support.
* doc/avrdude.texi: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@704 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-20 23:43:34 +00:00
joerg_wunsch 97e45d71bb Submitted by ivanv at netman.ru
Fix length for single-byte write operations.
Closes bug #18527 JTAG ICE: fuse bits have been writen incorrectly


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@703 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-15 15:42:44 +00:00
joerg_wunsch 4652c6428a In jtagmkII_paged_write(), remove a debugging
usleep(1000000) that accidentally crept in in rev 1.19.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@702 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-11 16:48:52 +00:00
joerg_wunsch ee0dcf32bc In ser_open(), do fill in fdp->ifd before already
using it in ser_setspeed().


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@701 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-11 16:02:45 +00:00
joerg_wunsch dd48976e55 In jtagmkI_close(), revert baud rate to the initial
value in case we had changed it.

Fixes bug #18262: JTAGMKI/JTAG1 Reset Bug


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@699 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-11 15:15:50 +00:00
c_oflynn b4807ef7da Colin O'Flynn <coflynn@newae.com>
* safemode.c: Stop ignoring return values!
      Closes bug #18339


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@698 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-11 14:41:59 +00:00
joerg_wunsch 5b53108e63 Submitted by Nick Lott:
Fix signature for ATmega8515.

Closes bug #18348: ATMEGA8515 Signature is wrong in avrdude.conf


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@697 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-11 14:23:46 +00:00
joerg_wunsch 4beee5ff79 Fix a bug introduced in rev. 1.69, when implementing the
fallback from each programmer's paged_load() or paged_write()
method, respectively.  The return value needs to be checked for
being greater or equal than 0 rather equal to 0 in order to
assume the operation has been successful.

Fixes bug #18489: avrdude is too slow (20 byte/s)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@695 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-11 14:01:54 +00:00
joerg_wunsch 31fa98b708 Make the code compile warning-free:
- declare a dummy "struct timezone" for some Win32 systems (MinGW)
- fix a few printf() argument types
- get rid off the prevailing "all filedescriptors are of type int"
  attitude

The last item required a large sweep across the code, in order to
replace all "int fd"s by "struct filedescriptor *fd"s, and pass
pointers (as we cannot pass a union directly).  In return, the
code is now supposed to be fully 64-bit safe, rather than relying
on a 64-bit pointer being converted to a (32-bit) int and back
to a pointer as we did previously.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@694 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-12-11 12:47:35 +00:00
joerg_wunsch 8bd117dccf Implement EEPROM access through debugWire.
* jtagmkII.c: Extend the jtagmkII_read_byte() and
jtagmkII_write_byte() methods to handle EEPROM through
debugWire.

* avrpart.h: Implement the "flash instruction" parameter.
* config_gram.y: (Ditto.)
* lexer.l: (Ditto.)
* avrdude.conf.in: (Ditto.)

* avrdude.1: Document the EEPROM access through dW.
* doc/avrdude.texi: (Ditto.)

* tools/get-dw-params.xsl: Extend to extract the flash
instruction field.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@693 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-23 07:07:06 +00:00
joerg_wunsch aef8e953ab In avr_read() and avr_write(), if the paged access returns a
failure, fall back to byte access.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@692 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-23 07:02:22 +00:00
joerg_wunsch 4bbd40415d In jtagmkII_read_byte() and jtagmkII_write_byte(), return an error
upon failure now that the upper layers won't fall back to the cmd()
method anymore in that case.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@691 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-21 16:13:08 +00:00
joerg_wunsch 134947dc7f Add debugWire entries for all devices where dW is known to exist
(according to the XML files).

Add an XSL stylesheet to extract the dW
parameters from the XML files.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@690 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-21 11:56:26 +00:00
joerg_wunsch 8ed8377442 Implement debugWire programming support. Several limitations are
imposed by debugWire itself, so effectively, only flash ROM can be
read and written.

Currently, the required changes to avrdude.conf.in are only present
for the ATtiny44.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@688 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-20 23:23:37 +00:00
joerg_wunsch 46e0286657 jtagmkI_close(): remove two unused variables.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@687 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-20 22:07:25 +00:00
joerg_wunsch 80d0bb3ee7 Fix date of last changelog entry (copy&paste-o).
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@686 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-20 21:35:26 +00:00
joerg_wunsch c0b3f461fd Add the default read_byte() and write_byte() methods here, too. Forgot
to commit these files in previous commit.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@685 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-20 15:08:13 +00:00
joerg_wunsch 351f329ec8 Replace the fallback of avr_read_byte() and avr_write_byte() to
avr_read_byte_default() and avr_write_byte_default (resp.) by directly
calling the latter functions from within all programmers that don't
implement their own read_byte()/write_byte() methods.  In turn, make the
read_byte() and write_byte() methods mandatory, and the cmd() method
(direct ISP command) optional instead (it's effectively mandatory for
any programmer using avr_read_byte_default()/avr_write_byte_default()
though).  Remove all the pointless cmd() method stubs from those programmers
that don't need it.

Eliminate avr_read_byte() as it was now completely identical to
pgm->read_byte().


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@684 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-20 15:04:09 +00:00
joerg_wunsch f330e73b79 Avoid sending a CMD_RESET when leaving programming mode, and CMD_GO
when closing the connection.  They cause the activity LED on the ICE
to continue to flicker, and are not necessary anyway (the target
starts to run by itself when leaving programmng mode).

This is a partial fix for bug #18262: JTAGMKI/JTAG1 Reset Bug


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@683 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-13 21:14:28 +00:00
c_oflynn 7d601905e4 * avrdude.conf.in: Add read support for lockbits on Tiny2313 device.
Applies patch #5538


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@682 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-12 16:11:55 +00:00
joerg_wunsch 8749d4562f Add signatures for ATmega325/3250/645/6450.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@681 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-09 23:06:55 +00:00
joerg_wunsch 1ef6c7ab77 Preserve ${LDFLAGS} inherited from environment for Win32 environments.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@680 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-08 12:37:05 +00:00
joerg_wunsch a304b7e0e3 Don't pretend --enable-doc were the default.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@679 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-07 20:32:41 +00:00
joerg_wunsch 8f24c5b181 Fix the width of the efuse memory area for a number of AVRs.
Closes bug #18182: Wrong setting of eFuse configuration for
mega640/1280/1281/2560/2561 in avrdude 5.2


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@678 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-02 21:02:41 +00:00
joerg_wunsch c35b4481dc Implement and document HVSP and PP modes for the AVR Dragon.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@677 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-11-01 21:47:25 +00:00
joerg_wunsch 0e4819c0e7 Implement a flags field in struct serdev, and populate it with a flag
that indicates whether the underlying communication can dynamically
change its speed or not.  This flag is set for true serial
communication but clear for USB communication.  Don't try to adjust
the speed when talking over a communication channel that doesn't
support it.  (The Dragon does not even support the respective
parameter.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@676 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-10-27 08:45:47 +00:00
joerg_wunsch 2f798223d1 Add support for the AVR Dragon (JTAG and ISP mode).
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@675 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-10-26 21:14:10 +00:00
joerg_wunsch cc389a88b8 Bump version for release 5.2.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@672 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-10-09 14:47:29 +00:00
joerg_wunsch 319d25efc4 Submitted by John Voltz: add AVR053 oscillator calibration.
* main.c: Add the -O option.
* pgm.c: Add the hook for the perform_osccal() method.
* pgm.h: (Ditto.)
* stk500v2.c: Implement perform_osccal().
* avrdude.1: Document the -O option.
* doc/avrdude.texi: (Ditto.)
Partially closes bug #17487: AVR RC oscillator calibration
routine not supported (feature request)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@671 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-10-09 14:34:24 +00:00
joerg_wunsch bed6aab084 Submitted by freckle@sf.net:
* stk500.c (stk500_paged_write): Send the command and the data
payload within a single write().
patch #5025: Improve stk500.c robustness

Submitted by Matthias Ringwald:
* stk500.c (stk500_open): do not flush the serial line after
getting in sync with the programmer.
patch #5293: stk500.c: no drain after sync (-> allow BTnode
Bootloader to work on cygwin)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@670 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-10-09 09:56:10 +00:00
joerg_wunsch 9f0947a175 Fix prototype for gettimeofday().
Closes bug #17884: another gettimeofday conflict under win32/cygwin


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@667 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-29 20:52:32 +00:00
joerg_wunsch d7de263402 Submitted by Thomas Fischl (initially):
Add the CoreFoundation and IOKit framework linker flags on MacOS X
when configuring for USB support.

patch #4685: Libusb on MacOS X: detection and additional includes

Thanks to Matthias Ringwald for testing the reworked patch.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@666 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-24 13:35:40 +00:00
joerg_wunsch ad3fa869ee * avr910.c: As there is a lot of ambiguity about the AVR910
device codes, allow the user to override the device code
verification with the -F option.
* main.c: Make ovsigck a global variable.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@665 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-20 21:32:18 +00:00
joerg_wunsch 2f73c4686e Add the "stk500generic" programmer that auto-probes for STK500
either firmware version 1 or 2.
* Makefile.am (avrdude_SOURCES): add the new files
stk500generic.c and stk500generic.h.
* avrdude.conf.in: Add the stk500generic programmer type, and
change the "stk500" entry to point to this programmer.
* config_gram.y: Add the stk500generic keyword.
* lexer.l: (Ditto.)
* stk500.c: Change the stk500v1 code to not call exit()
prematurely when failing to open the programmer, but instead
return an error status.
* stk500generic.c: (New file.) Stub programmer implementation.
Probe for either stk500v1 or stk500v2, and adjust the current pgm
appropriately.
* stk500generic.h: (New file.) Declare the public interface(s)
of stk500generic.c.
* doc/avrdude.texi: Document the changed behaviour of stk500.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@663 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-19 22:27:30 +00:00
joerg_wunsch 4b7ab88b5a Various fixes for ancient processors and their capabilities. For the
AT90S1200 and the AT90S8515, fuse bit handling via ISP, and lock bit
reading via ISP are not supported at all.  For the AT90S4414 (small
brother of the AT90S8515), add the ability to write the lock bits, and
add a definition for the fuse bits (usable for HV programming).  For
the AT90S2313, add the "fuse" memory range, so it's available for HV
programming.

Resolves bug #17796: avrdude will not program or verify lockbits with
Atmel STK protocol programmers


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@662 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-18 21:48:36 +00:00
joerg_wunsch 8b44b1e37a Submitted by Thomas Fischl:
* usbasp.c: Check for USBasp with new as well as old VID/PID
pair, warn the user about upgrading the firmware in case an
old one has been found.
* usbasp.h: Add new VID/PID.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@661 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-17 20:35:36 +00:00
joerg_wunsch 4a7c985015 Fix some mistakes for the ATtinyX61 family:
. high fuse has 8 bits
. there is an extended fuse (just one bit)
. the calibration area is only 1 byte


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@660 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-15 21:41:29 +00:00
joerg_wunsch e114f6666b Convert some of the tables to multitables
in order to beautify the result.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@657 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-12 12:01:34 +00:00
joerg_wunsch 333be851b9 Contributed by Thomas Fischl: add support for USBasp.
patch #4686: Add support for USBasp, a simple USB programmer
* usbasp.c: New file, implement the USBasp driver.
* usbasp.h: New file, interface declarations for USBasp.
* Makefile.am: Wire the new files into the build.
* avrdude.conf.in: Add the usbasp programmer entry.
* config_gram.y: Add the usbasp token.
* lexer.l: (Ditto.)
* avrdude.1: Document the USBasp programmer.
* doc/avrdude.texi: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@656 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-10 20:41:00 +00:00
joerg_wunsch 8ebe96ee2b Implement -U filename as a shorthand for -U flash:w:filename:a.
This has once been suggested by Brian Dean.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@655 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-08 21:52:45 +00:00
joerg_wunsch 92cbfc744a Implement numerical output formats for decimal, hexadecimal, octal,
and binary numbers.

Closes bug #16129: more output formats for fuse bits (avrdude
enhancement request)

* fileio.c: Implement fileio_num() and the itoa_simple() helper function.
* fileio.h: Add new file formats to FILEFMT.
* main.c: Parse the new file formats.
* avrdude.1: Document all this.
* doc/avrdude.texi: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@654 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-08 21:28:24 +00:00
joerg_wunsch 17d4c26550 Hide two debug/trace statements behind "verbose".
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@653 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-08 21:10:05 +00:00
joerg_wunsch e95efe278b CPP statements start in column #1.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@652 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-08 19:46:45 +00:00
joerg_wunsch ee36ee5ab5 Describe how to disable the DWEN fuse.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@651 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-07 20:42:01 +00:00
joerg_wunsch 9579e8e77a Translate numerical response codes to strings.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@650 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-07 19:57:59 +00:00
joerg_wunsch a7014c1b56 The avr109 programmer type no longer chokes on a wrong avr910 device
ID, so remove that description.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@648 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-07 19:34:17 +00:00
joerg_wunsch abe6b26950 When failing to start in ISP mode, try debugWire instead. This
requires the user to eventually restart AVRDUE from scratch then.

jtagmkII_reset() had to get a second parameter in order to record
the reset mode.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@647 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-06 22:37:30 +00:00
joerg_wunsch f8796c29cc Add support for the JTAG ICE mkII in ISP mode.
* avrdude.conf.in (jtag2isp): New programmer entry.
* config_gram.y: Add K_JTAG_MKII_ISP.
* jtagmkII.c: Restructure and export some more functions.
* jtagmkII.h: Declare exported functions.
* jtagmkII_private.h: Prepare file to be included in stk500v2.c.
* lexer.l: Add jtagmkii_isp token.
* stk500v2.c: Implement glue to jtagmkII.c.
* stk500v2.h: Declare stk500v2_jtagmkII_initpgm().
* avrdude.1: Document the new programmer support.
* doc/avrdude.texi: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@643 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-06 20:06:07 +00:00
joerg_wunsch 26952bf8f0 Add date and time of compilation to the verbose greeting message.
Idea taken from patch #3172: Adds date and time of compile to usage
message


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@642 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-01 21:15:03 +00:00
joerg_wunsch 013ba1f836 Contributed by <avrdude@zevv.nl> as
patch #4372: Better synchronization for stk500

Sync three times, and drop any noise inbetween.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@641 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-01 21:00:36 +00:00
joerg_wunsch 859f22e83d Add entries for the ATtiny261/461/861 devices.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@640 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-01 20:48:04 +00:00
joerg_wunsch 83b162593f * butterfly.c: Remove the device support decision based on
the old AVR910 device codes; we've got signature verification
now so better rely on that.

* avr910.c: Revert the signature bytes returned, as it already
happened in butterfly.c.  This closes bug #14998: Signature Bytes
read in wrong order (avr910 mode)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@638 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-09-01 10:03:12 +00:00
joerg_wunsch 00b6640aa1 Submitted by Wim Lewis.
Improve error handling.

patch #4923: Better error reporting for serial-bitbang programmers


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@637 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-31 22:07:39 +00:00
joerg_wunsch 76e21b8509 Introduce a "stk500v1" entry, so we can switch the default "stk500" to
"stk500v2" some day.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@636 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-31 21:19:58 +00:00
joerg_wunsch 07735be08b The major part of this change has been contributed by
<andyw@pobox.com>.

Implements patch #4635: Add support for terminal/console servers for
serial programmers

* ser_posix.c: Add net_open(), and divert to it for net:host:port.
* ser_win32.c: Recognize net:host:port, and bail out.
* avrdude.1: Document the net:host:port connection option.
* doc/avrdude.texi: (Ditto.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@635 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-31 20:52:47 +00:00
joerg_wunsch d2d9651dcd Fix for bug #16627: Butterfly programmer does not reset after programming
Wait for the device's response after sending an "E" command.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@634 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-31 11:02:25 +00:00
joerg_wunsch 3a4ec709ff Tentative fix for bug #16156: Problem with Si-Prog
Disable reset before closing.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@633 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-31 10:55:20 +00:00
joerg_wunsch cdbd7d4cf0 Rewrite the serbb code so the pin numbering matches the
DB9 connector, and fix some related bugs in serbb_posix.c.
Closes bug #16265: dasa2 does not work under posix

* avrdude.conf.in: New serbb pin numbering; added "siprog"
as an alias for "ponyser".
* serbb_posix.c: New pin numbering, fix some confusion.
* serbb_win32.c: New pin numbering.

The generic and Posix-related parts of these changes have
been contributed by Hanns-Konrad Unger


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@631 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-30 14:08:37 +00:00
joerg_wunsch 10cadfa710 Contributed by the anonymous developer of patch #5096:
Add an entry for the Altera byteblaster.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@630 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-30 05:13:15 +00:00
joerg_wunsch fb795d21f9 Rework the exit specs so they actually work again. It should be
possible to extend them for other programmers than PPI now (serbb,
stk500*).

* pgm.h: Keep the exit specs in an abstract form inside struct
programmer_t.  (Should be moved out into some programmer-specific
structure.)  Rename the getexitspecs() method into
parseexitspecs().
* main.c: Move the exit specs stuff out to the programmer
implementation.
* par.c: Implement the new exit spec handling.  Everything is now
done using the generic abstraction layer.

Closes bug #16443: No disable Resetsignal at the end of
Programming Session

Obviates need for patch #5057: quick and dirty Hack to unset Reset
after Programming


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@629 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-29 23:12:15 +00:00
joerg_wunsch e97524fa3b This patch has been contributed by an anonymous developer
via the patch tracking system.

patch #5096: Allow VCC and BUFF to be any pin in parallel mode

* config_gram.y: Release the restriction to PPIDATA pins.
* par.c: Rework the code to introduce a function par_setmany()
that builds on top of par_setpin(), and use that function for the
PPI_AVR_VCC and PPI_AVR_BUFF pin collections.  This also abstracts
the polarity of these signals appropriately.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@628 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-29 21:39:26 +00:00
joerg_wunsch cb1b724b06 Contributed by Ned Konz:
Open the serial port with O_NONBLOCK, and save and restore the port
state before exiting.

patch #5008: Patch for (5.1) ser_posix.c for O_NONBLOCK open and
restoring serial port state on close

Closes bug #12622: avrdude hangs on macosx/darwin with PL-2303
usb-to-serial and Butterfly


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@627 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-28 21:17:01 +00:00
joerg_wunsch 0b05af1165 Move the bitbang prerequisite checks out from
main() into their own bitbang_check_prerequisites().


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@626 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-23 21:06:28 +00:00
joerg_wunsch 3df4c5f888 * avrdude.conf.in: Add page mode parameters for all "eeprom" memory
definitions that are organized in pages.

* avr.c (avr_write_byte_default): Consider using the loadpage
instructions only if the respective memory is marked "paged".

Closes bug #17199: EEPROM fails verification on ATmega645 with
pony-stk200 hardware
Closes bug #16849: EEPROM write fails for AT90USB1287 with mode 0x41
Closes bug #15146: stk500v2_paged_write: loadpage instruction not
defined for part


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@622 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-22 22:05:19 +00:00
joerg_wunsch ecbd4465e0 Change "avrispmk2" into "avrisp2" (in the description of the -d
option) as that is the programmer actually supported by
avrdude.conf.in.

Closes bug #15677: documentation mentions wrong programmer-id "avrispmk2"


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@621 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-22 20:01:25 +00:00
joerg_wunsch 73d625568c Fix various AVR910 device codes. Add the code tables from both,
AVR910 and AVR109.  Change avr910_devcode of the ATtiny2313 to 0x5e
(ATtiny26).

Closes bug #16671: Tiny2313 avr910_devcode is bad
Closes bug #15826: avr910 device type for ATmega8 wrong


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@620 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-08-21 21:00:45 +00:00