requesttype=0x17
Command: 0x60 bytes:
0000 20 00 00 00 02 02 00 00 00 00 00 00 00 00 00 00 ................ 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0040 02 00 00 00 17 00 00 12 20 00 00 00 22 29 05 01 ............").. 0050 00 00 00 00 00 14 00 00 01 00 00 00 16 15 01 2d ...............-
The information is all 4-byte integers.
0x50: zero
0x54: maximum block length to be used for bulk transfer of the image (0x00001400 here)
0x58: code: 1=fetch thumbnail, 2=fetch full image
0x5c: image index obtained from an interrupt read just after capture. The G2 seems less finicky about this: its an integer that counts up from 1 in each session. The EOS cameras have some inscrutable code that must be gotten from the camera.
Response packet of 0x40 bytes:
0000 00 00 00 00 02 03 30 17 00 00 00 00 00 00 00 00 ......0......... 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Bytes 6-10 of the reply packet contain the 32-bit total length of the image data transfers, here 0x00001730. We must then issue a series of bulk reads as explained above.