12012-12-18  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
2
3	* usbdefs.h (USBDEV_BULK_EP_WRITE_STK600)
4	(USBDEV_BULK_EP_READ_STK600): new define values
5	* stk500v2.c (stk600_open): use the STK600 EP values,
6	as they are different from AVRISPmkII
7
82012-12-18  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
9
10	bug #37942: Latest SVN can't program in dragon_jtag mode
11	* jtagmkII.c (jtagmkII_initialize): For Xmega devices, and
12	firmware >= 7.x, don't trigger a RESET, in order to work around a
13	firmware bug that appears to be present in at least firmware 7.24
14	for the Dragon.
15
162012-12-04  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
17
18	* config_gram.y: Implement the "ocdrev" keyword
19	* avrpart.c: (Dito)
20	* avrpart.h: (Dito)
21	* lexer.l: (Dito)
22	* avrdude.conf.in: Add "ocdrev" key/value pairs, based
23	on the AS6 XML file information.
24	* jtag3.c: Use the ocdrev in the parameter block.
25
262012-12-03  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
27
28	* jtag3.c: Make jtag3_command() public
29	* jtag3.h: (Dito.)
30	* jtag3_private.h: Add two new commands
31	* stk500v2.c: Implement the "MonCon disable" hack that
32	allows temporarily falling back to ISP when trying to
33	talk to a part that has debugWIRE enabled
34
352012-12-03  Rene Liebscher <R.Liebscher@gmx.de>
36
37	* pickit2.c: reordered #includes for non-usb configuration
38
392012-12-03  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
40
41	* jtag3.c: Enable interactive adjustment of the various
42	clock frequencies (JTAG Xmega, JTAG megaAVR, PDI Xmega)
43	through the set_sck_period() callback.
44
452012-12-03  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
46
47	* jtag3.c: Remove unused code that was left over from
48	cloning the jtagmkII.c implementation
49
502012-12-03  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
51
52	* pgm_type.c: Add "jtagice3_isp" programmer hook
53	* avrdude.conf.in: Add "jtag3isp" programmer
54	* jtag3.c: jtag3_setparm() is now public
55	* jtag3.h: (Dito)
56	* stk500v2_private.h: Command 0x1D is CMD_SPI_MULTI only
57	for STK500v2, AVRISPmkII, and JTAGICEmkII; for JTAGICE3,
58	it's CMD_SET_SCK now; also add CMD_GET_SCK
59	* avrpart.c (avr_get_output_index): New function
60	* avrpart.h: (Dito)
61	* stk500v2.c: Implement the pasthrough programmer glue logic
62	for JTAGICE3 in ISP mode
63	* stk500v2.h: (Dito)
64	* avrdude.1: Document the JTAGICE3 support.
65
662012-11-30  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
67
68	* jtag3.c (jtag3_read_byte, jtag3_write_byte): Remove the
69	m->offset from addr, JTAGICE3 doesn't need it anymore (similar
70	to JTAGICEmkII with 7+ firmware)
71	* jtag3.c (jtag3_read_byte): Allow for full-page reads of
72	EEPROM also for Xmega and debugWIRE, allow for signature
73	read in debugWIRE
74
752012-11-30  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
76
77	* jtag3_private.h: Add two more error detail codes I stumbled
78	across during development
79	* jtag3.c: (Dito.)
80	* usb_libusb.c: Reduce timeouts from 100 to 10 s, still long
81	enough, but not getting cold feet when something goes wrong.
82
832012-11-29  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
84
85	* jtag3.c: Handle events returned by the ICE
86	* usbdevs.h: Add defines that mark an event in return
87	from usb_recv_frame().
88	* usb_libusb.c: (Dito.)
89
902012-11-29  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
91
92	* avrdude.conf.in: Remove "has_jtag" from Xmega A4 and D4
93	devices, as they only have PDI.
94	* jtag3.c (jtag3_page_erase): Actually implement this.
95
962012-11-29  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
97
98	bug #37265: wrong page sizes for XMega64xx in avrdude.conf
99	* avrdude.conf.in: Fix page sizes for all Xmega devices,
100	by cross-checking against Atmel Studio's device XML files
101
1022012-11-29  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
103
104	* jtag3.c: Fill in the missing pieces for Xmega support (both,
105	PDI and JTAG).
106	* jtagmkII.c (jtagmkII_set_xmega_params): Use "fuse1" rather
107	than "fuse0" memory space to fill in the NVM offset from, as
108	there is no "fuse0" on some Xmega devices.
109
1102012-11-29  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
111
112	* avrdude.conf.in (ATmega256RFR2, ATmega128RFR2, ATmega64RFR2):
113	New devices
114
1152012-11-28  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
116
117	First support for Atmel JTAGICE3.  Guessed from USB sniffer
118	traces made by Knut Schwichtenberg, and by similarity to
119	JTAGICEmkII.
120	Still quite incomplete, just megaAVR/JTAG is done by now.
121	* jtag3.c: New file.
122	* jtag3.h: (Dito.)
123	* jtag3_private.h: (Dito.)
124	* pgm_type.c: Add new programmers
125	* avrdude.conf.in: (Dito.)
126	* usbdevs.h: Add new parameters
127	* Makefile.am: Add new files
128	* usb_libusb.c: Handle separate event endpoint, and larger
129	(USB 2.0) packet sizes
130
1312012-11-26  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
132
133	* jtagmkII.c: Change all the USB details (endpoint numbers,
134	max transfer size etc.) to a per-programmer adjustable value.
135	* serial.h: (Dito.)
136	* stk500v2.c: (Dito.)
137	* usbdevs.h: (Dito.)
138	* usb_libusb.c: (Dito.)
139
1402012-11-20  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
141
142	* buspirate.c: Replace outdated FSF postal address by a reference to
143	the GPL info on their website.
144	* jtagmkII.c: (Dito.)
145	* avrftdi.c: (Dito.)
146	* wiring.c: (Dito.)
147	* linux_ppdev.h: (Dito.)
148	* serbb.h: (Dito.)
149	* usbtiny.h: (Dito.)
150	* confwin.c: (Dito.)
151	* buspirate.h: (Dito.)
152	* avrftdi.h: (Dito.)
153	* wiring.h: (Dito.)
154	* jtagmkII.h: (Dito.)
155	* pickit2.c: (Dito.)
156	* config.c: (Dito.)
157	* term.c: (Dito.)
158	* confwin.h: (Dito.)
159	* avrdude.1: (Dito.)
160	* windows/Makefile.am: (Dito.)
161	* config.h: (Dito.)
162	* pickit2.h: (Dito.)
163	* term.h: (Dito.)
164	* tools/get-hv-params.xsl: (Dito.)
165	* tools/get-stk600-cards.xsl: (Dito.)
166	* tools/get-stk600-devices.xsl: (Dito.)
167	* tools/get-dw-params.xsl: (Dito.)
168	* butterfly.c: (Dito.)
169	* configure.ac: (Dito.)
170	* doc/Makefile.am: (Dito.)
171	* pgm_type.c: (Dito.)
172	* butterfly.h: (Dito.)
173	* jtagmkI.c: (Dito.)
174	* ft245r.c: (Dito.)
175	* COPYING: (Dito.)
176	* pgm_type.h: (Dito.)
177	* jtagmkI.h: (Dito.)
178	* pindefs.h: (Dito.)
179	* config_gram.y: (Dito.)
180	* arduino.c: (Dito.)
181	* arduino.h: (Dito.)
182	* ser_win32.c: (Dito.)
183	* serbb_win32.c: (Dito.)
184	* avr910.c: (Dito.)
185	* stk500.c: (Dito.)
186	* freebsd_ppi.h: (Dito.)
187	* avr910.h: (Dito.)
188	* solaris_ecpp.h: (Dito.)
189	* stk500.h: (Dito.)
190	* jtagmkII_private.h: (Dito.)
191	* avrdude.h: (Dito.)
192	* bitbang.c: (Dito.)
193	* bitbang.h: (Dito.)
194	* avrpart.c: (Dito.)
195	* safemode.c: (Dito.)
196	* stk500generic.c: (Dito.)
197	* serial.h: (Dito.)
198	* avrpart.h: (Dito.)
199	* jtagmkI_private.h: (Dito.)
200	* ppi.c: (Dito.)
201	* avr.c: (Dito.)
202	* safemode.h: (Dito.)
203	* stk500generic.h: (Dito.)
204	* ser_avrdoper.c: (Dito.)
205	* avr.h: (Dito.)
206	* ppi.h: (Dito.)
207	* usbasp.c: (Dito.)
208	* lists.c: (Dito.)
209	* stk500v2.c: (Dito.)
210	* my_ddk_hidsdi.h: (Dito.)
211	* tpi.h: (Dito.)
212	* usbasp.h: (Dito.)
213	* lists.h: (Dito.)
214	* stk500v2.h: (Dito.)
215	* ppiwin.c: (Dito.)
216	* fileio.c: (Dito.)
217	* ser_posix.c: (Dito.)
218	* fileio.h: (Dito.)
219	* serbb_posix.c: (Dito.)
220	* usbdevs.h: (Dito.)
221	* par.c: (Dito.)
222	* update.c: (Dito.)
223	* pgm.c: (Dito.)
224	* main.c: (Dito.)
225	* par.h: (Dito.)
226	* update.h: (Dito.)
227	* lexer.l: (Dito.)
228	* Makefile.am: (Dito.)
229	* pgm.h: (Dito.)
230	* usb_libusb.c: (Dito.)
231	* usbtiny.c: (Dito.)
232
2332012-11-13  Rene Liebscher <R.Liebscher@gmx.de>
234
235	bug #35186 inverting pins with "~" doesn't work for pin lists (i.e. vcc)
236	bug #37727 Add support for LM3S811 dev board as a programmer
237	* lexer.l,config_gram.y: accepting inverted pins at pin lists
238	        syntax: ~num or ~(num,num,...)
239	* par.c: par_set_many_bits is now usable with inverted pins
240	* avrftdi.c: fixed wrong index in ftdi_pin_name
241	* avrdude.conf.in: added programmer lm3s811
242
2432012-11-04  Rene Liebscher <R.Liebscher@gmx.de>
244
245	* lexer.l,config_gram.y,config.[hc]: changed reading of numbers to integers
246	        except of default_bitclock which is the only real number.
247	        No signs are allowed as negative values do not make sense for current
248	        config values.
249	* buspirate.c: include own header file buspirate.h
250	* doc/.cvsignore: add programmers.texi to ignore list
251
2522012-09-06  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
253
254	* doc/Makefile.am: add EXTRA_DIST, replace $(srcdir) by
255	$(builddir) for generated files, so "make distcheck"
256	works again
257
2582012-09-05  Rene Liebscher <R.Liebscher@gmx.de>
259
260	* doc/Makefile.am: add $(srcdir) to name of generated files, so BSD make
261	                   find the files ( GNU make sees no difference if the
262	                   file is called version.texi or ./version.texi )
263
2642012-08-15  Rene Liebscher <R.Liebscher@gmx.de>
265
266	patch #7184 Support for PICKit2 programmer
267	* Makefile.am: add pickit2 files
268	* pickit2.[ch]: new programmer implementation
269	* pgm_type.c: add pickit to list
270	* avrdude.1: documentation for pickit2
271	* doc/avrdude.texi: documentation for pickit2
272	* avrdude.conf.in: add pickit2 programmer entry
273
2742012-08-15  Rene Liebscher <R.Liebscher@gmx.de>
275
276	bug #30559 Ft232 bit-bang support, see comment #30
277	* ft245r.c: added semaphore workaround for MacOS X,
278	            added pthread_testcancel in reader thread
279
280	* configure.ac: added check for TYPE_232H in libftdi (not in libftdi < 0.20)
281	* avrftdi.c: do not use TYPE_232H if not declared
282
2832012-08-13  Hannes Weisbach <hannes_weisbach@gmx.net>
284
285	* avrftdi.c: fixes pin_limit for different FTDI devices (there was a mixup
286	between 2232C and 2232H)
287
2882012-07-29  Hannes Weisbach <hannes_weisbach@gmx.net>
289
290	* avrftdi.c: bugfixes (synchronisation) and maintenance (paged programming,
291	nicer output, separation of parameter checking and actual code)
292
2932012-07-25  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
294
295	* jtagmkII.c (jtagmkII_memtype): return MTYPE_FLASH rather than
296	MTYPE_SPM for non-Xmega flash regions
297
2982012-07-20 Hannes Weisbach <hannes_weisbach@gmx.net>
299
300	* avrpart.c, avrpart.h: adds avr_pin_name()
301
3022012-07-18  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
303
304	* configure.ac: check for libelf.h also in libelf/
305	* fileio.c: include <libelf/libelf.h> if configure found this
306	to be the case
307
3082012-06-13  Rene Liebscher <R.Liebscher@gmx.de>
309
310	* configure.ac: Check for presence of <pthread.h>
311	* ft245r.c: Depend on HAVE_PTHREAD_H
312	* Makefile.am: Add -lpthread if needed.
313
3142012-06-07  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
315
316	* usbtiny.c (usbtiny_paged_load, usbtiny_paged_write):
317	fix breakage introduced by the recent page handling reorg;
318	it used to cause an infinite loop
319
3202012-05-04  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
321
322	Xmega page erase implementation for XPROG (AVRISPmkII, STK600)
323	* stk500v2.c (stk600_xprog_page_erase): New function.
324
3252012-05-04  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
326
327	Xmega page erase implementation for JTAGICEmkII
328	* jtagmkII.c: Handle flash pages sizes > 256 bytes, implement
329	page_erase() method
330	* avrdude.conf.in: Change flash pagesize for all Xmega devices
331	to 512 bytes
332	* avr.c: Implement auto_erase, using page_erase if available
333	* avr.h: Remove unused parameters from avr_read(), replace
334	unused parameter in avr_write)() by auto_erase
335	* stk500v2.c: Handle flash page sizes > 256 bytes
336	* update.c (do_op): Handle new updateflags parameter
337	* main.c: Implement auto_erase as page_erase if possible
338	* update.h (enum updateflags): New enum
339	* pgm.h (struct programmer_t): Add page_erase method
340
3412012-04-26  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
342
343	* jtagmkII.c (jtagmkII_paged_load, jtagmkII_paged_write): fix bug
344	in memory type calculation for Xmega "boot" memory region.
345
3462012-04-25  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
347
348	* update.c (parse_op): do not assume default memtype here
349	* main.c: after locating the part information, determine default
350	memtype for all update options that didn't have a memtype
351	specified; this is "application" for Xmega parts, and "flash" for
352	everything else.
353
3542012-04-24  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
355
356	* fileio.c: Rework the way ELF file sections are considered: while
357	scanning the program header table, the offsets from a program
358	header entry must never be used directly when checking the bounds
359	of the current AVR memory region.  Instead, they must always be
360	checked based on the corresponding section's entry.  That way,
361	Xmega devices now properly take into account whether the segment
362	fits into any of the application/apptable/boot memory region.
363
3642012-04-20  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
365
366	bug #30756: When setting SUT to 64ms on XMEGA, avrdude doesn't
367	read device signature
368	* main.c: When reading the signature yields 0x000000 or 0xffffff,
369	retry (up to twice) after some progressive delay.
370
3712012-04-20  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
372
373	* avrdude.conf.in (ATxmega16D4, ATxmega32D4, ATxmega64D4,
374	ATxmega128D4): New devices.  As Xmega D doesn't feature a fuse0
375	memory cell, move that one out from the generic .xmega part into
376	the individual Xmega A parts.
377
3782012-04-19  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
379
380	bug #29019: pagel/bs2 warning when uploading using stk500 to xmega
381	* stk500.c (stk500_initialize): Insert dummy values for PAGEL and
382	BS2 if they are not present in the config file, in order to be able
383	to proceed with the stk500_set_extended_parms() anyway.
384
3852012-04-19  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
386
387	* stk500v2_private.h (struct pdata): add boot_start
388	* stk500v2.c: For the "flash" pseudo-memory of Xmega devices,
389	distinguish addresses between "application" and "boot" area.
390
3912012-04-18  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
392
393	* fileio.c (elf2b): When checking the bounds of the current
394	program header segment, subtract `low' from ph[n].p_paddr in order
395	to correct the magic section offsets for the AVR's non-flash
396	memory regions.
397
3982012-04-18  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
399
400	* fileio.c (elf_get_scn): Rather than trying to just match whether
401	any given section maps straight to a program header segment, use a
402	more sophisticated decision that matches any section as long as it
403	fits into the segment.  This is needed for situations where the
404	program header segment spans a larger area than the section data
405	provided.  (This can e.g. happen in an ELF file that contains no
406	data at address 0, like a bootloader only.)
407
4082012-04-13  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
409
410	bug #28744: Can't load bootloader to xmega128a1 (part 2, fix for
411	firmware >= V7.x)
412	* jtagmkII.c: Add firmware-version dependent handling of Xmega parameters.
413	V7.x firmware expects the NVM offsets being specified through the Xmega
414	parameters command, but left out as part of the memory address itself.
415	* jtagmkII_private.h: Add CMND_SET_XMEGA_PARAMS, and struct xmega_device_desc.
416	* config_gram.y: Add mcu_base keyword.
417	* avrpart.h: (Dito.)
418	* lexer.l: (Dito.)
419	* avrdude.conf.in (.xmega): add mcu_base, and data memory segment.
420
4212012-03-30  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
422
423	bug #28744: Can't load bootloader to xmega128a1 (part 1, fix for
424	firmware < V7.x)
425	* jtagmkII.c: When going to write to the boot section of flash,
426	use MTYPE_BOOT_FLASH rather than MTYPE_FLASH
427	* jtagmkII_private.h: add MTYPE_BOOT_FLASH constant
428
4292012-03-30  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
430
431	* jtagmkII_private.h: Sort commands, response codes and events
432	into numerical order.
433
4342012-03-29  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
435
436	bug #30451: Accessing some Xmega memory sections gives not
437	supported error
438	* stk500v2.c: Handle all Xmega memory sections (except
439	"prodsig" which is not documented in AVR079)
440	* fileio.c: Treat the "boot", "application", and "apptable"
441	regions (which are actually subregions of "flash") all as
442	being flash, i.e. suppress trailing 0xFF bytes when reading
443	them
444	* avr.c: (Dito.)
445
4462012-03-20  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
447
448	* jtagmkII.c (jtagmkII_close): The GO command before signing off
449	turned out to be not required for normal megaAVR devices, and to
450	cause the exact opposite (i.e. the target stopping) on Xmega
451	devices being programmed to JTAG.  However, programming Xmega
452	devcies through PDI *does* need the GO command.
453
4542012-03-20  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
455
456	* configure.ac: Print a configuration summary at the end of the
457	configure run
458
4592012-02-11  Rene Liebscher <R.Liebscher@gmx.de>
460
461	patch #7718: Merge global data of avrftdi in a private data structure
462	* avrftdi.[ch]: moved global data into private data structure, moved
463	private defines from header file into source file
464
4652012-02-06  Rene Liebscher <R.Liebscher@gmx.de>
466
467	patch #7720 Bug in EEPROM write
468	* avrftdi.c: fixed wrong buffer address initialization in paged_write
469	* fileio.c: added #include <stdint.h>
470
4712012-02-05  Rene Liebscher <R.Liebscher@gmx.de>
472
473	bug #30559 Ft232 bit-bang support
474	* ft245r.c: cancel reader thread before exiting program
475
4762012-02-04  Rene Liebscher <R.Liebscher@gmx.de>
477
478	patch #7717 avrftdi_flash_write is broken
479	* avrftdi.c: fixed wrong buffer address initialization in paged_write
480	bug #35296 Extraneous newlines in output.
481	* main.c: fixed output of newlines at 100% progress
482
4832012-02-03  Rene Liebscher <R.Liebscher@gmx.de>
484
485	patch #7715 FT4232H support
486	* avrdude.conf.in: added programmer 4232h
487
4882012-02-03  Rene Liebscher <R.Liebscher@gmx.de>
489
490	patch #7687: Autogenerating programmers and parts lists for docs
491	(generating the programmers lists)
492	* doc/avrdude.texi: Add include of generated table of programmers
493	* doc/Makefile.am: Add generating of table of programmers in programmers.texi
494
4952012-02-03  Rene Liebscher <R.Liebscher@gmx.de>
496
497	bug #34768 Proposition: Change the name of the AVR32 devices
498	* avrdude.conf.in: renamed ucr2 to uc3a0512
499	* avrpart.c: added cast to avoid compiler warning
500
5012012-02-03  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
502
503	* fileio.c (fileio_elf): Fix a copy'n-paste-o.
504
5052012-02-03  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
506
507	* par.c (par_desc): Move to end of file, outside the #if
508	HAVE_PARPORT
509
5102012-02-02  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
511
512	Implement ELF file reading (finally).  Requires libelf(3) to be
513	present on the host system.
514	* configure.ac (HAVE_LIBELF): Add logic to detect presence of
515	libelf(3)
516	* Makefile.am (avrdude_LDADD): Add @LIBELF@
517	* fileio.h (FILEFMT): add FMT_ELF
518	* fileio.c: Implement ELF file reader.
519	* update.c (parse_op): add 'e' format specifier
520	* avrdude.1: Document the ELF file reading capability
521	* doc/avrdude.texi: (Dito.)
522
5232012-02-01  Rene Liebscher <R.Liebscher@gmx.de>
524
525	bug #30559 Ft232 bit-bang support
526	* ft245r.[ch]: new programmer type implementation
527	* configure.ac: add pthread as link library
528	* avrdude.conf.in: added some new programmers
529	* Makefile.am: added new source files to compile
530	* pindefs.h: change PIN_MASK, PIN_INVERSE to highest bit of unsigned int
531	* pgm.[ch]: added generic function to print pin assignments (taken from par.c)
532	* par.c: moved pin assigment print function to pgm.c
533
5342012-02-01  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
535
536	* lexer.l: Sort keyword tokens into alphabetic order.
537
5382012-01-31  Rene Liebscher <R.Liebscher@gmx.de>
539
540	* config_gram.y, lexer.l: removed unused ID/TKN_ID definitions
541	* config.[hc]: removed unused function id(), use value.type to select
542	               values
543
5442012-01-31  Rene Liebscher <R.Liebscher@gmx.de>
545
546	patch #7437 modifications to Bus Pirate module
547	patch #7686 Updating buspirate ascii mode to current firmware, use AUX
548	            as clock generator, and setting of serial receive timeout
549	* buspirate.c: added paged_write, changed binary mode setup/detection,
550	  added clock output on AUX pin
551	* avrdude.1: updated documentation
552	* doc/avrdude.texi: updated documentation
553
5542012-01-31  Rene Liebscher <R.Liebscher@gmx.de>
555
556	Parser does not need to know all programmer types now, new programmers
557	will update only the table in pgm_type.c.
558	* config_gram.y, lexer.l: removed programmer type keywords,
559	use now locate_programmer_type() function
560	* pgm_type.[ch]: added new files for table of programmer types
561	* main.c: allow list of programmer types by -c ?type
562	* avrdude.conf.in: changed all type keywords to quoted strings
563	* doc/avrdude.texi: changed description of type definition, list
564	of valid types is now included from generated file
565	* doc/Makefile.am: generate list of programmer types for doc
566	* all programmers [hc]: add xxx_desc string for description of programmer
567
5682012-01-30  Rene Liebscher <R.Liebscher@gmx.de>
569
570	* configure.ac: fixed detection of yylex_destroy availability
571	by checking the version number of flex; bump required autoconf
572	version to 2.60 (for AC_PROG_SED)
573
5742012-01-30  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
575
576	* lexer.l: Replace the old, now-defunct #define YY_NO_UNPUT by
577	the new %option nounput.  This gets rid of a compiler warning.
578
5792012-01-30  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
580
581	Add a connection_type attribute to each programmer, rather than
582	trying to hard-code the default port name in main.c.
583	* pgm.h: Add conntype to struct pgm.
584	* lexer.l: Extend grammar for connection_type.
585	* config_gram.y: (Dito.)
586	* config.h: Add DEFAULT_USB, for symmetry with default_parallel
587	and default_serial.
588	* main.c: Replace old default portname hack by avrdude.conf-based
589	knowledge.
590	* usbtiny.c: Drop an old hack that's no longer necessary.
591	* avrdude.conf.in: Add connection_type to each programmer
592	definition.
593
5942012-01-27  Rene Liebscher <R.Liebscher@gmx.de>
595
596	* avrdude.conf.in: used parent parts for some other parts, added
597	abstract .xmega part as parent for xmegas
598	* main.c: hide parts starting with '.' from parts list
599
6002012-01-22  Rene Liebscher <R.Liebscher@gmx.de>
601
602	patch #7688: Implement parent programmers feature
603	* avrdude.conf.in: updated documentation comment and some programmers
604	have now parents
605	* config_gram.y: initpgm will now called at first use of programmer
606	in main. parser sets only the function pointer in the pgm structure.
607	Pin and pin lists definitions can now be empty to remove the parents
608	setting.
609	* doc/avrdude.texi: updated documentation
610	* main.c: added call to pgm->initpgm after locate_programmer
611	* pgm.[hc]: added field initpgm in structure, added function pgm_dup
612
6132012-01-21  Rene Liebscher <R.Liebscher@gmx.de>
614
615	bug #21797: AT90PWM316: New part description
616	* avrdude.conf.in: added pwm316 with parent pwm3b but 16KB flash
617
6182012-01-20  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
619
620	* configure.ac: Check for presence of lusb_usb.h as an alternative
621	to usb.h; libusb-win32 switched to this name in version 1.2.5.0.
622	* avrftdi.c: Decide whether to include <usb.h>, or <lusb0_usb.h>.
623	* ser_avrdoper.c: (Dito.)
624	* usbasp.c: (Dito.)
625	* usb_libusb.c: (Dito.)
626	* usbtiny.c: (Dito.)
627
6282012-01-19  Rene Liebscher <R.Liebscher@gmx.de>
629
630	* avr.c: Unsigned variable was used for return code of paged_write/load
631	functions. So a negative return code led never to a fallback to byte
632	functions.
633
6342012-01-17  Rene Liebscher <R.Liebscher@gmx.de>
635
636	bug #34302: Feature request : device configuration with parent classes
637	* config_gram.y: if memory section is overwritten old entry is removed
638
639	(not in original patch)
640	* config_gram.y: if programmer or part is defined twice, a warning is
641	output and the first instance is removed
642
643	General cleanup and free functions, so valgrind does not report any lost
644	blocks at program end.
645	* avrpart.[hc]: added avr_free_(opcode|mem|part) functions
646	* pgm.[hc]: added pgm_free function
647	* update.[hc]: added free_update functions
648	* config.[hc]: added cleanup_config function, use yylex_destroy to reset
649	the lexer after usage. (So it can be reused.)
650	* main.c: add cleanup_main function which is called by atexit() (This
651	frees all lists so that at program exit only really lost memory is
652	reported by valgrind.)
653	* usbasp.c: added libusb_free_device_list() and libusb_exit() calls to
654	avoid lost memory
655	* buspirate.c: moved memory allocation from initpgm to setup and added
656	free in teardown
657	* configure.ac: add definition of HAVE_YYLEX_DESTROY if $LEX is flex.
658	* Makefile.am: added . in front of SUBDIRS to build avrdude before trying
659	to use it for creating the part list for the docs.
660
6612012-01-17  Rene Liebscher <R.Liebscher@gmx.de>
662
663	* usbasp.c: USB vid/pid/vendor/product from config file are used, for
664	id "usbasp" nibobee and old usbasp are tried as they were currently
665	implemented within usbasp
666	* avrdude.conf.in: added usb params to "usbasp", added new entry "nibobee"
667	with params which were hardcoded in usbasp.c, and added an entry
668	"usbasb-clone" which only checks vid/pid.
669
6702012-01-10  Rene Liebscher <R.Liebscher@gmx.de>
671
672	bug #35261 avrftdi uses wrong interface in avrftdi_paged_(write|load)
673	* avrftdi.c: Fixed interface and implementation of avrftdi_paged_(write|load)
674	patch #7672 adding support for O-Link (FTDI based JTAG) as programmer
675	* avrdude.conf.in: added o-link entry
676
6772012-01-10  Rene Liebscher <R.Liebscher@gmx.de>
678
679	patch #7699 Read additional config files
680	* main.c: Added reading of additional config files
681	* avrdude.1: updated man page
682	* doc/avrdude.texi: updated documentation
683
6842012-01-10  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
685
686	Submitted by Bob Frazier:
687	bug #35208: avrdude 5.11 on freebsd 8.2-STABLE does not reset
688	Arduino Uno properly
689	* arduino.c (arduino_open): Bump the timeout between pulling
690	the DTR and RTS lines low and high.
691
6922012-01-08  Rene Liebscher <R.Liebscher@gmx.de>
693
694	Fixed following findings reported by cppcheck
695	* avr910.c:625 (error) Possible null pointer dereference: cmd - otherwise it is redundant to check if cmd is null at line 624
696	* avr910.c:626 (error) Possible null pointer dereference: cmd - otherwise it is redundant to check if cmd is null at line 624
697	* avr910.c:168 (information) The scope of the variable 'devtype_1st' can be reduced
698	* avr910.c:169 (information) The scope of the variable 'dev_supported' can be reduced
699	* avrftdi.c:647 (error) Using sizeof for array given as function argument returns the size of pointer.
700	* stk500v2.c:3347 (error) Memory leak: b
701	* stk500v2.c:3452 (error) Memory leak: b
702	* usbasp.c:554 (error) Using sizeof for array given as function argument returns the size of pointer.
703	* usbasp.c:485 (information) The scope of the variable 'dly' can be reduced
704
7052012-01-03  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
706
707	Reported by Jason Kotzin:
708	* usbasp.c (usbasp_spi_paged_load, usbasp_spi_paged_write):
709	Fix buffer address calculation.
710
7112012-01-03  Rene Liebscher <R.Liebscher@gmx.de>
712
713	patch #7629 add support for atmega48p
714	* avrdude.conf.in: Added m48p with parent m48 + different signature
715
716	* avrdude.conf.in: made part parents (m88p = m88 + different signature,
717	m168p = m168 + different signature)
718
7192012-01-02  Rene Liebscher <R.Liebscher@gmx.de>
720
721	bug #21663 AT90PWM efuse incorrect
722	bug #30438 efuse bits written as 0 on at90pwmxx parts
723	* avrdude.conf.in: (pwm2, pwm2b, pwm3, pwm3b) <efuse.write>: Write
724	eight bits
725
726	* avrdude.conf.in: made part parents (pwm3 = pwm2, pwm3b = pwm2b,
727	pwm2b = pwm2 + different signature)
728
729	* ChangeLog-2011: New file, rotate ChangeLog for new year.
730