Added code to set attribute bits in the new protocol, but I don't think

I have the right value.
Added struct to help in printing intelligible messages when the camera
   reports an error.


git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@7676 67ed7778-7388-44ab-90cf-0a291f65f57c
This commit is contained in:
Stephen H. Westin
2005-03-24 21:59:51 +00:00
parent ea6edf29f0
commit 6e5ed28513

View File

@@ -93,6 +93,8 @@
* understood.
* @CANON_USB_FUNCTION_20D_UNKNOWN_4: First seen with EOS 20D, not yet
* understood.
* @CANON_USB_FUNCTION_SET_ATTR_2: Presumed code to set attribute bits
* for a file on an EOS 20D and its ilk.
*
* Codes to give to canon_usb_dialogue() or canon_usb_long_dialogue()
* to select which command to issue to the camera. See the protocol
@@ -135,6 +137,7 @@ typedef enum {
CANON_USB_FUNCTION_20D_UNKNOWN_4,
CANON_USB_FUNCTION_20D_UNKNOWN_5,
CANON_USB_FUNCTION_DELETE_FILE_2,
CANON_USB_FUNCTION_SET_ATTR_2,
} canonCommandIndex;
/**
@@ -251,7 +254,7 @@ static const struct canon_usb_cmdstruct canon_usb_cmd[] = {
/* Command code 0x0e is overloaded: set file attribute (old),
* flash device ID (new). And the response is different: fixed
* length in old, variable length in new. */
{CANON_USB_FUNCTION_SET_ATTR, "Set file attribute", 0x0e, 0x11, 0x201, 0x54},
{CANON_USB_FUNCTION_SET_ATTR, "Set file attributes", 0x0e, 0x11, 0x201, 0x54},
{CANON_USB_FUNCTION_FLASH_DEVICE_IDENT_2, "Flash device ident (new)", 0x0e, 0x11, 0x202, 0x40},
{CANON_USB_FUNCTION_SET_FILE_TIME, "Set file time", 0x0f, 0x11, 0x201, 0x54},
/* Notice the overloaded command code 0x13: remote camera control
@@ -271,9 +274,12 @@ static const struct canon_usb_cmdstruct canon_usb_cmd[] = {
{CANON_USB_FUNCTION_EOS_GET_BODY_ID_2, "New EOS get body ID", 0x23, 0x12, 0x201, 0x58},
{CANON_USB_FUNCTION_GET_PIC_ABILITIES_2, "New get picture abilities", 0x24, 0x12, 0x201, 0x474},
{CANON_USB_FUNCTION_20D_UNKNOWN_3, "Unknown EOS 20D function", 0x25, 0x12, 0x201, 0x54},
{CANON_USB_FUNCTION_20D_RETRIEVE_CAPTURE_2, "New download a captured image", 0x26, 0x12, 0x202, 0x54},
{CANON_USB_FUNCTION_20D_RETRIEVE_CAPTURE_2, "New download a captured image", 0x26, 0x12, 0x202, 0x40},
{CANON_USB_FUNCTION_20D_UNKNOWN_4, "Unknown EOS 20D function", 0x35, 0x12, 0x201, 0x5c},
{CANON_USB_FUNCTION_20D_UNKNOWN_5, "Unknown EOS 20D function", 0x36, 0x12, 0x201, 0x54},
/* WARNING: I don't think this is really the right value, but
* it gives no error on EOS 20D -- swestin 22-Mar-05 */
{CANON_USB_FUNCTION_SET_ATTR_2, "Set file attributes (new))", 0x07, 0x11, 0x201, 0x54},
{ 0 }
};
@@ -308,6 +314,12 @@ static const struct canon_usb_control_cmdstruct canon_usb_control_cmd[] = {
{ 0 }
};
/* For mapping status codes to intelligible messages */
struct canon_usb_status {
int code;
char *message;
};
/****************************************************************************
*
* prototypes