From e2c7afc75abff24882d2de9e6f9583aa9d94f5a5 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sun, 31 Jan 2021 10:15:00 +0100 Subject: added 9414 getliveview config --- camlibs/ptp2/ptp.c | 18 ++++++++++++++++++ camlibs/ptp2/ptp.h | 3 +++ 2 files changed, 21 insertions(+) diff --git a/camlibs/ptp2/ptp.c b/camlibs/ptp2/ptp.c index 56b3109e0..500ac409f 100644 --- a/camlibs/ptp2/ptp.c +++ b/camlibs/ptp2/ptp.c @@ -1046,6 +1046,24 @@ ptp_panasonic_9401 (PTPParams* params, uint32_t param1) return ret; } +/* liveview format query + * 0d800012 - get imageformats + * 0d800011 - get current imageformat ? + */ +uint16_t +ptp_panasonic_9414 (PTPParams* params, uint32_t param1) +{ + PTPContainer ptp; + uint16_t ret; + unsigned int *size = 0; + unsigned char *data = NULL; + + PTP_CNT_INIT(ptp, PTP_OC_PANASONIC_GetLiveViewParameters, param1); + ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, size); + free(data); + return ret; +} + uint16_t ptp_panasonic_setdeviceproperty (PTPParams* params, uint32_t propcode, unsigned char *value, uint16_t valuesize) diff --git a/camlibs/ptp2/ptp.h b/camlibs/ptp2/ptp.h index 992537ca5..bde5d869c 100644 --- a/camlibs/ptp2/ptp.h +++ b/camlibs/ptp2/ptp.h @@ -937,6 +937,8 @@ typedef struct _PTPIPHeader PTPIPHeader; #define PTP_OC_PANASONIC_SetGPSDataInfo 0x9411 #define PTP_OC_PANASONIC_Liveview 0x9412 /* 0d000010 start, 0d000011 stop */ #define PTP_OC_PANASONIC_PollEvents 0x9414 /* ? 1 arg e.g 12000020 */ +#define PTP_OC_PANASONIC_GetLiveViewParameters 0x9414 /* either all formats 0x0d800012 or current format 0x0d800011 */ +#define PTP_OC_PANASONIC_SetLiveViewParameters 0x9415 /* current format 0x0d800011 */ #define PTP_OC_PANASONIC_ManualFocusDrive 0x9416 /* Rec Ctrl Mf Assist, Rec Ctrl Backup Req ... 1 arg */ #define PTP_OC_PANASONIC_ChangeEvent 0x9603 /* 2 args ... e.g. 0x4002, new (change object added event) */ @@ -4681,6 +4683,7 @@ uint16_t ptp_panasonic_getdevicepropertysize (PTPParams *params, uint32_t propco uint16_t ptp_panasonic_setcapturetarget (PTPParams *params, uint16_t mode); uint16_t ptp_panasonic_manualfocusdrive (PTPParams* params, uint16_t mode); uint16_t ptp_panasonic_9401 (PTPParams* params, uint32_t x); +uint16_t ptp_panasonic_9414 (PTPParams* params, uint32_t x); uint16_t ptp_olympus_liveview_image (PTPParams* params, unsigned char **data, unsigned int *size); #define ptp_olympus_omd_move_focus(params,direction,step_size) ptp_generic_no_data(params,PTP_OC_OLYMPUS_OMD_MFDrive,2,direction,step_size) -- cgit v1.2.1