2002-01-09  Fredrik <fredrik@krixor.xy.org>

	* *.{c,h}: Re-indented and removed everything
	  #ifdef OBSOLETE to make sources clean before gPhoto2
	  2.0 is released.

2002-01-08  christophe barb <christophe.barbe.ml@online.fr>

	* usb.c: Change model detection to look at model name instead
	  of USB vendor/product ID since this is required to make the
	  current implementation of overriding camera model work.

2002-01-21  Fredrik <fredrik@krixor.xy.org>

	* usb.c: Don't key lock Pro 90 IS cameras, they do not support
	  it. Reported by Karl Thaller.

	* usb.c, Protocol:
	  Fixed a bug in the init sequence code (write 0x50 bytes like
	  the Windows driver - not 0x10 like we used to). This actually
	  made another bug (in the cameras firmware) surface and we had
	  to mimic the Windows drivers workaround which is to call
	  'Identify camera' multiple times.

	  If you want to read more about this, go read the gphoto-devel
	  archives from around this date. Look for messages about trouble
	  with Canon G1, Pro90IS and EOS D30 cameras.

	* canon.c, canon.h, library.c, serial.c:
	  Reverted behaviour of canon_int_get_time() to return time in
	  cameras time instead of converted to UTC since it makes more
	  sense to display the same time as the camera does on it's
	  display.

	  Made canon_int_get_time() always return gphoto2 status codes.

2002-01-15  Lutz Mller <urc8@rz.uni-karlsruhe.de>

	* *.c: gp_camera_status -> gp_context_status

2002-01-14  Fredrik <fredrik@krixor.xy.org>

	* canon.c, library.c: More carefull buffer size checking in some
	  places. We should do a real audit of these.

	* library.c: Fixed mkdir and rmdir functions which did not convert
	  from gphoto paths to canon paths.

2002-01-13  Lutz Mller <urc8@rz.uni-karlsruhe.de>

	* *.[c,h]: Replase last call to gp_camera_set_error (I oversaw one
	  hidden in the header file).

2002-01-13  Lutz Mller <urc8@rz.uni-karlsruhe.de>

	* *.[c,h]: Replace calls to gp_camera_set_error by gp_context_error.

2002-01-12  Hans Ulrich Niedermann <gp@n-dimensional.de>

	* README: New readme for new driver
	
2002-01-11  Hans Ulrich Niedermann <gp@n-dimensional.de>

	* *.[ch]: checked in rewritten driver which uses GPFilesystem
		  directly (from the hun branch)
	
2002-01-08  Dan Fandrich <dan@coneharvesters.com>

	* Makefile.am: Removed redundant CFLAGS and LDFLAGS lines

2002-01-07  Fredrik <fredrik@krixor.xy.org>

	* canon.c: Small fix to Dan's portable timezone code from
	yesterday. The wrong time was set.

	* library.c: Improved camera_summary() with better error-checking
	and nicer formatted output.

2002-01-06  Dan Fandrich <dan@coneharvesters.com>

	* util.h: added MIN and MAX definitions
	* library.c: added support for locale-specific thousands separator
	* canon.c: added support for tm.tm_gmtoff to get time zone offset

2002-01-04  Fredrik <fredrik@krixor.xy.org>

	* canon.c, canon.h:
	Changed canon_int_get_time() to convert the time to
	GMT before returning it to the caller to simplify
	time operations elsewhere.

	Changed canon_int_set_time() to accept the time to
	set as a parameter instead of always setting it to
	the computers time. Also use correct endian code
	to convert it to little endian before sending it to
	the camera and hopefully convert the time to local
	timezone before setting it since Canon cameras
	know nothing about timezone.

	* library.c: Reflect changes to get/set_time.

	* canon.c, library.c: Improve error checking and
	debug diagnostics when camera does not return the
	expected ammount of data.

2002-01-01  Fredrik <fredrik@krixor.xy.org>

	* usb.c: Don't keylock G1 cameras, they do not
	  support it. Reported by Jarno Elonen.

2001-12-24  Hans Ulrich Niedermann <gp@n-dimensional.de>

	* library.c: stop reporting broken camera abilities

2001-12-23  Fredrik <fredrik@krixor.xy.org>

	* canon.c, canon.h, serial.c, usb.c, util.c, util.h :

	  Patch from Michel Dnzer <daenzer@debian.org>,

	  Handle endian issues when communicating with the
	  cameras by using the new _byteorder.h include
	  provided to us by gphoto2 autoconf.

	* canon.c, canon.h, library.c, serial.c, usb.c :
	  Put all model data in a canonCamModelData structure
	  in canon.h so that there is only one place that has
	  to be changed when adding new models. This is also
	  a start to defining properties/abilities for cameras
	  in a central place instead of checking what model
	  we are talking to everywhere in the code.

	  Output cameras time and the difference between it
	  and the host computers time in --summary.

2001-12-15  Fredrik <fredrik@krixor.xy.org>

	* library.c, canon.h:
	  Moved models[] from library.c to canon.h and added
	  canonCamModel model to models[].

	* usb.c, usb.h:
	  Identify USB cameras based on USB vendor/product ID.
	  This was necessary because we need to know what
	  model it is before initializing since some models
	  do that differently.

	* usb.c:
	  Add special treatment of EOS D30 cameras to
	  canon_usb_camera_init() when camstat is 'A'. Simplified
	  canon_usb_camera_init() in general.

	* usb.c:
	  Moved the code from canon_usb_ready() to
	  canon_usb_init() - canon_usb_ready() should send a
	  'ping' packet to check if the camera is alive instead
	  of doing stuff like identification and key locking.

	* usb.c:
	  Changed canon_usb_dialogue() to read responses in two
	  passes - one that reads as much as possible that is
	  divideable with 0x40 and then one that reads the
	  expected number of bytes modulus 0x40. This is what
	  the windows driver does and it appears some cameras
	  (EOS D30) likes this better.

2001-12-06  Fredrik <fredrik@krixor.xy.org>

	* canon.c, library.c:
	  Re-worked file deleting after reports saying it didn't
	  work. Now it works for me at least.

2001-12-05  Fredrik <fredrik@krixor.xy.org>

	* usb.h:
	  Added EOS D30 (and possibly other models) commands to
	  lock and unlock camera keys.

	* usb.c, usb.h:
	  Renamed canon_usb_keylock() to canon_usb_lock_keys().
	  Added canon_usb_unlock_keys(), the only camera known to
	  support this is the EOS D30. This is called from
	  camera_exit().
	  Corrected comments about how canon_usb_dialogue() works.

	* canon.c: Improved error checking on return from
	  canon_{usb,serial}_dialogue() calls and changed some
	  functions to return GP_ codes instead of hard coded
	  integer values.

	* library.c:
	  Call canon_usb_unlock_keys() from camera_exit() if
	  using USB.

2001-12-04  Fredrik <fredrik@krixor.xy.org>
	
	* canon.c: Improved debug output in canon_int_get_time().

	* canon.c, canon.h, serial.c, serial.h, usb.c, usb.h:
	  Moved canon_int_serial_ready() to serial.c and renamed
	  it to canon_serial_ready().
	  Moved canon_int_usb_ready() to usb.c and renamed
	  it to canon_usb_ready().

	* library.c: Don't say we are switching off camera if
	  USB, since we are not.

	* usb.c: Make canon_usb_keylock() not try to keylock
	  EOS D30 cameras, they seem to do keylocking different.

2001-12-01  Fredrik <fredrik@krixor.xy.org>

	* usb.c, usb.h:
	  Added canon_usb_get_dirents().

	* serial.c, serial.h:
	  Added canon_serial_get_dirents().

	* canon.h: added CANON_MINIMUM_DIRENT_SIZE.

	* canon.c, canon.h:
	  Exchanged canon_int_list_directorys() with my
	  rewritten version. At least some hypothetical bugs
	  fixed, easier to understand and proper error-checking.
	  This should hopefully not break serial, since this is
	  almost the same code as I used when debugging other
	  serial stuff on Philippes computer/camera from 1600
	  km distance a few weeks ago.

	* library.c:
	  Re-wrote _get_file_path() since it was really hard to
	  understand. The first time I tried to understand it I
	  got it all wrong and even added some faulty comments.

	Also replaced some random gp_debug_printf() with
	GP_DEBUG() and re-indented *.c.

2001-11-29  Fredrik <fredrik@krixor.xy.org>

	* usb.c, usb.h:
	  Implemented canon_usb_keylock() which locks the
	  cameras keys and turns off the LCD.

	* usb.c:
	  Changed a read of 0x44 bytes to two, one of 0x40
	  and one of 0x4 bytes. This seems to fix the problems
	  we have had with initialization only working every
	  second time for some cameras.

	  Changed canon_usb_dialogue() to return the number of
	  bytes the caller is interested in rather than the
	  total number of bytes read from the camera for
	  "non-long" reads.

	* canon.c:
	  Move some more code from canon_int_ready() to
	  canon_int_serial_ready().

	  Don't show init errors with gp_camera_status(), use
	  gp_camera_set_error() for that.

	  Updated canon_int_usb_ready() to call new
	  canon_usb_keylock() and also do things in a slightly
	  different order.

2001-11-27  Hans Ulrich Niedermann <gp@n-dimensional.de>

	* README: added note about CRW (raw) support
	* canon.c: added support for PowerShot S40
	* canon.h: added support for PowerShot S40
	* library.c: added support for PowerShot S40
	
2001-11-27  Hans Ulrich Niedermann <gp@n-dimensional.de>

	* ChangeLog: created new file
	* Changelog: declared deprecated
