Man Linux: Main Page and Category List

NAME

       photopc  -  utility  to control digital cameras based on Sierra Imaging
       firmware

SYNOPSIS

       photopc [-h] [-V] [-v[v]] [-q] [-z] [-t] [-f timeformat]  [-s  <speed>]
       [-S <pseudo-speed>] [-l <device>] [command [params] ] ...

DESCRIPTION

       This  is  a  command line tool to manipulate digital still cameras that
       use certain control protocol, namely Agfa ePhoto  line,  Epson  PhotoPC
       line,  Olympus  D-xxxL  line,  Sanyo  and  Nikon (at least CoolPix 9xx)
       cameras.  It can set camera parameters, download  and  erase  pictures,
       e.t.c.   It  was  originally  developed  for Epson PhotoPC 500, now the
       author uses it with Olympus D-600L, results with other models may vary.

OPTIONS

       -h   This option produces a help screen of all options and commands.

       -V   This option prints software revision information.

       -v   This option enables verbose output. Using two -v options increases
            the level of verbosity. This is primarily meant for debugging.

       -q   This option sets quiet mode.  If it is not specified, the  program
            will show running download progress indicator.

       -z   This option sets no time-zone processing mode.  Use this option if
            the camera’s clock is (should be) set  up  shifted  by  the  local
            timezone offset.

       -s speed
            This option allows setting the data rate to use when communicating
            with the camera.  Valid rates are 9600, 19200,  38400,  57600  and
            115200 (the default).

       -S speed
            On some UNIX systems with some serial hardware/driver combinations
            you need to "lie" to the driver about the communication speed that
            you  want  to  use  at  startup  and during the session.  Physical
            startup speed is always 19200.  E.g., if on your system speeds  up
            to 19200 are translated one to one, but in order to use 57600 baud
            you have to specify 50 baud, and you want to run at 57600,  you’ll
            need to specify photopc -s57600 -S19200,50 <commands ...>

            Another example: if your driver will use physical speed four times
            as high as you told it to set, and you  want  to  run  at  default
            115200 physical speed, specify photopc -S4800,28800 <commands ...>

       -t   Set timestamp of generated files to the time of snapshot.

       -f timeformat
            This  option  allows  to  specify  the  format  for  automatically
            generated image file names; the value is used as the format string
            for  strftime(3)  function.   By  default,  names  of  the  format
            "MMDD_NNN.jpg"  are  generated,  where MM is a month, DD is a day,
            and NNN is a count starting from 001.  A good starting  point  for
            the  timeformat  value  could  be "%Y_%m_%d-%H_%M_%S.jpg".  If the
            format string contains context "%%XXXd" where XXX are  digits,  it
            is  taken  for  the  count,  i.e.  if  the  file with such name is
            present, next count is tried.   If  the  format  string  does  not
            contain  "%%XXXd" part, the count field, if necessary, is appended
            at the end of the name.

            A few single-character formats are used as shortcuts.   "x"  makes
            the  name  of  seconds  since  the  epoch in hexadecimal format (8
            characters + ".jpg"),  "d"  -  the  same  in  decimal  format  (10
            characters),  "1"  stands for default format "%m%d_%%03d.jpg", "2"
            stands     for     "%y%m%d%%02d.jpg",     "3"      stands      for
            "%Y_%m_%d-%H_%M_%S.jpg"  and 4 stands for "%Y/%m/%d/%H_%M_%S.jpg".
            The  program  attempts  to  create  intermediate  directories   if
            necessary (and possible).

       -l device
            This  allows specifying the serial device to use for communicating
            with the camera. The default is /dev/photopc (which  is  typically
            created  as a (symbolic) link to the real device, e.g. /dev/ttyS0)
            in UNIX, and COM1: in DOS and Windows.  Note that the program does
            not  use  UUCP style locks so you need to be certain that no other
            program, such as uugetty, uucico or mouse manager,  is  trying  to
            access the same device.

COMMANDS

       After  the  options,  one  or more commands can be given in the command
       line.

       Some commands accept frame-list as a parameter.  Frame list is a comma-
       separated  list  of  tokens (no whitespace allowed), each of the tokens
       being a word all, or a single number, or two  numbers  separated  by  a
       dash  (-),  or  a  number  followed  by a dash and a word last (without
       whitespace).

       query
            Display all current camera settings.

       count
            Output the number of pictures  stored  in  the  camera.   This  is
            intended for use in shell scripts.

       list List  information  about  frames  stored  in  the  camera.  Fields
            displayed are: frame number, size of image file, protection state,
            resolution mode, timestamp and filename if available.  Faster than
            llist but may not work with some (older) models.

            WARNING: this command changes current  directory  on  models  that
            support directory tree on the flash media.

       llist
            List  more  information about frames stored in the camera.  Fields
            displayed are: frame number, protection state, size of image file,
            resolution  mode,  flash, shutter and timestamp.  Slower than list
            and does not work with models that use Exif file format.

            WARNING: this command changes current  directory  on  models  that
            support directory tree on the flash media.

       cd <path>
            On  the  models  that  support  multiple  directories on the flash
            media, change current directory as specified.

            The  program  chdir’s  to  the  first  non-empty  folder  at   the
            beginning.   So,  your  first  cd  command  must specify full path
            starting with a  slash.  If  it  where  unix  you  could  also  cd
            ../something but here we do not have a way to move up one level.

       protect <frame-list> On | Off
            Change  "protected" status of frames. Frame numbering starts at 1.
            The command will fail if the frame number is omitted, not numeric,
            or  does  not  correspond  to  a stored frame.  "Protected" frames
            cannot be erased with "erase" and "eraseall" commands or with  the
            "erase" button on the camera.

       erase <frame-list>
            Erase  frames.  Frame numbering starts at 1. The command will fail
            if  the  frame  number  is  omitted,  not  numeric,  or  does  not
            correspond to a stored frame.

            To  avoid  unexpected  results,  list of frames specified for this
            command is sorted and processed in reverse order.

       eraseall
            Erase all stored frames.

       eraselast
            Erase most recently taken frame.

       snapshot
            Take a picture.

       off  Switch off the camera.  This command only has this effect on  some
            models  (notably  Olympus  D-600L).   On  other  models,  it  just
            terminates the session immediately (otherwise the camera would  be
            active  several  seconds  after the last command).  On models with
            big timeout, such as Photopc 600, it may be wise to  always  issue
            "off" at the end of command row, to decrease power consumption.

            All commands going after "off" are ignored.

       image <frame-list> <file-or-dir-name>
            Download  an  image  or  series  of images from the camera to disk
            file(s) on the host computer.  Frame numbering starts  at  1.  The
            command  will fail if the frame number is omitted, not numeric, or
            does not correspond to a stored frame.  Files are stored  in  JPEG
            (JFIF  or  Exif)  format.   Image  file  also contains a thumbnail
            portion, and set of parameters like the shutter  speed,  date  and
            time,  I.D. string and more.  Directory must be specified if frame
            list is requested.  If directory  name  is  specified,  downloaded
            file(s)  will  get  unique  names  starting with month and date of
            snapshot, unless -f option is used, in  which  case  unique  names
            according to -f option setting.

       thumbnail <frame-list> <file-or-dir-name>
            Download a thumbnail image or series of thumbnails from the camera
            to disk file(s) on the host computer. Frame numbering starts at 1.
            The command will fail if the frame number is omitted, not numeric,
            or does not correspond to a stored frame. Files are stored in JPEG
            (JFIF  or Exif) format.  If the camera does not keep files in EXIF
            format, then the thumbnail file also contains a set of  parameters
            like  the  shutter  speed,  date  and time, I.D.  string and more.
            Directory must be  specified  if  frame  list  is  requested.   If
            directory  name  is  specified, downloaded file(s) will get unique
            names according to -f option setting.

       audio <frame-list> <file-or-dir-name>
            Download an audio notice file or series of files from  the  camera
            to disk file(s) on the host computer. Frame numbering starts at 1.
            The command will fail if the frame number is omitted, not numeric,
            or  does  not  correspond to a stored frame. Files are stored with
            ".wav" extention but the format is not RIFF  WAV  format.   It  is
            compressed  in  some  way,  probably with some variation of ADPCM.
            The program stores the raw data as provided by the camera,  it  is
            not  playable  as a normal .wav file.  Directory must be specified
            if frame list is  requested.   If  directory  name  is  specified,
            downloaded  file(s)  will  get unique names according to -f option
            setting.

       preview <file-name>
            take a ‘preview’ snapshot and save image as a  <file-name>.   File
            is  in  JPEG  (JFIF  or  Exif)  format,  and  does not contain any
            additional data, just plain (very low resolution) image.

       upload <file-name>
            Upload image file into the camera.  This command is not enabled in
            LOWMEMORY version (i.e. under MS/DOS).

            WARNING!  You cannot upload arbitrary JPEG file.  Depending on the
            camera model, such attempt may result in the image  not  uploaded,
            not  viewable,  or  even  the  camera "hung" needing to remove the
            batteries to make it work again.  File previously downloaded  from
            the  same  camera  model  is  always  uploadable.  Otherwise, your
            milage may vary.  photopc program does not perform any checks,  so
            it’s up to the user to provide the file in proper format.

       mode Record | Play | Thumbnail
            Set specified operation mode on certain models.

       resolution Hi | Lo | Ext | <number>
            Set  the  camera  to high, low or extended resolution mode.  Exact
            meaning of the modes is model-dependant and may specify  different
            image dimensions and/or JPEG compression rate.

       clock
            Set  the  camera’s internal real-time clock using the current date
            and time from the host computer.  Time of  taking  a  snapshot  is
            included  inside  the  JPEG  files produced.  Note that the models
            which display the time on the LCD will  then  display  GMT  rather
            than  local  time.   With  -z option, time shifted by the timezone
            offset is set,  and  the  LCD  will  display  local  time.   Using
            unshifted (GMT) time in the camera seems a proper way to go.

       shutter <speed>
            Set   the  camera  shutter  speed.   Units  can  be  specified  in
            microseconds or in traditional form like "1/250".  Valid  interval
            depends  on  the  model.   If  a  value  outside  the  interval is
            specified, the camera will set the speed to the nearest margin  of
            the  valid  interval.  Special speed value auto will set automatic
            shutter.  Note that this only works while the camera is  connected
            to  the  host,  and  automatically  turns  the  flash  off.  While
            disconnected, shutter speed is always set automatically.

       aperture Auto | Lo | Med | Hi
            Set the lense aperture on models that support it.

       flash Auto | Force | Off | AntiRedeye | SlowSync
            Set the camera flash mode.

       id <string>
            Set the camera identifier string that is included inside the  JPEG
            files produced.  Only few models support this.

       autoshut-host <seconds>
            Automatically  shut  off  the  camera  after  that many seconds of
            inactivity while connected to the computer (on the host).

       autoshut-field <seconds>
            Automatically shut off the  camera  after  that  many  seconds  of
            inactivity while disconnected from the computer (in the field).

       lcd-autoshut <seconds>
            Automatically  shut off the LCD monitor after that many seconds of
            inactivity.

       lcd-brightness <value>
            Set LCD brightness to the value (valid values are 1 to 7).

       focus Macro | Normal | Infinity
            Set the lens focusing mode.  As far as I can tell, on fixed  focus
            models  macro  only  means  force minimum aperture, not change the
            focal length.   Only  has  effect  in  the  same  invocation  with
            "snapshot" command.

       adjust Normal | Contrast+ | Contrast- | Brightness+ | Brightness-
            Set adjustment of picture brightness/contrast.

       metering Center-weighted | Spot | Matrix
            Set auto exposure metering mode.

       whitebalance  Normal  |  Sunny  |  Incandescent | Fluorescent | Flash |
       Preset | Cloudy
            Set white balance.

       color On | Off
            Set color or B/W mode.

       dzoom On | Off | <number>
            Set  digital zoom on or off.  Note that low resolution must be set
            prior to turning on digital  zoom.   Numeric  values  have  model-
            dependant  meaning.   Only  has effect in the same invocation with
            "snapshot" command.

       zoom <mm>
            Set optical zoom value on models that support it.

EXAMPLES

       % photopc query

       % photopc -f "image%H:%M:%S" eraseall snapshot image 1 .

OTHER NOTES

       The   latest   version   of    this    tool    can    be    found    at
       ftp://ftp.average.org/pub/photopc/;    see    also    WWW    page    at
       http://www.average.org/digicam/.

       Trademarks are properties of their respective owners.

KNOWN BUGS

       On some models, powersaving timeouts are measured not in seconds but in
       1/10 sec units.  The program reports them as in seconds.

       Llist  command  relies  on  the format of thumbnail image that does not
       contain necessary information on some models (e.g. Nikon CP 900),  this
       command does not work for these models.  List command, on the contrary,
       do not display useful data on models that  do  not  return  it  in  the
       register 47 (e.g. Agfa 780).

       The  program  is  known  to  have some timing problems talking to Nikon
       CP900 when the camera is "napping"  in  powersaving  mode.   Until  the
       problem is solved, a workaround is to run the program this way:

       $ photopc && photopc <command list>

       Nikon  seem  to  have  some  other  problems too, especially when doing
       "actions" (e.g. snapshots, erase).

       Another Nikon problem: if 32Mb (or bigger?) memry card is inserted, the
       program  cannot  get  the  number of frames taken, and if "all" or "NN-
       last" range is specified for downloading, the program  fails.   Specify
       explicit  range of frames.  Also, with any card, number of frames taken
       is not updated immediately after the "snapshot" command (the  same  has
       been  reported  for other models).  If you find how to find the correct
       number of frames, please let me know.

COPYRIGHT

       The program is copyrighted by Eugene G.  Crosser  <crosser@average.org>
       and  freely  distributable.   See  README  file  for detailes.  DOS and
       Windows support copyright Bruce D. Lightner <lightner@lightner.net>

CREDITS

       The   man   page   was   originally    written    by    Jeff    Tranter
       <jeff_tranter@pobox.com>,  who  also  contributed a few bugfixes.  Some
       information about the serial protocol obtained from Jun-ichiro "itojun"
       Itoh            <itojun@itojun.org>,           Thierry           Bousch
       <bousch%linotte.uucp@topo.math.u-psud.fr> and other contributors.

SEE ALSO

       epinfo(1),  strftime(3),  protocol  description  (protocol.htm  in  the
       source distribution).