summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2020-05-23 11:21:34 +0200
committerMarcus Meissner <marcus@jet.franken.de>2020-05-23 11:21:34 +0200
commit1468ae8a6906bfc8bf60557ccc5b935330554b7b (patch)
tree918e75706fb1f8baf45327f626ddb6c648cc93f4
parent6fe9c53ca33b5d6a28c93046dbb9039b0c3ca51d (diff)
downloadlibgphoto2-1468ae8a6906bfc8bf60557ccc5b935330554b7b.tar.gz
replaced olympus event names by olympus capture ones, added some cases, removed capture complete
-rw-r--r--camlibs/ptp2/library.c53
-rw-r--r--camlibs/ptp2/ptp.h41
2 files changed, 40 insertions, 54 deletions
diff --git a/camlibs/ptp2/library.c b/camlibs/ptp2/library.c
index 088e6492e..858af8a89 100644
--- a/camlibs/ptp2/library.c
+++ b/camlibs/ptp2/library.c
@@ -4814,49 +4814,11 @@ camera_olympus_omd_capture (Camera *camera, CameraCaptureType type, CameraFilePa
while (ptp_get_one_event(params, &event)) {
switch (event.Code) {
- case 0xc002:
- case PTP_EC_OLYMPUS_ObjectAdded: /* seen in newer traces, https://github.com/gphoto/gphoto2/issues/310 */
+ case PTP_EC_Olympus_ObjectAdded:
+ case PTP_EC_Olympus_ObjectAdded_New: /* seen in newer traces, https://github.com/gphoto/gphoto2/issues/310 */
case PTP_EC_ObjectAdded:
newobject = event.Param1;
goto downloadfile;
- case 0xc003:
-#if 0
- { /* we seem to receive the event when ready ... not sure if this is the right trigger, as it has unrelated parameters */
- CameraFile *file;
- unsigned char *data = NULL;
- unsigned int size = 0;
- CameraFileInfo info;
- int ret;
-
- C_PTP_REP (ptp_olympus_sdram_image(params, &data, &size));
-
- gp_file_new (&file);
- gp_file_set_data_and_size (file, (char*)data, size);
-
- sprintf(path->folder, "/store_deadbeef");
- sprintf(path->name, "capt%04d.jpg", params->capcnt++);
-
- ret = gp_filesystem_append(camera->fs, path->folder, path->name, context);
- if (ret != GP_OK) {
- gp_file_free (file);
- return ret;
- }
- ret = gp_filesystem_set_file_noop(camera->fs, path->folder, path->name, GP_FILE_TYPE_NORMAL, file, context);
- if (ret != GP_OK) {
- gp_file_free (file);
- return ret;
- }
- memset(&info, 0, sizeof(info));
- /* We also get the fs info for free, so just set it */
- info.file.fields = GP_FILE_INFO_TYPE | GP_FILE_INFO_SIZE | GP_FILE_INFO_MTIME;
- strcpy (info.file.type, GP_MIME_JPEG);
- info.file.size = size;
- info.file.mtime = time(NULL);
-
- gp_filesystem_set_info_noop(camera->fs, path->folder, path->name, info, context);
- return GP_OK;
- }
-#endif
default:
GP_LOG_D ("unexpected unhandled event Code %04x, Param 1 %08x", event.Code, event.Param1);
break;
@@ -6222,16 +6184,13 @@ sonyout:
while (ptp_get_one_event(params, &event)) {
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_Olympus_ObjectAdded:
+ case PTP_EC_Olympus_ObjectAdded_New:
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:
+ case PTP_EC_Olympus_DevicePropChanged:
+ case PTP_EC_Olympus_DevicePropChanged_New:
*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);
diff --git a/camlibs/ptp2/ptp.h b/camlibs/ptp2/ptp.h
index 780c9346c..3cc0ccb98 100644
--- a/camlibs/ptp2/ptp.h
+++ b/camlibs/ptp2/ptp.h
@@ -1118,10 +1118,6 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_EC_Nikon_SBAttrChanged 0xC122 /* e1: sbhandle, e2: attrid */
#define PTP_EC_Nikon_SBGroupAttrChanged 0xC123 /* e1: sbgroupid, e2: groupattrid */
-/* Olympus E series */
-#define PTP_EC_Olympus_PropertyChanged 0xC102
-#define PTP_EC_Olympus_CaptureComplete 0xC103
-
/* Sony */
#define PTP_EC_Sony_ObjectAdded 0xC201
#define PTP_EC_Sony_ObjectRemoved 0xC202
@@ -1138,9 +1134,40 @@ 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
+/* Olympus E series, PTP style in the 2018+ range (e1mark2 etc.) */
+/* From olympus capture tool */
+#define PTP_EC_Olympus_CreateRecView 0xC001
+#define PTP_EC_Olympus_CreateRecView_New 0xC101
+#define PTP_EC_Olympus_ObjectAdded 0xC002
+#define PTP_EC_Olympus_ObjectAdded_New 0xC102
+#define PTP_EC_Olympus_AF_Frame 0xC003
+#define PTP_EC_Olympus_AF_Frame_New 0xC103
+#define PTP_EC_Olympus_DirectStoreImage 0xC004
+#define PTP_EC_Olympus_DirectStoreImage_New 0xC104
+#define PTP_EC_Olympus_ComplateCameraControlOff 0xC005
+#define PTP_EC_Olympus_ComplateCameraControlOff_New 0xC105
+#define PTP_EC_Olympus_AF_Frame_Over_Info 0xC006
+#define PTP_EC_Olympus_AF_Frame_Over_Info_New 0xC106
+#define PTP_EC_Olympus_DevicePropChanged 0xC008
+#define PTP_EC_Olympus_DevicePropChanged_New 0xC108
+#define PTP_EC_Olympus_ImageTransferModeFinish 0xC00C
+#define PTP_EC_Olympus_ImageTransferModeFinish_New 0xC10C
+#define PTP_EC_Olympus_ImageRecordFinish 0xC00D
+#define PTP_EC_Olympus_ImageRecordFinish_New 0xC10D
+#define PTP_EC_Olympus_SlotStatusChange 0xC00E
+#define PTP_EC_Olympus_SlotStatusChange_New 0xC10E
+#define PTP_EC_Olympus_PrioritizeRecord 0xC00F
+#define PTP_EC_Olympus_PrioritizeRecord_New 0xC10F
+#define PTP_EC_Olympus_FailCombiningAfterShooting 0xC010
+#define PTP_EC_Olympus_FailCombiningAfterShooting_New 0xC110
+#define PTP_EC_Olympus_NotifyAFTargetFrame 0xC011
+#define PTP_EC_Olympus_NotifyAFTargetFrame_New 0xC111
+#define PTP_EC_Olympus_RawEditParamChanged 0xC112
+#define PTP_EC_Olympus_OlyNotifyCreateDrawEdit 0xC113
+
+/* Used by the XML based E series driver */
+#define PTP_EC_Olympus_PropertyChanged 0xC102
+#define PTP_EC_Olympus_CaptureComplete 0xC103
/* constants for GetObjectHandles */
#define PTP_GOH_ALL_STORAGE 0xffffffff