source: trunk/README.TXT @ 530

Revision 509, 4.9 KB checked in by reyalp, 3 weeks ago (diff)

docs updates

  • Property svn:eol-style set to native
Line 
1=Introduction=
2chdkptp is a tool to access the custom PTP extension of the CHDK firmware addon for canon
3cameras.
4
5This is an alpha version - protocol, functionality, APIs, commands, command line options
6are all subject to change.
7
8Source is available from http://subversion.assembla.com/svn/chdkptp/
9Binary snapshot builds are available from http://www.assembla.com/spaces/chdkptp/documents
10Roadmap is under development in http://www.assembla.com/spaces/chdkptp/tickets
11Changelog is at http://www.assembla.com/wiki/show/chdkptp/Changelog
12
13This README is primarily intended for developers.
14
15Documentation for end users can be found in USAGE.TXT
16
17Installation information can be found in INSTALL.TXT
18
19Information about the Raspberry pi binary builds can be found in README-RASPI.TXT
20
21For information about CHDK, see http://chdk.wikia.com/wiki/CHDK
22For information about the CHDK PTP extension, see http://chdk.wikia.com/wiki/PTP_Extension
23
24chdkptp is forked from libptp and ptpcam, as modified by mweerden, the chdkde project developers
25and others. All source is released under GPL or MIT licenses
26
27The original ptpcam source, written by Mariusz Woloszyn < emsi[A@T]ipartners.pl >
28is available from http://libptp.sourceforge.net/
29
30mweerdens modified version can be found at https://github.com/mweerden/CHDK/tree/ptp
31
32the CHDKDE ptpcam source may be found at http://tools.assembla.com/chdkde/browser/trunk/tools/ptpcam
33
34chdkptp includes software from several other projects, see THANKS.TXT for details.
35
36=Dependencies=
37- IUP version 3.10.1 http://www.tecgraf.puc-rio.br/iup/ (earlier 3.x versions may also work)
38  Optional, edit config.mk to build without IUP GUI support
39- CD Version 5.7 http://www.tecgraf.puc-rio.br/cd/ (earlier 5.x versions may also work)
40  Optional, used for remote display
41- Lua version 5.1 http://www.lua.org/
42  There is also experimental support for Lua 5.2
43- LibUSB (libusb-win32 on windows)
44- GNU readline
45  Optional, recommended on Linux
46
47=Windows development environment=
48Mingw with gcc 4.8+ is the primary development environment.
49All instructions below assume you are using this.
50Using a mingw bash shell for development is suggested.
51
52==Installing mingw==
53http://www.mingw.org/
54Download the gui installer. Install at least mingw C compiler.
55C++ support is required to use CD "context plus", not required or used by default.
56Msys is suggested, and may be required
57
58==Installing IUP libraries==
59Get the mingw4 binary package of IUP,
60http://sourceforge.net/projects/iup/files/
61
62Note, this package has the libraries in the root, with etc/ and include/ subdirectories.
63You may want to put the libraries in /lib to match the IUP recommended filesystem layout
64The examples and win32 binaries are not required, but may be helpful
65
66==Installing CD libraries==
67Similar to IUP, from http://sourceforge.net/projects/canvasdraw/files/
68
69==Installing and building Lua==
70Get the lua 5.1.x source from http://www.lua.org/download.html
71In a msys shell, go to the lua directory and type
72make mingw
73make local
74
75NOTE:
76it's very important that Lua be linked to exactly the same C runtime library
77as chdkptp itself. The lbuf file routines expect to be able to fread and fwrite on
78a FILE * opened by lua io.open()
79
80This condition probably won't be met if you use a pre-compiled Lua dll on windows.
81It's probably OK with a shared lua in typical linux environments.
82If in doubt, build your own Lua with the same compiler you build chdkptp with.
83
84==Installing LibUSB development package==
85TODO
86describe filter driver installation
87http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.4.0/
88libusb-win32-bin-1.2.4.0.zip
89Unzip somewhere convenient
90
91Some earlier and later versions will also probably work
92
93=Linux development environment=
94The following is based on Ubuntu 10.04, 64 bit. YMMV
95Install the following packages and any required dependencies
96libusb-1.0-0
97libusb-dev (may be called libusb-1.0-dev ?)
98
99Lua
100Packages will be called something like
101liblua5.1-0-dev
102liblua5.1-0
103
104Alternately, you may download and build your own. This is suggested
105if you are building IUP and CD from source.
106
107GNU readline
108You need the development package, probably called something like
109libreadline6-dev or something like that
110
111IUP - using precompiled binaries
112Download the appropriate IUP library for your platform from
113http://www.tecgraf.puc-rio.br/iup/
114unpack the package
115adjust the IUP_LIB_DIR and IUP_INCLUDE_DIR in config.mk
116You will also need a fully working gcc environment.
117
118CD - similar to IUP
119
120==Building IUP and CD==
121If available, using pre-compiled libraries is suggested, but if you want to
122build from source some notes can be found in README-RASPI-LIBS.TXT
123
124=Configuring the source (all platforms)=
125Edit config.mk to reflect the installation directories of the above packages and
126desired compile time options
127See config-sample-*.mk for examples
128
129==Mac development==
130See README-OSX.TXT
131
132=Building=
133make
134
135=Testing your build=
136chdkptp -e"exec require'tests':runall()"
137
138This is not a comprehensive test.
139
140=Running=
141See USAGE.TXT
Note: See TracBrowser for help on using the repository browser.