Table 3.2. Storage Control Commands (cmd2=0x11)
cmd1 | cmd3 | Argument(e.g.) | Response Length | Operation |
---|---|---|---|---|
0x01 | 0x202 | 0x00000000 0x00001400 "DCIM\100CANON\IMG_0100.JPG" <NUL> | L | Get picture |
0x05 | 0x201 | "D:\DCIM" <NUL> | 0x5 | Make directory |
0x06 | 0x201 | "D:\DCIM" <NUL> | 0x54 | Delete directory |
0x09 | 0x201 | "D:\" <NUL> | 0x5c | Disk info request |
0x0A | 0x202 | none | L | Flash device identification |
0x0B | 0x202 | 0x01 "D:\DCIM"<NUL> <NUL> <NUL> | L | Get directory |
0x0D | 0x201 | "D:\DCIM\100CANON" <NUL> "IMG_0002.JPG" <NUL> | 0x54 | Delete file |
0x0E | 0x201 | 0x00000021 "D:\DCIM\100CANON" <NUL> "IMG_0002.JPG" <NUL> | 0x54 | Set file attributes |
0x0F | 0x201 | 0x00000021 "D:\DCIM\158CANON\AUT_0001.JPG" <NUL> <NUL> | 0x54 | Set file time |
Table 3.3. Camera Control Commands (cmd2=0x12)
cmd1 | cmd3 | Argument(e.g.) | Response Length | Operation |
---|---|---|---|---|
0x01 | 0x201 | none | 0x9c | Identify camera |
0x03 | 0x201 | none | 0x60 | Get time |
0x04 | 0x201 | 0x390873f0 0x00000000 | 0x54 | Set time |
0x05 | 0x201 | "Donald Duck" <NUL> | 0x54 | Change owner |
0x0A | 0x201 | none | 0x58 | Power supply status |
0x13 | 0x201 | varies | varies | Remote camera control |
0x17 | 0x202 | 0, 0x1400, 1, 0x2d011516 | L | Download Captured Image |
0x1A | 0x201 | 44 bytes | 0x80 | Unknown: EOS D30 only |
0x1B | 0x201 | 0x00000006 | 0x54 | EOS (D30/D60) Lock Keys |
0x1C | 0x201 | none | 0x54 | EOS (D30/D60) Unlock Keys |
0x1D | 0x201 | none | 0x58 | Get EOS Body ID |
0x1F | 0x201 | none | 0x384 | Get camera photo abilities |
0x20 | 0x201 | none | 0x54 | Lock keys, turn off LCD |
A length of L corresponds to a cmd3 of 0x202 and means that the program reads 0x40 from bulk in, checks for a word at position 0x06 for the length, and then reads the rest in 0x1400 buffers as described above.