| 1 | =Introduction= |
|---|
| 2 | chdkptp is a tool to access the custom PTP extension of the CHDK firmware addon for canon |
|---|
| 3 | cameras. |
|---|
| 4 | |
|---|
| 5 | This is an alpha version - protocol, functionality, APIs, commands, command line options |
|---|
| 6 | are all subject to change. |
|---|
| 7 | |
|---|
| 8 | chdkptp source is available from http://subversion.assembla.com/svn/chdkptp/ |
|---|
| 9 | Roadmap is under development in http://www.assembla.com/spaces/chdkptp/tickets |
|---|
| 10 | |
|---|
| 11 | For information about CHDK, see http://chdk.wikia.com/wiki/CHDK |
|---|
| 12 | For information about the CHDK PTP extension, see http://chdk.wikia.com/wiki/PTP_Extension |
|---|
| 13 | |
|---|
| 14 | chdkptp is forked from libptp and ptpcam, as modified by mweerden, the chdkde project developers |
|---|
| 15 | and others. All source is released under GPL or MIT licenses |
|---|
| 16 | |
|---|
| 17 | The original ptpcam source, written by Mariusz Woloszyn < emsi[A@T]ipartners.pl > |
|---|
| 18 | is available from http://libptp.sourceforge.net/ |
|---|
| 19 | |
|---|
| 20 | mweerdens modified version can be found at https://github.com/mweerden/CHDK/tree/ptp |
|---|
| 21 | |
|---|
| 22 | the CHDKDE ptpcam source may be found at http://tools.assembla.com/chdkde/browser/trunk/tools/ptpcam |
|---|
| 23 | |
|---|
| 24 | chdkptp includes software from several other projects, see THANKS.TXT for details. |
|---|
| 25 | |
|---|
| 26 | =Dependencies= |
|---|
| 27 | - IUP version 3.4 http://www.tecgraf.puc-rio.br/iup/ (earlier 3.x versions may also work) |
|---|
| 28 | Optional, edit makefile to build without iup gui support |
|---|
| 29 | - Lua version 5.1 http://www.lua.org/ |
|---|
| 30 | - LibUSB (libusb-win32 on windows) |
|---|
| 31 | - CHDK source for PTP protocol header http://tools.assembla.com/chdk/browser/trunk |
|---|
| 32 | |
|---|
| 33 | =Windows development environment= |
|---|
| 34 | Mingw with gcc 4.5+ is the primary development environment. |
|---|
| 35 | All instructions below assume you are using this. |
|---|
| 36 | Using a mingw bash shell for development is suggested. |
|---|
| 37 | |
|---|
| 38 | ==Installing mingw== |
|---|
| 39 | http://www.mingw.org/ |
|---|
| 40 | Download the gui installer. Install at least mingw C compiler. Msys is suggested, and may be required |
|---|
| 41 | E.g. http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/ |
|---|
| 42 | |
|---|
| 43 | ==Installing IUP libraries== |
|---|
| 44 | Get the mingw4 binary package of IUP, |
|---|
| 45 | http://sourceforge.net/projects/iup/files/3.3/Windows%20Libraries/ |
|---|
| 46 | file iup-3.3_Win32_mingw4_lib.zip |
|---|
| 47 | |
|---|
| 48 | Note, this package has the libraries in the root, with etc/ and include/ subdirectories. |
|---|
| 49 | You may want to put the libraries in /lib to match the IUP recommended filesystem layout |
|---|
| 50 | The examples and win32 binaries are not required, but may be helpful |
|---|
| 51 | |
|---|
| 52 | ==Installing and building Lua== |
|---|
| 53 | Get the lua 5.1.4 source from http://www.lua.org/download.html |
|---|
| 54 | In a msys shell, go to the lua directory and type |
|---|
| 55 | make mingw |
|---|
| 56 | make local |
|---|
| 57 | |
|---|
| 58 | ==Installing LibUSB development package== |
|---|
| 59 | TODO |
|---|
| 60 | describe filter driver installation |
|---|
| 61 | http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.2.0/ |
|---|
| 62 | libusb-win32-bin-1.2.2.0.zip |
|---|
| 63 | Unzip somewhere convenient |
|---|
| 64 | or is it libusb-win32-devel-filter-1.2.2.0.exe ? |
|---|
| 65 | |
|---|
| 66 | =Linux development environment= |
|---|
| 67 | The following is based on Ubuntu 10.04, 64 bit. YMMV |
|---|
| 68 | Install the following packages and any required dependencies |
|---|
| 69 | libusb-1.0-0 |
|---|
| 70 | libusb-dev (may be called libusb-1.0-dev ?) |
|---|
| 71 | liblua5.1-0-dev |
|---|
| 72 | liblua5.1-0 |
|---|
| 73 | |
|---|
| 74 | IUP - using precompiled binaries |
|---|
| 75 | Download the appropriate IUP library for your platform from |
|---|
| 76 | http://www.tecgraf.puc-rio.br/iup/ |
|---|
| 77 | unpack the package |
|---|
| 78 | adjust the IUP_LIB_DIR and IUP_INCLUDE_DIR in config.mk |
|---|
| 79 | |
|---|
| 80 | You will also need a fully working gcc environment. |
|---|
| 81 | |
|---|
| 82 | =Configuring the source (all platforms)= |
|---|
| 83 | Edit config.mk to reflect the installation directories of the above packages |
|---|
| 84 | See config-sample-*.mk for examples |
|---|
| 85 | |
|---|
| 86 | =Building= |
|---|
| 87 | make |
|---|
| 88 | |
|---|
| 89 | =Running= |
|---|
| 90 | See USAGE.TXT |
|---|