qvplay allows the computer to control the Casio QV-10 digital camera. Use entirely at your own risk. Functions include downloading picture(s) from the camera, deleting camera image(s), report on camera and picture status, instruct the camera to take a photo, reset the camera etc.
The camera can take up to 96 pictures, each at 320x240 24-bit pixels. It can be linked to the serial port of a computer using the supplied cable (see under BUGS for wiring changes needed for some machines.
When switched on, the camera can be in one of three states - normally, it responds to its own control panel (Normal state) or it is in Command state when it only responds to commands from the computer. Finally, it can be Processing where it will only respond to the reset command. For this reason it is a good idea to reset the camera by running qvplay - r after using it with the computer.
If the camera does not respond, switch it off and then on again to do a 'hard' reset. If the transfer times out, try using a slower speed.
All pictures are output as 480x240 so you should re-size them with xv(1) or pipe through a converter, e.g.
qvplay -g 1 | djpeg | pnmscale -xsize 320 -ysize 240 | cjpeg
where djpeg(1) and cjpeg(1) are conversion routines from the International JPEG Group (often distributed with xv(1).
- D ttydevice Specify the serial port to use. Something like /dev/cua0 on Unix and COM1 on less sophisticated
systems.
- S speed Specify the baud rate for the transfer. Possible values are {normal, mid, high, top, light} or {1,2,3,4,5} for a corresponding {9600, 19200, 38400, 57600, 115200} baud rate. **aa** light speed' is supported in Linux, OS2, and Win NT/95. With Linux, use setserial(1) to achieve lightspeed e.g.
setserial /dev/cua1 spd_hi # set 57600baud qvplay -S top -o foo.jpg -g 1 or setserial /dev/cua1 spd_vhi # set 115200baud qvplay -S light -o foo.jpg -g 1
If you are using a PC/AT compatible computer, you will need a 16550A compatible serial controller to use more than 19200 baud (the 'mid' setting).
- p num Instruct camera to display picture number num.
- o basename Use basename as the basis for filenames with the - a option instead of qv. For example, - o foo will cause files foo_001.jpg, foo_002.jpg to be created.
- F format Governs the output format for the download. The format is determined by the first letter, so 'ppm', 'picture' and **aa** photo' are equivalent.
Possible values are:
jpeg The default. JPEG (JFIF) format. ppm PPM format thumbnail picture PPM PPM format picture rgb RGB format thumbnail picture RGB RGB format picture bmp BMP format thumbnail picture BMP BMP format picture cam CAM format picture (thumbnail and picture format) - Casio's proprietary format.
- g num Download the num'th image from the camera. If the - o basename option is used, then the picture will be saved as basename.jpg, otherwise, the image is sent to stdout.
- s num Specify the starting number for a mass download of files. Must be used before the - a option.
- e num Specify the ending number for a mass download of files. Must be used before the - a option.
- d num Delete the num'th image in the camera.
- 4 num1,num2,num3,num4 Display 4 images on the camera screen at once.
- 9 num1,num2,num3,num4 Display 9 images on the camera screen at once.
- P num Protect the num'th image.
- U num Unprotect the num'th image.
- i num Print information about the num'th picture. - a or - g.
- h Print a help message and exit.
- r Reset the camera and change baud rate to 9600 baud.
- n Print the number of pictures in the camera's memory.
- a Download all pictures from the camera and save as files called qv_001.jpg, qv_002.jpg etc. See also the -F, -o, -s and -e options.
- v Used with the -a and -g options, reports download verbosely on stderr. Reported information is downloaded bytes, not a filesize.
- t Instruct camera to take a picture - sets camera switch to REC position.
- I Print information about all pictures.
- 7 Display a colour bar on the camera.
- V Report approximate battery status.
- z Report camera status.
- Z Report camera revision (?)
The link cable uses CTS, DTR terminal as Vdd(+ side), and RTS terminal as Vss(- side). So qvplay(1), qvrec(1), and qvdelall(1) all turn CTS, DTR terminal on, RTS terminal
off and hold them there. Since some operating systems change RTS terminal to off, this causes serial communicaton to stop. If your computer cannot hold the RTS terminal off, you must hack the PC link cable to connect the RTS signal pin to GND pin. This small hardware hack applies a voltage difference from CTS, DSR to RTS, so that the circit in the Casio PC link cable works all the time.
As an alternative to hacking the PC link cable, you can make up an RS-232c jumper box as follows:
JUMPER BOX (PC/WS side) male female (PC link cable side) (RTS) 4 +------ 4(RTS) | (GND) 7 -------+-------7(GND)
And connect like this:
[PC/WS serial port]--[JUMPER BOX]--[PC link cable]--[QV10]
Jun-ichiro "itojun" Itoh <itojun@csl.sony.co.jp>
Non-Unix systems: -SHARP X68030 + Human68k 3.02 -PC/AT clone Windows NT 3.51(Intel)(work on DOS prompt) -PC/AT clone Windows 95(work on DOS prompt)
Systems marked with (*) need the hardware hack described under BUGS above.
camtoppm.pl(1) by Shuji Senda <senda@kuis.kyoto-u.ac.jp>.