2011-01-16 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* fedora/dfu-programmer.spec.in,
	  fedora/10-dfu-programmer.fdi, configure.ac, NEWS,
	  AUTHORS, src/arguments.c, src/arguments.h,
	  docs/dfu-programmer.1: Updated to the new 0.5.3 release.

2011-01-16 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/arguments.c, src/arguments.h,
	  fedora/10-dfu-programmer.fdi,
	  doc/dfu-programmer.1: Added support for at32uc3c chips.

2011-01-16 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/commands.c: Apply fix suggested by bug 3017901.  Fix
	  an off by 1 error for the bootloader size.

2011-01-16 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/intel_hex.c: Apply fix suggested by bug 3016469.  Fix
	  a sign extension problem during reading in the data to
	  flash.

2010-05-02 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* AUTHORS, src/commands.c: Removed confusing & useless code
	  that Darren Gibbs found.

2010-04-08 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* AUTHORS, src/arguments.c, src/arguments.h
	  doc/dfu-programmer.1: Added the patch Mitko sent
	  to enable at32uc3b1512 and at32uc3b0512 chips.

2010-02-15 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* config.h.in, configure.ac, AUTHORS, src/commands.c,
	  src/dfu.c, src/dfu-device.h, src/dfu.h, src/main.c:
	  Added the patch Torsten Rottmann sent to enable
	  libusb 1.0 support, plus I some changes to allow for
	  switching via a configure file flag.

2010-02-15 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/arguments.c, src/arguments.h, dfu-programmer.1,
	  AUTHORS: Added the patch Dave Fletcher sent to
	  enable atmega32u2 support.

2009-09-09 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/commands.c: Fix a bug due to the order of the
	  bootloader suppression and the lower boundary
	  verification.  Additionally, fixed an off by 1 error
	  in the flash address verification.

2009-08-22 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* fedora/dfu-programmer.spec.in, configure.ac, NEWS:
	  Updated to the new 0.5.2 release.

2009-08-13 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/arguments.c, src/arguments.h, src/atmel.c,
	  src/commands.c: Fixed the broken state that the AVR
	  devices were in due to not selecting the correct memory
	  page prior to flashing.  Broke apart the
	  eeprom/flash/user page flashing/dumping into separate
	  functions so the maintenance will be easier.  Cleaned
	  up the address ranges so they are consistent across
	  memory types.  Fixed some debug statements that should
	  have been going to stderr instead of stdout that made
	  the output of a dump garbled.  Cleaned up some more
	  off by 1 errors that were in the dump functionality.
	  Verified my changes on my AVR32 and AVR boards.

2009-05-31 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/atmel.c: Fix a memory address identification bug
	  that would cause the value 0xff to not be recognized.
	* src/commands.c, AUTHORS: Applied the patch that Xavier
	  Leprevost created to allow dumping avr32 user flash
	  properly.

2009-05-23 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/atmel.c: Fix a buffer overrun error that would
	  cause a core dump sometimes.

2009-04-30 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/arguments.c, src/arguments.h, src/atmel.c,
	  src/atmel.h, src/commands.c, AUTHORS: Applied the
	  patch from Zachary Clifford to enable all the AVR32
	  fuses to be set or gotten (all BOD fuse setting is
	  disabled for device safety since they can brick your
	  device.)

2009-04-29 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/arguments.c, src/atmel.c: Fix the off by one issue
	  Brad pointed out for blank checking.  Fix a bug in the
	  blank checking for devices with greater than 65k of
	  memory that were not AVR32 based, so that all the
	  memory is checked, not just a portion of the lower bytes.

2009-04-28 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/arguments.c, src/arguments.h, src/commands.c: Fix
	  a memory overlap issue between the bootloader & the
	  flash memory available for the new firmware.
	* AUTHORS: Added Brad Schick to the list of contributers.

2009-04-27 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/atmel.c: Fix a crash due to larger sized images
	  not being handled properly in a loop.

2009-01-22 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/dfu.c: Applied the patch from Zachary Clifford
	  to support Windows.
	* AUTHORS: Update the file to reflect Zach's patches.

2009-01-18 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/arguments.c, src/arguments.h, src/atmel.c,
	  src/atmel.h, src/commands.c, src/intel_hex.c,
	  doc/dfu-programmer.1: Applied the patch from Zachary
	  Clifford to support programming user flash on the
	  AVR32 chips and reading flash information from STDIN.
	  Additionally, updated the man page.

2008-12-10 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/*, AUTHORS, docs/dfu-programmer.1 NEWS,
	  fedora/dfu-programmer.spec.in, configure.ac: Applied
	  the patch to add support for ignoring data writes that
	  could take place in the bootloader region.

2008-12-03 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/*, AUTHORS, docs/dfu-programmer.1: Update the
	  project to support all the devices that FLIP supports.
	* NEWS, fedora/dfu-programmer.spec.in, configure.ac:
	  Updated the latest news about the 0.5.0 release

2008-10-31 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/*, AUTHORS, fedora/dfu-programmer.spec.in,
	  docs/dfu-programmer.1: Apply Zachary Clifford patch to
	  add more support for AVR32 devices & merged the two
	  together.
	* src/*: Fixed a number of off-by-one errors that were
	  all over the place.

2008-10-02 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/atmel.c: Enable chip erase, blank checking and
	  reading from flash for the AVR32 devices.

2008-10-01 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/*, fedora/10-dfu-programmer.fdi: Change the
	  parameters to use a struct instead of passing the usb
	  information as separate parameters.  Additionally
	  cleaned up some of the code to make the way for AVR32
	  support & added very basic identification support.

2008-09-26 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/arguments.c, AUTHORS: Fixed PID values for the
	  at90usb82 and at90usb182 chips based on Peter's findings.

2008-09-13 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* fedora/dfu-programmer.spec.in,
	  fedora/10-dfu-programmer.fdi: Fixed the broken HAL rules.

2008-09-10 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* src/arguments.c, src/arguments.h, atmel.c, atmel.h
	  commands.c, commands.h, dfu-bool.h, dfu.c, dfu.h
	  main.c: Changed to using dfu_bool & stdint.h values.
	* configure.ac: Removed dependency on stdbool.h.

2008-08-29 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
	* fedora/dfu-programmer.spec.in,
	  fedora/99-dfu-programmer.rules,
	  fedora/10-dfu-programmer.fdi,
	  fedora/dfu-programmer-at90usb.perms,
	  fedora/dfu-programmer-at89c51.perms: Changed the permission
	  handling code to be based on HAL instead of PAM to keep up
	  with Fedora 9+ releases.
	* configure.ac: Incremented the release number
	* NEWS: Updated the latest news about the 0.4.6 release

2008-08-20 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>
	* src/arguments.c, AUTHORS: Apply the patch Sean D'Epagnier
	  sent to enable 4K bootloaders.
	* fedora/dfu-programmer.spec.in, configure.ac:
	  Incremented the release number
	* NEWS: Updated the latest news about the 0.4.5 release

2008-07-22 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>
	* src/arguments.c, AUTHORS: Apply the patch Sean D'Epagnier
	  sent to fix eeprom flashing.

2008-05-22 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>
	* docs/dfu-programmer.1, src/arguments.c, src/arguments.h,
	  src/atmel.c, src/atmel.h, src/commands.c: Added support
	  for eeprom-dump and eeprom-flash for the supported chips.
	* configure.ac, config.h.in: Added checks for stdbool.h
	  stdint.h.

2007-11-19 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* docs/dfu-programmer.1, src/arguments.c, src/arguments.h,
	  src/commands.c, AUTHORS: Applied the patch that Geoffrey
	  Wossum provided to add a reset command.
	* fedora/*: Adding udev rules for and permissions so that
	  the console owner will automatically be able to flash
	  any of the devices supported by dfu-programmer.
	* dfu-programmer.spec.in, Makefile.am, configure.ac:
	  Moved the spec file into the fedora specific
	  directory and excluded from the tar dist.
	* configure.ac: Incremented the release number
	* NEWS: Updated the latest news about the 0.4.4 release

2007-08-15 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* dfu-programmer.spec.in: Updating the license tag.

2007-08-12 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* AUTHORS: added Anton Blad (for new devices) and Nick Hibma
	  (for bug fixes) to the list of contributors.
	* configure.ac: Incremented the release number
	* docs/dfu-programmer.1: Added at90usb162 and at90usb82
	  devices
	* dfu-programmer.spec.in: Added the newly supported chips
	* NEWS: Updated the latest news about the 0.4.3 release
	* src/arguments.c, src/arguments.h: Applied the patch that
	  Anton Blad provided to add support for the at90usb162
	  and at90usb82.

2007-07-22 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* src/atmel.c: Fix the incorrect status to string conversion
	  that Nick Hibma found and pointed out.
	* dfu-programmer.spec.in: Updating the file to be compliant
	  with the Fedora requirements for packaging (again)

2007-07-07 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* configure.ac: Incremented the release number
	* NEWS: Updated the latest news about the 0.4.2 release
	* dfu-programmer.spec.in: Updating the file to be compliant
	  with the Fedora requirements for packaging

2007-04-29 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* configure.ac: Incremented the release number
	* NEWS: Updated the latest news about the 0.4.1 release

2007-04-25 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* docs/dfu-programmer.1: Added a KNOWN ISSUES section,
	  updated the BUGS section, and corrected the Free
	  Software Foundation address.
	* src/arguments.c: Adjusted the memory sizes for the at90
	  series of chips so they can take advantage of the entire
	  amount of flash memory.
	* src/atmel.c, src/atmel.h: Add the concept and support for
	  paged flash memory.  I added this so that only devices
	  that actually go into paged memory will try to make calls
	  to the memory paging routine.  I also did a bit of cleanup
	  to allow a clean transition between the pages (so there
	  are not regions of memory being flashed that overlap a
	  flash memory page boundary).

2007-03-28 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* m4/depcomp, m4/missing, src/dfu.c, src/intel_hex.c,
	  src/commands.c, src/atmel.c, src/util.h, src/dfu.h,
	  src/intel_hex.h, src/main.c, src/arguments.c,
	  src/commands.h, src/atmel.h, src/arguments.h,
	  src/util.c, COPYING: Updated the FSF address in the
	  GPL license.

2007-01-27 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* configure.ac: Incremented the release number
	* NEWS: Updated the latest news about the 0.4.0 release
	* src/arguments.c, src/arguments.h: add two fields to the
	  chip configuration structures to handle the two
	  inconsistencies in the dfu firmware - the at90 chips
	  need to be aborted initially, and the at90 chips don't
	  return valid interface class and subclass information.
	  Originally, the interface problem was thought to be
	  related to OS X, but it now looks like it is the chipset.
	* src/dfu.c, src/dfu.h, src/main.c: add the handing of
	  the new initial abort and interface class/subclass workarounds.

2007-01-16 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* src/intel_hex.c: change the sscanf() parameter to an int
	  from a char to be compliant with the sscanf() %x documentation
	  stating that the output of %x is an int.

2007-01-14 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* src/arguments.c: added the flash_page_size data and values
	  to the data structure.  I checked to make sure that the
	  flash page size is correct for all of the processors.
	* src/arguments.h: added the flash_page_size data member to
	  the programmer_arguments data structure.
	* src/atmel.c: updated the atmel_flash() functionality so that
	  only the memory pages that need to be flashed are flashed.
	* src/atmel.h: updated the external interface for atmel_flash()
	  to refelect the changes in src/atmel.c
	* src/commands.c: changed the passing of the argument structure
	  to be a pointer instead of the actual full structure.
	  Updated the execute_flash() functionality to support the
	  changes made in src/atmel.x.
	* src/commands.h: updated the function prototype.
	* src/intel_hex.c: changed the processing of the hex strutures
	  to allow the support of only flashing the memory locations
	  that are actually programmed.
	* src/intel_hex.h: updated the function prototypes.
	* src/main.c: pass the pointer to the argument structure instead
	  of passing the entire structure.

2007-01-07 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* AUTHORS: added Markus Schneider for his OS X contributions
	* configure.ac: changed AC_CONFIG_HEADER to AM_CONFIG_HEADER
	  to allow easier compiling on OS X.
	* src/dfu.c: added a workaround for OS X because it was
	  not finding devices since the DFU interface information
	  is not being correctly reported.

2007-01-06 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* config.h.in: added the autogenerated information from
	  autoheader.
	* configure.ac: added checking for errno.h stdarg.h and
	  stddef.h to be more thorough in checking for required
	  headers.
	* src/dfu.c: added an #ifdef around the EREMOTEIO case
	* src/intel_hex.c: refactored intel_read_data() to not
	  use getline(), but to simply walk the file via fgets()
	  and fgetc().  As it turns out, getline() wasn't really
	  adding much value.

2006-11-28 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* src/atmel.c: remove the dfu_make_idle() calls
	* src/dfu.c: large changes to allow the dfu module to
	  discover and acquire the usb device.  This change was
	  required to allow the dfu module to try to transition
	  a USB device from its runtime mode into its DFU mode.
	  Part of this transition requires resetting, re-enumerating,
	  and re-acquiring the device.  All of this was not possible
	  before because the main function held onto the device
	  and it's handle.  Additionally, when acquiring the device
	  for the first time, the dfu module tries to put the device
	  into the correct state, instead of punting this process
	  to the later steps, when it is impossible to recover from.
	  Finally, the variables named "device" were changed to be
	  "handle" since that's what they really are and there are
	  references to the actual "device" structure in dfu.c now.
	* src/dfu.h: updated the prototypes to reflect the changes in
	  dfu.c.
	* src/main.c: remove the dfu_make_idle() calls and simplify
	  the main function since most of the work is now being done
	  in dfu.c.  Additionally, move the device discovery to dfu.c

2006-11-19 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* src/atmel.c: Added the dfu_make_idle() call before
	  operations that communicate with the device being flashed.
	  This should make the communications more reliable as it
	  puts the device in a known state.  Additionally, I added
	  some better error messages in the hopes that it will be
	  easier to diagnose the problem when commands to the
	  device fail.  Finally, I adjusted the return code checking
	  for dfu_get_statue() to reflect the new interface of 0 for
	  success or < 0 for errors.
	* src/commands.c: I fixed a poor error message.
	* src/dfu.c: I updated the dfu_get_status() function to simply
	  return 0 on a success, or < 0 on an error.  I added
	  dfu_make_idle() to allow the device to be put in a known
	  state or to force an early bailout.
	* src/dfu.h: dfu_make_idle() is publically available.

2006-11-19 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* src/dfu.c: Added a DFU status to string conversion method
	  and when debug is enabled, dfu_get_status() shows both the
	  string and the number for the status.
	* src/dfu.h: the dfu_status_to_string() is made publically
	  available.

2006-11-15 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* src/atmel.c: Remove the init function since it is no longer
	  needed.  This re-works the debug message support so there is
	  a simple macro DEBUG() that takes care of all the work.
	  Additionally, this fixes an erasing problem where when the
	  entire chip was supposed to be erased, it was not.  This
	  could cause problems because when the security bits are set,
	  they could never be unset.
	* src/atmel.h: Remove the init function since it is no longer
	  needed.
	* src/commands.c: This re-works the debug message support so
	  there is a simple macro DEBUG() that takes care of all the
	  work.
	* src/dfu.c: This re-works the debug message support so there
	  is a simple macro DEBUG() that takes care of all the work.
	  Additionally, there is no reason to have the init function
	  since we are going to use the one external debug variable.
	  This normalized all of the functions so they produce useful
	  information when debug messages are enabled.  Finally, this
	  adds an error number to message converter so that tracking
	  down errors is a bit easier.
	* src/dfu.h: Remove the init & debug functions.
	* src/main.c: Adjust the level needed to turn the libusb
	  debugging messages on.  Removed the atmel_init() call.
	* src/Makefile.am: Added util.c and util.h to be built.
	* src/util.c: Added the dfu_debug() function in a common
	  location.
	* src/util.h: Added the dfu_debug() function in a common
	  location.

2006-10-21 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* dfu-programmer.spec.in: This resolves several of the problems
	  present in the spec file.  The goal is to be able to make this
	  package part of the fedora extras.
	* configure.ac: Incremented the release number
	* NEWS: Updated the latest news about the 0.3.1 release
	* docs/dfu-programmer.1: Update the SEE ALSO section, AUTHOR
	  section and added the copyright information.

2006-06-24 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* dfu-programmer.spec.in: Update the supported chips
	* NEWS: Updated the latest news about the 0.3.0 release
	* src/arguments.c: Adjusted the 8051 based chip memory sizes to
	  be accurate, and the top memory address is calculated based off
	  of the memory size.
	* src/arguments.h: Added top_memory_address to differentiate the
	  memory size and top memory address.  This resolves my question
	  about the +1 offset.
	* src/atmel.c: Fix a bug where the last byte of memory was not being
	  transferred from the device for validation purposes.
	* src/commands.c: Updated to use memory_size and top_memory_address
	  depending on which value is needed, instead of using one value
	  to serve both purposes.

2006-06-24 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* dfu-programmer.spec.in: Update the supported chips
	* README: Added an instruction about building the source from CVS.

2006-06-19 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* AUTHORS: Updated David Brownell's contributions - which makes
	  up almost this entire check-in!
	* configure.ac: Incremented the release number
	* NEWS: Updated the latest news about the 0.3.0 release
	* src/arguments.c: Added the new targets, made the target names
	  case insensitive, added a version command line "command", updated
	  the mechanism for matching commands, and updated debugging output.
	* src/arguments.h: Added new targets, and cleaned the arguments
	  structure up a bit.
	* src/atmel.c: Applied general cleanup, matched the atmel.h
	  interfaces and added an AVR a configuration reading function.
	* src/atmel.h: Updated the interface to allow for 8051 vs AVR
	  differences.  This also starts the use of stdint.h values.
	* src/commands.c: Updated to a more standard debugging system and
	  added command checking for 8051 vs AVR differences.  There is
	  an open question about why we switch between args.memory_size
	  and args.memory_size+1 in comparisons.  I need to re-read up
	  on why in the world I did args.memory_size+1 in the first
	  place, then follow up with David about implications around
	  the AVR chips.
	* src/dfu.c: Updated to a more standard debugging system and
	  removed an overly verbose debug message.
	* src/intel_hex.c: Added comments about the record types, and
	  added 20 bit address types for the larger amount of addressable
	  flash memory.
	* src/main.c: Updated to a more standard debugging system,
	  updated the failure messages to include the package information.
	* README: Updated description and list of supported chips

2006-06-18 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* AUTHORS: Added David Brownell as a contributor.
	* configure: Removed because it is generated by bootstrap.sh
	* Makefile.in: Removed because it is generated
	* docs/Makefile.in: Removed because it is generated
	* src/Makefile.in: Removed because it is generated
	* src/Makefile.am: Applied David Brownell's patch that adds -Wall
	  as a compiler option.

2005-05-07 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* AUTHORS: Updated my email address
	* configure.ac: Incremented the release number
	* dfu-programmer.spec.in: Update the release to Fedora Core 5
	* NEWS: Updated the latest news about the 0.2.2 release
	* src/main.c: Fix the failure cases so that if the USB interface was
	  not acquired then it is not errantly released.

2005-11-21 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* configure.ac: Incremented the release number
	* NEWS: Updated the latest news about the 0.2.1 release

2005-11-21 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* docs/dfu-programmer.1: Bring the man page in-line with the
	  built in help, plus a bit more info.

2005-11-21 Weston Schmidt <weston_schmidt AT alumni.purdue.edu>

	* src/main.c: Two minor fixes to allow it to work with newer 2.6.xx
	  kernels.  The first had to do with using a function call to get
	  the buses to iterate over, and the second has to do with not
	  setting a configuration.  Apparently this doesn't need to be done.

2005-09-24 Weston Schmidt <weston_schmidt AT yahoo.com>

	* configure.ac: Incremented the release number
	* NEWS: Updated the latest news about the 0.2.0 release
	* src/commands.c: Removed the hard-coded restrictions on sizes and
	  instead malloc the space needed.  Additionally the size is gotten
	  from the arguments data structure, so that adding future devices
	  should be easier.
	* src/arguments.h: Added memory_size to the programmer_arguments
	  data structure.  Restructured the targets_enum so that it can
	  be used as keys into the target_map data structure for target
	  to name resolution without needing to duplicate data.
	* src/arguments.c: Made the changes needed to take advantage of the
	  memory size restructuring and changed the usage() function to
	  use iteration instead of duplication to display supported chips

2005-09-24 Weston Schmidt <weston_schmidt AT yahoo.com>

	* src/{*.c,*.h}, AUTHORS: removed the copyright information from the
	  file so that the AUTHORS file can manage this information for the
	  entire project

2005-09-24 Weston Schmidt <weston_schmidt AT yahoo.com>

	* src/{arguments.c,arguments.h,atmel.c,commands.c}: applied
	  Reinhard Arlt's patch that adds support for the at89c5131 chip
