1
.\" $Id: photopc.1,v 2.31 2000/02/17 07:46:17 crosser Exp $
3
.\" Copyright (c) 1997-1999 Eugene G. Crosser
4
.\" Copyright (c) 1998,1999 Bruce D. Lightner (DOS/Windows support)
6
.\" You may distribute and/or use for any purpose modified or unmodified
7
.\" copies of this software if you preserve the copyright notice above.
9
.\" THIS SOFTWARE IS PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY
10
.\" KIND, EITHER EXPRESSED OR IMPLIED. IN NO EVENT WILL THE
11
.\" COPYRIGHT HOLDER BE LIABLE FOR ANY DAMAGES RESULTING FROM THE
12
.\" USE OF THIS SOFTWARE.
14
.\" $Log: photopc.1,v $
15
.\" Revision 2.31 2000/02/17 07:46:17 crosser
18
.\" Revision 2.30 1999/12/26 13:59:45 crosser
19
.\" sort frame list for erase command; new version 3.03
21
.\" Revision 2.29 1999/12/11 14:10:15 crosser
22
.\" Support sgtty terminal control
23
.\" Proper "fake speed" handling (needed two values)
25
.\" Revision 2.28 1999/12/01 21:41:23 crosser
26
.\" add "pseudo" speed
28
.\" Revision 2.27 1999/06/24 04:28:45 crosser
29
.\" note "number of rfames not updated" bug
31
.\" Revision 2.26 1999/06/07 20:05:08 crosser
32
.\" Note on 32Mb card problem on Nikon
34
.\" Revision 2.25 1999/04/28 08:40:45 crosser
37
.\" Revision 2.24 1999/03/21 20:22:09 crosser
38
.\" sync format desc with actual program
40
.\" Revision 2.23 1999/03/13 13:10:13 crosser
41
.\" reflect 3.00 changes
43
.\" Revision 2.22 1999/02/28 22:40:48 crosser
44
.\" suggest audio compression is adpcm
46
.\" Revision 2.21 1999/02/26 23:54:42 crosser
47
.\" Correct JFIF vs. Exif vs. JPEG things
49
.\" Revision 2.20 1999/01/17 14:16:50 crosser
52
.\" Revision 2.19 1999/01/17 13:37:29 crosser
53
.\" fix copyright info
55
.\" Revision 2.18 1998/12/20 21:58:58 crosser
58
.\" Revision 2.17 1998/12/06 08:40:34 crosser
59
.\" more comapibility things
61
.\" Revision 2.16 1998/11/20 22:49:46 crosser
62
.\" mention problems with CP900
64
.\" Revision 2.15 1998/11/20 22:34:10 crosser
65
.\" elaborate on list vs. llist
67
.\" Revision 2.14 1998/10/18 19:07:36 crosser
68
.\" renamed "list" to "llist", make new "list" that works on all models.
70
.\" Revision 2.13 1998/10/18 13:18:27 crosser
71
.\" Put RCS logs and I.D. into the source
73
.\" Revision 2.12 1998/08/08 22:16:33 crosser
74
.\" reflect timezone related things
76
.\" Revision 2.11 1998/08/08 14:00:33 crosser
77
.\" unimportant changes
79
.\" Revision 2.10 1998/07/21 22:56:52 crosser
82
.\" Revision 2.9 1998/06/07 18:41:40 crosser
83
.\" frame intervals, digital zoom
85
.\" Revision 2.8 1998/06/07 13:55:20 crosser
86
.\" compatibilities and credits
88
.\" Revision 2.7 1998/03/01 18:57:04 crosser
91
.\" Revision 2.6 1998/02/16 06:14:29 lightner
92
.\" Add docs for -V and -z options
94
.\" Revision 2.5 1998/02/13 23:02:40 crosser
95
.\" Point that upload does not work on LOWMEMORY model
97
.\" Revision 2.4 1998/01/27 21:52:55 crosser
100
.\" Revision 2.3 1998/01/18 02:24:31 crosser
103
.\" Revision 2.2 1998/01/11 21:20:54 crosser
106
.\" Revision 2.1 1998/01/04 13:55:57 crosser
107
.\" New commands: protect, list
109
.\" Revision 2.0 1998/01/03 19:54:26 crosser
111
.\" locktoggle command
114
.\" Revision 1.2 1997/12/24 00:19:13 crosser
115
.\" describe new commands
116
.\" claim that we work with other digital cameras (do we really?)
118
.\" Revision 1.1 1997/08/17 08:59:54 crosser
121
.TH PHOTOPC 1 "24 May 1997" "PhotoPC manipulation tool" "User Commands"
124
photopc \- utility to control digital cameras based on Sierra Imaging firmware
128
photopc [-h] [-V] [-v[v]] [-q] [-z] [-t] [-f timeformat] [-s <speed>] [-S <pseudo-speed>] [-l <device>] [command [params] ] ...
132
This is a command line tool to manipulate digital still cameras that use
133
certain control protocol, namely Agfa ePhoto line, Epson PhotoPC line,
134
Olympus D-xxxL line, Sanyo and Nikon (at least CoolPix 900) cameras. It
135
can set camera parameters, download and erase pictures, e.t.c. It was
136
originally developed for Epson PhotoPC 500, now the author uses it with
137
Olympus D-600L, results with other models may vary.
144
This option produces a help screen of all options and commands.
148
This option prints software revision information.
152
This option enables verbose output. Using two -v options increases the
153
level of verbosity. This is primarily meant for debugging.
157
This option sets quiet mode. If it is not specified, the program will
158
show running download progress indicator.
162
This option sets no time-zone processing mode. Use this option if the
163
camera's clock is (should be) set up shifted by the local timezone
168
This option allows setting the data rate to use when communicating with
169
the camera. Valid rates are 9600, 19200, 38400, 57600 and 115200 (the
172
.\" This is added on request by Detlev Droege <droege@uni-koblenz.de>
173
.\" who says that on Next/OpenStep (and on other platforms too) `Special
174
.\" serial I/O Cards exist which work on the doubble or quadruple speed
175
.\" than the machine thinks they do'
178
On some UNIX systems with some serial hardware/driver combinations you
179
need to "lie" to the driver about the communication speed that you want
180
to use at startup and during the session. Physical startup speed is
181
always 19200. E.g., if on your system speeds up to 19200 are translated
182
one to one, but in order to use 57600 baud you have to specify 50 baud,
183
and you want to run at 57600, you'll need to specify
184
.B photopc -s57600 -S19200,50
187
Another example: if your driver will use physical speed four times
188
as high as you told it to set, and you want to run at default 115200
189
physical speed, specify
190
.B photopc -S4800,28800
195
Set timestamp of generated files to the time of snapshot.
199
This option allows to specify the format for automatically generated
200
image file names; the value is used as the format string for strftime(3)
201
function. By default, names of the format "MMDD_NNN.jpg" are generated,
202
where MM is a month, DD is a day, and NNN is a count starting from 001.
203
A good starting point for the timeformat value could be
204
"%Y_%m_%d-%H_%M_%S.jpg". If the format string contains context "%%XXXd"
205
where XXX are digits, it is taken for the count, i.e. if the file with
206
such name is present, next count is tried. If the format string does
207
not contain "%%XXXd" part, the count field, if necessary, is appended at
210
A few single-character formats are used as shortcuts. "x" makes the
211
name of seconds since the epoch in hexadecimal format (8 characters +
212
".jpg"), "d" - the same in decimal format (10 characters), "1" stands
213
for default format "%m%d_%%03d.jpg", "2" stands for "%y%m%d%%02d.jpg",
214
"3" stands for "%Y_%m_%d-%H_%M_%S.jpg" and 4 stands for
215
"%Y/%m/%d/%H_%M_%S.jpg". The program attempts to create intermediate
216
directories if necessary (and possible).
220
This allows specifying the serial device to use for communicating with
221
the camera. The default is
223
(which is typically created as
224
a (symbolic) link to the real device, e.g. /dev/ttyS0) in UNIX, and
226
in DOS and Windows. Note that the program does not use UUCP style locks
227
so you need to be certain that no other program, such as uugetty,
228
uucico or mouse manager, is trying to access the same device.
232
After the options, one or more commands can be given in the command line.
236
as a parameter. Frame list is a comma-separated list of tokens (no
237
whitespace allowed), each of the tokens being a word
239
or a single number, or two numbers separated by a dash (-),
240
or a number followed by a dash and a word
242
(without whitespace).
246
Display all current camera settings.
250
Output the number of pictures stored in the camera. This is intended
251
for use in shell scripts.
255
List information about frames stored in the camera. Fields displayed
256
are: frame number, size of image file, protection state, resolution
257
mode, timestamp and filename if available. Faster than
259
but may not work with some (older) models.
261
WARNING: this command changes current directory on models that support
262
directory tree on the flash media.
266
List more information about frames stored in the camera. Fields
267
displayed are: frame number, protection state, size of image file,
268
resolution mode, flash, shutter and timestamp. Slower than
270
and does not work with models that use
274
WARNING: this command changes current directory on models that support
275
directory tree on the flash media.
279
On the models that support multiple directories on the flash media,
280
change current directory as specified.
282
The program chdir's to the first non-empty folder at the beginning.
287
specify full path starting with
288
a slash. If it where unix you could also
289
.BI cd " ../something
290
but here we do not have a way to move up one level.
293
.B protect <frame-list> On | Off
294
Change "protected" status of frames. Frame numbering starts at 1. The
295
command will fail if the frame number is omitted, not numeric, or does
296
not correspond to a stored frame. "Protected" frames cannot be erased
297
with "erase" and "eraseall" commands or with the "erase" button on the
301
.B erase <frame-list>
302
Erase frames. Frame numbering starts at 1. The command will fail if the
303
frame number is omitted, not numeric, or does not correspond to a stored
306
To avoid unexpected results, list of frames specified for this command
307
is sorted and processed in reverse order.
311
Erase all stored frames.
319
Switch off the camera. This command only has this effect on some models
320
(notably Olympus D-600L). On other models, it just terminate the
321
session immediately (otherwise the camera would be active several
322
seconds after the last command). On models with big timeout, such as
323
Photopc 600, it may be wise to always issue "off" at the end of command
324
row, to decrease power consumption.
326
All commands going after "off" are ignored.
329
.B image <frame-list> <file-or-dir-name>
330
Download an image or series of images from the camera to disk file(s) on
331
the host computer. Frame numbering starts at 1. The command will fail
332
if the frame number is omitted, not numeric, or does not correspond to a
333
stored frame. Files are stored in JPEG (JFIF or Exif) format. Image
334
file also contains a thumbnail portion, and set of parameters like the
335
shutter speed, date and time, I.D. string and more. Directory must be
336
specified if frame list is requested. If directory name is specified,
337
downloaded file(s) will get unique names starting with month and date of
338
snapshot, unless -f option is used, in which case unique names are
339
created according to the format specified.
342
.B thumbnail <frame-list> <file-or-dir-name>
343
Download a thumbnail image or series of thumbnails from the camera to
344
disk file(s) on the host computer. Frame numbering starts at 1. The
345
command will fail if the frame number is omitted, not numeric, or does
346
not correspond to a stored frame. Files are stored in JPEG (JFIF or Exif)
347
format. If the camera does not keep files in
349
format, then the thumbnail file also contains a set of parameters like
350
the shutter speed, date and time, I.D. string and more. Directory must
351
be specified if frame list is requested. If directory name is
352
specified, downloaded file(s) will get unique names starting with month
353
and date of snapshot, unless -f option is used.
356
.B audio <frame-list> <file-or-dir-name>
357
Download an audio notice file or series of files from the camera to disk
358
file(s) on the host computer. Frame numbering starts at 1. The command
359
will fail if the frame number is omitted, not numeric, or does not
360
correspond to a stored frame. Files are stored with ".wav" extention but
363
RIFF WAV format. It is compressed in some way, probably with some
364
variation of ADPCM. The program stores the raw data as provided by the
365
camera, it is not playable as a normal
367
file. Directory must be specified if frame list is requested. If
368
directory name is specified, downloaded file(s) will get unique names
369
starting with month and date of snapshot, unless -f option is used.
372
.B preview <file-name>
373
take a `preview' snapshot and save image as a <file-name>. File is in
374
JPEG (JFIF or Exif) format, and does not contain any additional data,
375
just plain (very low resolution) image.
378
.B upload <file-name>
379
Upload image file into the camera. This command is not enabled in
380
LOWMEMORY version (i.e. under MS/DOS).
383
You cannot upload arbitrary JPEG file. Depending on the camera model,
384
such attempt may result in the image not uploaded, not viewable, or even
385
the camera "hung" needing to remove the batteries to make it work again.
386
File previously downloaded from the same camera model is always uploadable.
387
Otherwise, your milage may vary.
389
program does not perform any checks, so it's up to the user to provide
390
the file in proper format.
393
.B resolution Hi | Lo | Ext | <number>
394
Set the camera to high, low or extended resolution mode. Exact meaning
395
of the modes is model-dependant and may specify different image
396
dimensions and/or JPEG compression rate.
400
Set the camera's internal real-time clock using the current date and
401
time from the host computer. Time of taking a snapshot is included
402
inside the JPEG files produced. Note that the models which display
403
the time on the LCD will then display GMT rather than local time.
406
option, time shifted by the timezone offset is set, and the LCD will
407
display local time. Using unshifted (GMT) time in the camera seems a
412
Set the camera shutter speed. Units can be specified in microseconds or
413
in traditional form like "1/250". Valid interval depends on the model.
414
If a value outside the interval is specified, the camera will set the
415
speed to the nearest margin of the valid interval. Special speed value
417
will set automatic shutter. Note that this only works while the camera
418
is connected to the host, and automatically turns the flash off. While
419
disconnected, shutter speed is always set automatically. Also note that
420
there is no known way to control the aperture value from the host.
423
.B flash Auto | Force | Off | AntiRedeye | SlowSync
424
Set the camera flash mode.
428
Set the camera identifier string that is included inside the JPEG files
429
produced. Only few models support this.
432
.B autoshut-host <seconds>
433
Automatically shut off the camera after that many seconds of inactivity
434
while connected to the computer (on the host).
437
.B autoshut-field <seconds>
438
Automatically shut off the camera after that many seconds of inactivity
439
while disconnected from the computer (in the field).
442
.B lcd-autoshut <seconds>
443
Automatically shut off the LCD monitor after that many seconds of inactivity.
446
.B lcd-brightness <value>
447
Set LCD brightness to the value (valid values are 1 to 7).
451
Set the lens macro mode. As far as I can tell, on fixed focus models
452
macro only means force minimum aperture, not change the focal length.
453
Only has effect in the same invocation with "snapshot" command.
457
Set color or B/W mode.
461
Set digital zoom on or off. Note that low resolution must be set prior
462
to turning on digital zoom. Only has effect in the same invocation with
469
% photopc -f "image%H:%M:%S" eraseall snapshot image 1 .
473
The latest version of this tool can be found at
474
ftp://ftp.average.org/pub/photopc/; see also WWW page at
475
http://www.average.org/digicam/.
477
Trademarks are properties of their respective owners.
481
On some models, powersaving timeouts are measured not in seconds but in
482
1/10 sec units. The program reports them as in seconds.
484
Llist command relies on the format of thumbnail image that does not
485
contain necessary information on some models (e.g. Nikon CP 900), this
486
command does not work for these models. List command, on the contrary,
487
do not display useful data on models that do not return it in the
488
register 47 (e.g. Agfa 780).
490
The program is known to have some timing problems talking to Nikon CP900
491
when the camera is "napping" in powersaving mode. Until the problem is
492
solved, a workaround is to run the program this way:
494
.B $ photopc && photopc
497
Nikon seem to have some other problems too, especially when doing
498
"actions" (e.g. snapshots, erase).
500
Another Nikon problem: if 32Mb (or bigger?) memry card is inserted, the
501
program cannot get the number of frames taken, and if "all" or "NN-last"
502
range is specified for downloading, the program fails. Specify explicit
503
range of frames. Also, with any card, number of frames taken is not
504
updated immediately after the "snapshot" command (the same has been
505
reported for other models). If you find how to find the correct number
506
of frames, please let me know.
510
The program is copyrighted by Eugene G. Crosser <crosser@average.org>
511
and freely distributable. See README file for detailes. DOS and
512
Windows support copyright Bruce D. Lightner <lightner@lightner.net>
516
The man page was originally written by Jeff Tranter
517
<jeff_tranter@pobox.com>, who also contributed a few bugfixes. Some
518
information about the serial protocol obtained from Jun-ichiro "itojun"
519
Itoh <itojun@itojun.org>, Thierry Bousch
520
<bousch%linotte.uucp@topo.math.u-psud.fr> and other contributors.
524
epinfo(1), strftime(3), protocol description (protocol.htm in the source