summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2020-05-21 16:38:38 +0200
committerMarcus Meissner <marcus@jet.franken.de>2020-05-21 16:44:54 +0200
commit6bf565b43e622d9190d54a563e4bfc1ed08b2b5f (patch)
tree38e8734c4215b1e31057421da64cc5059a736f78
parent7630c58c06699689169c4225f27ff4d3d6bce383 (diff)
downloadlibgphoto2-6bf565b43e622d9190d54a563e4bfc1ed08b2b5f.tar.gz
added c102 as new olympus objectadded event, and c101 as captgure complete
https://github.com/gphoto/gphoto2/issues/310
-rw-r--r--camlibs/ptp2/library.c12
-rw-r--r--camlibs/ptp2/ptp.h1
2 files changed, 12 insertions, 1 deletions
diff --git a/camlibs/ptp2/library.c b/camlibs/ptp2/library.c
index f4402ac93..ab3d18f22 100644
--- a/camlibs/ptp2/library.c
+++ b/camlibs/ptp2/library.c
@@ -6212,7 +6212,7 @@ sonyout:
return GP_OK;
}
if (params->deviceinfo.VendorExtensionID == PTP_VENDOR_GP_OLYMPUS_OMD)
- {
+ {
do {
C_PTP_REP (ptp_check_event (params));
@@ -6221,9 +6221,19 @@ sonyout:
GP_LOG_D ("received event Code %04x, Param 1 %08x", event.Code, event.Param1);
switch (event.Code) {
case 0xC002:
+ case PTP_EC_OLYMPUS_ObjectAdded:
case PTP_EC_ObjectAdded:
newobject = event.Param1;
goto downloadomdfile;
+ case PTP_EC_OLYMPUS_CaptureComplete:
+ *eventtype = GP_EVENT_CAPTURE_COMPLETE;
+ *eventdata = NULL;
+ return GP_OK;
+ case PTP_EC_OLYMPUS_PropChanged:
+ *eventtype = GP_EVENT_UNKNOWN;
+ C_MEM (*eventdata = malloc(strlen("PTP Property 0123 changed to 0x012345678")+1));
+ sprintf (*eventdata, "PTP Property %04x changed to 0x%08x", event.Param1, event.Param2);
+ return GP_OK;
default:
GP_LOG_D ("unexpected unhandled event Code %04x, Param 1 %08x", event.Code, event.Param1);
break;
diff --git a/camlibs/ptp2/ptp.h b/camlibs/ptp2/ptp.h
index 7c26a286b..e28f0e769 100644
--- a/camlibs/ptp2/ptp.h
+++ b/camlibs/ptp2/ptp.h
@@ -1138,6 +1138,7 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_EC_PANASONIC_ObjectAdded 0xC108
#define PTP_EC_PANASONIC_ObjectAddedSDRAM 0xC109
+#define PTP_EC_OLYMPUS_CaptureComplete 0xC101 /* guessing */
#define PTP_EC_OLYMPUS_ObjectAdded 0xC102
#define PTP_EC_OLYMPUS_PropChanged 0xC108