Hi Marcus, Thanks for the tips on handling the different data types. Just adding a second line in the submenu table didn't work. It would still try to get the datatype of the first line that it encounters. So I added separate submenu tables for the ILCE-7SM3 and device specific references in the menus:
static struct submenu sony_7sm3_camera_settings[] = { { N_("Priority Mode"), "prioritymode", PTP_DPC_SONY_PriorityMode, PTP_VENDOR_SONY, PTP_DTC_UINT8, _get_Sony_PriorityMode_u8, _put_Sony_PriorityMode_u8 }, { 0,0,0,0,0,0,0 }, }; static struct submenu sony_7sm3_capture_settings[] = { { N_("Exposure Program"), "expprogram", PTP_DPC_ExposureProgramMode, 0, PTP_DTC_UINT32, _get_ExposureProgram32, _put_ExposureProgram32 }, { N_("Still Capture Mode"), "capturemode", PTP_DPC_StillCaptureMode, 0, PTP_DTC_UINT32, _get_CaptureMode32, _put_CaptureMode32 }, { 0,0,0,0,0,0,0 }, }; static struct menu menus[] = { ... { N_("Camera Settings"), "settings", 0x054c, 0x0d18, sony_7sm3_camera_settings, NULL, NULL }, /* A7S-III */ ... { N_("Capture Settings"), "capturesettings", 0x054c, 0x0d18, sony_7sm3_capture_settings, NULL, NULL }, /* A7S-III */ ... } Something else that doesn't work is changing the ISO, shutterspeed and f-number settings. On the Sony A7-III changing those settings worked incremental, step-by-step. It also worked slowly like that with the Imaging Edge Desktop application. On the contrary, with the Sony A7S-III, the ISO, shutterspeed and f-number are changed instantaneously by Imaging Edge. So probably a different settings-change method needs to be used, such as the direct method. To try and search for the missing unreported properties and actions (autofocus, capture, focusmagnify, etc.) I found that in the end of _ptp_sony_getalldevicepropdesc, the size left is zero. So, clearly, it didn't end on a decoding error. Just nothing left to decode. Could it be that there's another way to get more data than with the current PTP_DP_GETDATA query? Unfortunately, I have run out of time to work on this and will not have access to this camera model anymore, so I won't be able to check any future fixes. Would be great if support for the A7S-III will be completed in the future. As well as for the Sony A7-IV, which was also not fully functional, the last time I checked. Kind regards, Jeroen On Fri, Apr 5, 2024 at 10:01 AM Marcus Meissner <mar...@jet.franken.de> wrote: > Hi, > > In theory you should be able to add the 32bit variant as a secondary > choice. > > The config code should skip the 16 bit variant if you have 32bit type, > and then select the 32bit type. > > So copy the table and name it modes32 and just add the new line. > > > There is "by usb id" table based driven code there (look for nikon ones), > but I think just adding a different line with the different data type > should > work more transparently. > > > Unfortunately, still the operations/properties below are missing. I guess > > there might be some more binary coding differences for operations as > well. > > Still some more work to do... > > > > Autofocus(0xd2c1): error 2002 on query. > > Capture(0xd2c2): error 2002 on query. > > Property 0xd2c3: error 2002 on query. > > Property 0xd2c4: error 2002 on query. > > If the camera does not report them we can't really get to them. > > 0xd2c are also kind of write-only for instance. > > Ciao, Marcus >
_______________________________________________ Gphoto-devel mailing list Gphoto-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gphoto-devel