0
Offline
Newbie
Karma: 0
Posts: 14
Arduino rocks
|
 |
« Reply #36 on: February 19, 2010, 05:13:53 pm » |
Im working on a similar project to control my Canon DSLR. I have an Arduino Duemilenova connected to a FTDI Host Controller which then sends commands to the camera via USB. But I can't figure out at the moment how to format the information to the camera. I've been looking at the libgphoto as an example, but no dice so far.
I figure its gotta be sent in ascii, in a format such as
Camera Device ID , command , subcommand
Have you made any progress?
The following are codes for a canon camera:
my %canon_cmd = ( "0x01 0x11 0x202" => "Get picture/thumbnail", "0x01 0x12 0x201" => "Identify camera", "0x03 0x12 0x201" => "Get time", "0x03 0x11 0x403" => "Upload data block", "0x04 0x12 0x201" => "Set time", "0x05 0x11 0x201" => "Make directory", "0x05 0x12 0x201" => "Change owner (old) or get owner (new)", "0x06 0x11 0x201" => "Remove directory", "0x06 0x12 0x201" => "Change owner (new)", "0x09 0x11 0x201" => "Disk info request", "0x0a 0x11 0x202" => "Flash device ID", "0x0a 0x11 0x201" => "Delete file (new)", "0x0a 0x12 0x201" => "Power supply status", "0x0b 0x11 0x202" => "Get directory", "0x0d 0x11 0x201" => "Delete file (old) or Disk info request (new)", "0x0e 0x11 0x201" => "Set file attribute", "0x0e 0x11 0x202" => "Flash Device ID (new)", "0x0f 0x11 0x201" => "Set file time", "0x13 0x12 0x201" => "Remote Camera control", "0x17 0x12 0x202" => "Download captured image", "0x18 0x12 0x202" => "Download captured preview", "0x1a 0x12 0x201" => "Unknown EOS D30 command", "0x1b 0x12 0x201" => "EOS lock keys", "0x1c 0x12 0x201" => "EOS unlock keys", "0x1d 0x12 0x201" => "EOS get body ID (old) or Get Custom Functions (new)", "0x1f 0x12 0x201" => "Get camera abilities", "0x20 0x12 0x201" => "Lock keys, turn off LCD", "0x21 0x12 0x201" => "Unknown newer command", "0x22 0x12 0x201" => "Unknown newer command", "0x23 0x12 0x201" => "Get EOS Body ID (new)", "0x24 0x12 0x201" => "Get camera abilities (new)", "0x25 0x12 0x201" => "Remote Camera control (new)", "0x26 0x12 0x202" => "Get captured image (new)", "0x35 0x12 0x201" => "Unknown newer command", "0x36 0x12 0x201" => "Unknown newer command" );
my %control_subcmd = ( "0x00" => "Camera control init", "0x01" => "Exit release control", "0x02" => "Start viewfinder", "0x03" => "Stop viewfinder", "0x04" => "Release shutter", "0x07" => "Set release params", "0x09" => "Set transfer mode", "0x0a" => "Get release params", "0x0b" => "Get zoom position", "0x0c" => "Set zoom position", "0x0d" => "Get available shot", "0x0e" => "Set custom func.", "0x0f" => "Get custom func.", "0x10" => "Get extended release params size", "0x11" => "Get extended params version", "0x12" => "Get extended release params", "0x13" => "Set extended params", "0x14" => "Select camera output", "0x15" => "Do AE, AF, and AWB" );
|