SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

/*

$Id: README,v 2.21 2000/05/09 13:20:54 crosser Exp $ */

/*

        Copyright (c) 1997-2000 Eugene G. Crosser
        Copyright (c) 1998,1999 Bruce D. Lightner (DOS/Windows support)

        You may distribute and/or use for any purpose modified or unmodified
        copies of this software if you preserve the copyright notice above.

        THIS SOFTWARE IS PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY
        KIND, EITHER EXPRESSED OR IMPLIED.  IN NO EVENT WILL THE
        COPYRIGHT HOLDER BE LIABLE FOR ANY DAMAGES RESULTING FROM THE
        USE OF THIS SOFTWARE.

*/

/*

        $Log: README,v $
        Revision 2.21  2000/05/09 13:20:54  crosser
        configure read() with alarm() better.
        Address signed vs. unsigned arguments
        other cleanups to make most notorious compilers happy
        
        Revision 2.20  2000/05/02 22:26:35  crosser
        A few things incorporated from John Bowman's Nikon specific diffs
        
        Revision 2.19  2000/01/24 20:25:23  crosser
        do better job in walking thru folder tree; credit to Sergey I. Panov
        
        Revision 2.18  1999/11/24 21:51:25  crosser
        instruction about building from cvs source
        
        Revision 2.17  1999/09/19 12:33:11  crosser
        Mention comlite32 in the README
        
        Revision 2.16  1999/08/26 16:11:57  crosser
        Change README to reflect new directory structure
        
        Revision 2.15  1999/08/01 22:13:10  crosser
        mention reltime priority things

        Revision 2.14  1999/08/01 21:36:54  crosser
        Modify source to suit ansi2knr
        (I hate the style that ansi2knr requires but you don't expect me
        to write another smarter ansi2knr implementation, right?)

        Revision 2.13  1999/04/28 08:28:53  crosser
        just don't like long copyrights

        Revision 2.12  1999/04/27 20:55:35  lightner
        Fix MS-DOS/Win32 makefile instructions

        Revision 2.11  1999/03/22 05:59:31  lightner
        Fix docs: Windows binaries go to win32/

        Revision 2.10  1999/03/21 20:21:04  crosser
        mention configure

        Revision 2.9  1999/01/17 09:51:16  crosser
        change Bruce's address

        Revision 2.8  1998/10/18 13:18:27  crosser
        Put RCS logs and I.D. into the source

        Revision 2.7  1998/07/21 22:56:52  crosser
        fix CP 900
        
        Revision 2.6  1998/06/07 13:55:20  crosser
        compatibilities and credits
        
        Revision 2.5  1998/05/09 18:22:42  crosser
        say that devices with modem control are allowable,
        minor fixes
        
        Revision 2.4  1998/03/01 18:57:04  crosser
        more credits
        
        Revision 2.3  1998/02/06 09:04:59  crosser
        mention DOS version
        
        Revision 2.2  1998/01/18 02:22:28  crosser
        change copyright
        
        Revision 2.1  1998/01/05 22:02:14  crosser
        add reference to Bruce's site
        
        Revision 2.0  1998/01/02 19:20:11  crosser
        Added support for Win32
        
        Revision 1.4  1997/12/24 00:30:14  crosser
        add vendors, add url, add credits.
        
        Revision 1.3  1997/11/15 19:29:47  crosser
        update for release 1.7
        
        Revision 1.2  1997/11/12 09:50:27  crosser
        mention photopc600, minor changes
        
        Revision 1.1  1997/08/17 09:06:54  crosser
        Initial revision

*/

This is a library and a command-line frontend to manipulate digital still cameras based on Fujitsu chipset and Sierra Imaging firmware. The program is known to work with Agfa, Epson, Olympus, Sanyo and Nikon (at least CoolPix 900 and 950, but not CoolPix 600!) cameras.

The cameras typically come with software for Windows and for Mac, and no description of the protocol. With this tool, they are managable from a UNIX box. Bruce D. Lightner <lightner@lightner.net> has added support for Win32 and DOS platforms. Note that the program does not have any GUI, it is plain command-line even on Windows.

I tried it under Linux/x86, FreeBSD, Solaris/SPARC and HP/UX, and it should be straightforward for other UNIX systems.

Generally, UNIX system requirements are: - ANSI C compiler (theoretically should work with K&R but unchecked) - POSIX termios or BSD sgtty
- presence of a 16bit integer type
- serial port (with or without `modem control').

On UNIX, first run "./configure". Then, typing `make' will result in building the library and executables in the current directory. `make install' will install the executables, library and manual pages. If your `make' supports VPATH (e.g. GNU make), it is possible to build objects and executables in a different directory; create target directory and run /path/to/photopc/configure. If you are building from CVS source see instructions at the end of this file.

When building on NeXT, you may need to specify --without-termios because termios is reportedly broken on NeXT. The program will use BSD sgtty style terminal control then. When building on BeOS, you may need to specify --enable-alarmed-read because on BeOS select() reportedly only works on network sockets and not on other type of streams.

On UNIX systems that have sched_setcheduler() function the program can set itself "realtime priority". That makes it less vulnerable to possible timeouts caused by high system load, and, more important, it makes possible to use high-resolution mode of nanosleep() function. That means that it may run a bit quicker (but you probably will not notice anyway). Make the progrem setuid root to use this mode. There is hopefully no danger because it revokes root privileges really fast (even before processing command-line options). If you are so paranoid that you don't want even to compile in this feature, run configure with --without-rtprio option.

To build for DOS and WIN32, chdir to "dos" or "win32" directories respectively and there type "make".

The executable parameters are rather clear (hopefully). Running `photopc -h | more' will print the list of options and commands. If you are going to use the library for your own application and need the docs, tell me and I will write them.

Included file `protocol.htm' contains description of the protocol used by the camera.

`usage.htm' is a "casual" user's guide, full description is in the man pages.

If you run the program on a DOS box, you may want a JPEG viewer; I've been told that a good free viewer `LXPIC' can be found at http://home.t-online.de/home/stefan.peichl. Also, there is a tool that may help in discovering serial protocols (although I did not use it when I examined that camera's protocol): http://www.endymion.com/portfolio/software/comlite32.htm

Many commands may be unimplemented, esp. those specific for newer models. If you know how to do things that the program currently cannot do, please let me know.

I can be contacted at <crosser@average.org>, fresh version of this tool (if any) is at ftp://ftp.average.org/pub/photopc/, related information is at http://www.average.org/digicam/. For CVS see bottom of this file. Some earlier and modified versions of the code accompanied by Win32 and DOS executables and archived in .zip format can be found at http://www.lightner.net/lightner/bruce/photopc/

Thanks to Jeff Tranter for contributing the man page and a few bugfixes, Bruce Lightner for Windows and DOS support, Thierry Bousch for many details of the protocol and advice, Sergey I. Panov for invaluable investigation of the folder navigation means, John Bowman for Nikon specific parts and other people who helped me to track down problems and learn more about the protocol.

Trademarks are properties of their respective respected owners.

APPENDIX: Building from CVS source.

You must have cvs, autoconf and automake installed on your system.

$ cd $your_src_dir
$ cvs -d :pserver:cvs@cvs.average.org:/var/cvs login Password: cvs
$ cvs -d :pserver:cvs@cvs.average.org:/var/cvs checkout photopc $ cd photopc
$ aclocal
$ autoheader
$ automake --add-missing
$ autoconf
$ ./configure --$various_options
$ make


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.