Thursday 7 June 2007

Using gphoto2 with a Canon Digital IXUS 430

For a long time I have been wondering whether our old Canon Digital Ixus 430 was able to remote capture (be controlled by a computer interface through the USB cable). Gphoto2 seems to be the likely answer, but the documentation is rather scarce. I have earlier been able to connect and list the pictures already on my camera, but not been able to control the actual picture taking.

The --list-config option yields:

~$ sudo gphoto2 --list-configDetected a 'Canon:PowerShot S410 Digital ELPH (normal mode)'.
/main/camera/model
/main/camera/owner
/main/camera/capturesizeclass
/main/camera/datetime
/main/camera/setcameratime
/main/camera/firmwareversion
/main/camera/driver
/main/Driver/list_all_files


Recently the AF on the camera was broken. At least, the camera can't seem to find a focus point unless it is in macro mode. If anyone knows of a solution, please let me know. I was very fond of the old camera.

Anyway, I made a last effort to connect it through gphoto2. -And I found the solution!
The solution was to specify the camera model. Gphoto recognises the camera as 'Canon:PowerShot S410 Digital ELPH (normal mode)', but if I specify it as 'Canon Digital IXUS 430 (PTP mode)' it works. To capture, I have to initially enable capture by running the command as instructed onwww.gphoto.org/doc/remote/:

sudo gphoto2 --port usb:. --camera "Canon Digital IXUS 430 (PTP mode)" --set-config capture=on

This retracts the lens. The --list-config option now yields:

~$ sudo gphoto2 --port usb:. --camera "Canon Digital IXUS 430 (PTP mode)" --list-config
/main/settings/owner
/main/settings/model
/main/settings/firmwareversion
/main/settings/time
/main/settings/beep
/main/settings/capturetarget
/main/settings/capture
/main/imgsettings/imgquality
/main/imgsettings/imgsize
/main/imgsettings/iso
/main/imgsettings/whitebalance
/main/imgsettings/photoeffect
/main/capturesettings/zoom
/main/capturesettings/assistlight
/main/capturesettings/exposurecompensation
/main/capturesettings/canonflashmode
/main/capturesettings/aperture
/main/capturesettings/focusingpoint
/main/capturesettings/shutterspeed
/main/capturesettings/meteringmode
/main/capturesettings/afdistance


Now, if I run the command:

sudo gphoto2 --port usb:. --camera "Canon Digital IXUS 430 (PTP mode)" --capture-preview --filename preview.jpg

I get a preview file at the current location. I still have some issues with getting a full capture, but will probably figure it out soon.

My setup is currently:
sudo gphoto2 --port usb:. --camera "Canon Digital IXUS 430 (PTP mode)" --set-config afdistance=1 --set-config canonflashmode=0 --set-config exposurecompensation=6

... and the camera battery is empty. I will be back