From c68aa0cd775d8cdc897b3848976c7e1dfdf09f87 Mon Sep 17 00:00:00 2001 From: Daniel C Date: Sat, 19 Oct 2024 01:57:10 -0400 Subject: [PATCH] PTP_PC -> PTP_DPC It's better to use the same naming scheme as everybody else. --- Makefile | 2 +- examples/eos.c | 2 +- examples/usb.c | 5 +- examples/wintest.c | 2 +- src/bind.c | 4 +- src/cl_backend.h | 7 +- src/cl_enum.h | 2 +- src/data.c | 22 ++--- src/enum_dump.c | 216 ++++++++++++++++++++++---------------------- src/generic.c | 12 +-- src/liveview.c | 10 +-- src/ptp.h | 218 ++++++++++++++++++++++----------------------- test/test.c | 6 +- 13 files changed, 253 insertions(+), 255 deletions(-) diff --git a/Makefile b/Makefile index 5a35230..e51fe16 100644 --- a/Makefile +++ b/Makefile @@ -61,7 +61,7 @@ stringify: clean: rm -rf *.o src/*.o src/dec/*.o *.out test-ci test/*.o examples/*.o examples/*.d *.exe camlib *.dll *.so DUMP \ - src/lua/*.o src/lua/lua-cjson/*.o src/*.d examples/*.d src/lua/*.d src/lua/lua-cjson/*.d + src/lua/*.o src/lua/lua-cjson/*.o src/*.d examples/*.d src/lua/*.d src/lua/lua-cjson/*.d *.a cd examples && make clean install: libcamlib.so diff --git a/examples/eos.c b/examples/eos.c index 7de9532..cc51cd9 100644 --- a/examples/eos.c +++ b/examples/eos.c @@ -55,7 +55,7 @@ int main() { struct PtpDevPropDesc desc; - ptp_get_prop_desc(&r, PTP_PC_EOS_ImageFormat, &desc); + ptp_get_prop_desc(&r, PTP_DPC_EOS_ImageFormat, &desc); ptp_close_session(&r); ptp_device_close(&r); diff --git a/examples/usb.c b/examples/usb.c index 14f4dfa..27c2e6e 100644 --- a/examples/usb.c +++ b/examples/usb.c @@ -29,10 +29,9 @@ static int connect(struct PtpRuntime *r) { int main() { struct PtpRuntime r; ptp_generic_init(&r); - ptp_comm_init(&r); - connect(&r); - connect(&r); + if (connect(&r)) return 1; + if (connect(&r)) return 1; return 0; } diff --git a/examples/wintest.c b/examples/wintest.c index 3ad92c4..3f21050 100644 --- a/examples/wintest.c +++ b/examples/wintest.c @@ -36,7 +36,7 @@ int main() { ptp_eos_set_event_mode(&r, 1); ptp_eos_set_remote_mode(&r, 1); - int ret = ptp_eos_set_prop_value(&r, PTP_PC_EOS_ISOSpeed, ptp_eos_get_iso(100, 1)); + int ret = ptp_eos_set_prop_value(&r, PTP_DPC_EOS_ISOSpeed, ptp_eos_get_iso(100, 1)); if (ret) { printf("error setting prop %d\n", ret); } diff --git a/src/bind.c b/src/bind.c index d177869..70b2d67 100644 --- a/src/bind.c +++ b/src/bind.c @@ -444,7 +444,7 @@ int bind_cancel_af(struct BindReq *bind, struct PtpRuntime *r) { int bind_mirror_up(struct BindReq *bind, struct PtpRuntime *r) { int x = 0; if (ptp_device_type(r) == PTP_DEV_EOS) { - x = ptp_eos_set_prop_value(r, PTP_PC_EOS_VF_Output, 3); + x = ptp_eos_set_prop_value(r, PTP_DPC_EOS_VF_Output, 3); } else { x = PTP_UNSUPPORTED; } @@ -455,7 +455,7 @@ int bind_mirror_up(struct BindReq *bind, struct PtpRuntime *r) { int bind_mirror_down(struct BindReq *bind, struct PtpRuntime *r) { int x = 0; if (ptp_device_type(r) == PTP_DEV_EOS) { - x = ptp_eos_set_prop_value(r, PTP_PC_EOS_VF_Output, 0); + x = ptp_eos_set_prop_value(r, PTP_DPC_EOS_VF_Output, 0); } else { x = PTP_UNSUPPORTED; } diff --git a/src/cl_backend.h b/src/cl_backend.h index 8bbf0de..4c46001 100644 --- a/src/cl_backend.h +++ b/src/cl_backend.h @@ -22,20 +22,19 @@ struct PtpDeviceEntry { struct PtpDeviceEntry *next; }; -/// @brief Initialize communications context for the current thread -int ptp_comm_init(struct PtpRuntime *r); - /// @brief Get a linked list of USB or PTP Devices /// @memberof PTP/USB struct PtpDeviceEntry *ptpusb_device_list(struct PtpRuntime *r); + /// @memberof PTP/USB void ptpusb_free_device_list(struct PtpDeviceEntry *e); + /// @brief Open and connect to a device from the PtpDeviceEntry structure /// @note Sets kill switch to 0 /// @memberof PTP/USB int ptp_device_open(struct PtpRuntime *r, struct PtpDeviceEntry *entry); -/// @brief Runs ptp_comm_init and connect to the first device available +/// @brief Connects to the first PTP device it finds int ptp_device_init(struct PtpRuntime *r); /// @brief Send data over the raw command endpoint diff --git a/src/cl_enum.h b/src/cl_enum.h index 6b7ce88..142ebe2 100644 --- a/src/cl_enum.h +++ b/src/cl_enum.h @@ -14,7 +14,7 @@ enum PtpType { PTP_ENUM = 0, // regular enums PTP_OC = 1, // operation codes PTP_OF = 2, // object formats - PTP_PC = 3, // property codes + PTP_DPC = 3, // property codes PTP_EC = 4, // event codes PTP_RC = 5, // return code PTP_ST = 6, // storage type diff --git a/src/data.c b/src/data.c index 0941f9c..947c887 100644 --- a/src/data.c +++ b/src/data.c @@ -475,25 +475,25 @@ int ptp_eos_prop_next(uint8_t *d, struct PtpGenericEvent *p) { const char *name = ptp_get_enum_all(code); const char *str_value = NULL; switch (code) { - case PTP_PC_EOS_Aperture: + case PTP_DPC_EOS_Aperture: value = ptp_eos_get_aperture(value, 0); name = "aperture"; break; - case PTP_PC_EOS_ShutterSpeed: + case PTP_DPC_EOS_ShutterSpeed: value = ptp_eos_get_shutter(value, 0); name = "shutter speed"; break; - case PTP_PC_EOS_ISOSpeed: + case PTP_DPC_EOS_ISOSpeed: value = ptp_eos_get_iso(value, 0); name = "iso"; break; - case PTP_PC_EOS_BatteryPower: + case PTP_DPC_EOS_BatteryPower: // EOS has 3 battery bars value++; if (value == 3) value = 4; name = "battery"; break; - case PTP_PC_EOS_ImageFormat: { + case PTP_DPC_EOS_ImageFormat: { uint32_t data[5] = {value}; of += ptp_read_u32(d + of, &data[1]); of += ptp_read_u32(d + of, &data[2]); @@ -506,7 +506,7 @@ int ptp_eos_prop_next(uint8_t *d, struct PtpGenericEvent *p) { } name = "image format"; } break; - case PTP_PC_EOS_VF_Output: + case PTP_DPC_EOS_VF_Output: name = "mirror"; if (value == 0) { str_value = "finder"; @@ -514,10 +514,10 @@ int ptp_eos_prop_next(uint8_t *d, struct PtpGenericEvent *p) { str_value = "open"; } break; - case PTP_PC_EOS_AEModeDial: + case PTP_DPC_EOS_AEModeDial: name = "mode dial"; break; - case PTP_PC_EOS_FocusMode: + case PTP_DPC_EOS_FocusMode: name = "focus mode"; if (value == 3) { str_value = "MF"; @@ -525,11 +525,11 @@ int ptp_eos_prop_next(uint8_t *d, struct PtpGenericEvent *p) { str_value = "AF"; } break; - case PTP_PC_EOS_WhiteBalance: + case PTP_DPC_EOS_WhiteBalance: name = "white balance"; value = ptp_eos_get_white_balance(value, 0); break; - case PTP_PC_EOS_FocusInfoEx: + case PTP_DPC_EOS_FocusInfoEx: name = "focused"; break; } @@ -610,7 +610,7 @@ int ptp_eos_events(struct PtpRuntime *r, struct PtpGenericEvent **p) { d += ptp_eos_prop_next(d, cur); break; case PTP_EC_EOS_InfoCheckComplete: - case PTP_PC_EOS_FocusInfoEx: + case PTP_DPC_EOS_FocusInfoEx: cur->name = ptp_get_enum_all(type); break; case PTP_EC_EOS_RequestObjectTransfer: { diff --git a/src/enum_dump.c b/src/enum_dump.c index f94cbc5..ca5da62 100644 --- a/src/enum_dump.c +++ b/src/enum_dump.c @@ -391,114 +391,114 @@ struct PtpEnum ptp_enums[] = { {PTP_OF, 2, "PTP_OF_CANON_MOV", 0xb104}, {PTP_ENUM, 0, "PTP_AT_Folder", 0x1}, {PTP_ENUM, 0, "PTP_AT_Album", 0x1}, -{PTP_PC, 0, "PTP_PC_BatteryLevel", 0x5001}, -{PTP_PC, 0, "PTP_PC_FunctionalMode", 0x5002}, -{PTP_PC, 0, "PTP_PC_ImageSize", 0x5003}, -{PTP_PC, 0, "PTP_PC_CompressionSetting", 0x5004}, -{PTP_PC, 0, "PTP_PC_WhiteBalance", 0x5005}, -{PTP_PC, 0, "PTP_PC_RGBGain", 0x5006}, -{PTP_PC, 0, "PTP_PC_FNumber", 0x5007}, -{PTP_PC, 0, "PTP_PC_FocalLength", 0x5008}, -{PTP_PC, 0, "PTP_PC_FocalDistance", 0x5009}, -{PTP_PC, 0, "PTP_PC_FocusMode", 0x500A}, -{PTP_PC, 0, "PTP_PC_ExposureMeteringMode", 0x500B}, -{PTP_PC, 0, "PTP_PC_FlashMode", 0x500C}, -{PTP_PC, 0, "PTP_PC_ExposureTime", 0x500D}, -{PTP_PC, 0, "PTP_PC_ExposureProgramMode", 0x500E}, -{PTP_PC, 0, "PTP_PC_ExposureIndex", 0x500F}, -{PTP_PC, 0, "PTP_PC_ExposureBiasCompensation", 0x5010}, -{PTP_PC, 0, "PTP_PC_DateTime", 0x5011}, -{PTP_PC, 0, "PTP_PC_CaptureDelay", 0x5012}, -{PTP_PC, 0, "PTP_PC_StillCaptureMode", 0x5013}, -{PTP_PC, 0, "PTP_PC_Contrast", 0x5014}, -{PTP_PC, 0, "PTP_PC_Sharpness", 0x5015}, -{PTP_PC, 0, "PTP_PC_DigitalZoom", 0x5016}, -{PTP_PC, 0, "PTP_PC_EffectMode", 0x5017}, -{PTP_PC, 0, "PTP_PC_BurstNumber", 0x5018}, -{PTP_PC, 0, "PTP_PC_BurstInterval", 0x5019}, -{PTP_PC, 0, "PTP_PC_TimelapseNumber", 0x501A}, -{PTP_PC, 0, "PTP_PC_TimelapseInterval", 0x501B}, -{PTP_PC, 0, "PTP_PC_FocusMeteringMode", 0x501C}, -{PTP_PC, 0, "PTP_PC_UploadURL", 0x501D}, -{PTP_PC, 0, "PTP_PC_Artist", 0x501E}, -{PTP_PC, 0, "PTP_PC_CopyrightInfo", 0x501F}, -{PTP_PC, 0, "PTP_PC_SupportedStreams", 0x5020}, -{PTP_PC, 0, "PTP_PC_EnabledStreams", 0x5021}, -{PTP_PC, 0, "PTP_PC_VideoFormat", 0x5022}, -{PTP_PC, 0, "PTP_PC_VideoResolution", 0x5023}, -{PTP_PC, 0, "PTP_PC_VideoQuality", 0x5024}, -{PTP_PC, 0, "PTP_PC_VideoFrameRate", 0x5025}, -{PTP_PC, 0, "PTP_PC_VideoContrast", 0x5026}, -{PTP_PC, 0, "PTP_PC_VideoBrightness", 0x5027}, -{PTP_PC, 0, "PTP_PC_AudioFormat", 0x5028}, -{PTP_PC, 0, "PTP_PC_AudioBitrate", 0x5029}, -{PTP_PC, 0, "PTP_PC_AudioSamplingRate", 0x502A}, -{PTP_PC, 0, "PTP_PC_AudioBitPerSample", 0x502B}, -{PTP_PC, 0, "PTP_PC_AudioVolume", 0x502C}, -{PTP_PC, 2, "PTP_PC_CANON_BeepCode", 0xD001}, -{PTP_PC, 2, "PTP_PC_CANON_ViewFinderMode", 0xD003}, -{PTP_PC, 2, "PTP_PC_CANON_ImageQuality", 0xD006}, -{PTP_PC, 2, "PTP_PC_CANON_ImageSize", 0xD008}, -{PTP_PC, 2, "PTP_PC_CANON_FlashMode", 0xD00a}, -{PTP_PC, 2, "PTP_PC_CANON_TvAvSetting", 0xD00c}, -{PTP_PC, 2, "PTP_PC_CANON_MeteringMode", 0xd010}, -{PTP_PC, 2, "PTP_PC_CANON_MacroMode", 0xd011}, -{PTP_PC, 2, "PTP_PC_CANON_FocusingPoint", 0xd012}, -{PTP_PC, 2, "PTP_PC_CANON_WhiteBalance", 0xd013}, -{PTP_PC, 2, "PTP_PC_CANON_AFMode", 0xD015}, -{PTP_PC, 2, "PTP_PC_CANON_Contrast", 0xD017}, -{PTP_PC, 2, "PTP_PC_CANON_ISOSpeed", 0xd01c}, -{PTP_PC, 2, "PTP_PC_CANON_Aperture", 0xd01c}, -{PTP_PC, 2, "PTP_PC_CANON_ShutterSpeed", 0xd01e}, -{PTP_PC, 2, "PTP_PC_CANON_ExpComp", 0xd01f}, -{PTP_PC, 2, "PTP_PC_CANON_Zoom", 0xd02a}, -{PTP_PC, 2, "PTP_PC_CANON_SizeQuality", 0xd02c}, -{PTP_PC, 2, "PTP_PC_CANON_FlashMemory", 0xd031}, -{PTP_PC, 2, "PTP_PC_CANON_CameraModel", 0xd032}, -{PTP_PC, 2, "PTP_PC_CANON_CameraOwner", 0xd033}, -{PTP_PC, 2, "PTP_PC_CANON_UnixTime", 0xd032}, -{PTP_PC, 2, "PTP_PC_CANON_ViewFinderOut", 0xD036}, -{PTP_PC, 2, "PTP_PC_CANON_RealImageWidth", 0xD039}, -{PTP_PC, 2, "PTP_PC_CANON_PhotoEffect", 0xD040}, -{PTP_PC, 2, "PTP_PC_CANON_AssistLight", 0xD041}, -{PTP_PC, 1, "PTP_PC_EOS_Aperture", 0xD101}, -{PTP_PC, 1, "PTP_PC_EOS_ShutterSpeed", 0xD102}, -{PTP_PC, 1, "PTP_PC_EOS_ISOSpeed", 0xD103}, -{PTP_PC, 1, "PTP_PC_EOS_ExpCompensation", 0xD104}, -{PTP_PC, 1, "PTP_PC_EOS_AutoExposureMode", 0xD105}, -{PTP_PC, 1, "PTP_PC_EOS_DriveMode", 0xD106}, -{PTP_PC, 1, "PTP_PC_EOS_MeteringMode", 0xD107}, -{PTP_PC, 1, "PTP_PC_EOS_FocusMode", 0xD108}, -{PTP_PC, 1, "PTP_PC_EOS_WhiteBalance", 0xD109}, -{PTP_PC, 1, "PTP_PC_EOS_ColorTemperature", 0xD10A}, -{PTP_PC, 1, "PTP_PC_EOS_WhiteBalanceAdjustA", 0xD10B}, -{PTP_PC, 1, "PTP_PC_EOS_WhiteBalanceAdjustB", 0xD10C}, -{PTP_PC, 1, "PTP_PC_EOS_WhiteBalanceXA", 0xD10D}, -{PTP_PC, 1, "PTP_PC_EOS_WhiteBalanceXB", 0xD10E}, -{PTP_PC, 1, "PTP_PC_EOS_ColorSpace", 0xD10F}, -{PTP_PC, 1, "PTP_PC_EOS_PictureStyle", 0xD110}, -{PTP_PC, 1, "PTP_PC_EOS_BatteryPower", 0xD111}, -{PTP_PC, 1, "PTP_PC_EOS_BatterySelect", 0xD112}, -{PTP_PC, 1, "PTP_PC_EOS_CameraTime", 0xD113}, -{PTP_PC, 1, "PTP_PC_EOS_Owner", 0xD115}, -{PTP_PC, 1, "PTP_PC_EOS_ModelID", 0xD116}, -{PTP_PC, 1, "PTP_PC_EOS_PTPExtensionVersion", 0xD119}, -{PTP_PC, 1, "PTP_PC_EOS_DPOFVersion", 0xD11A}, -{PTP_PC, 1, "PTP_PC_EOS_AvailableShots", 0xD11B}, -{PTP_PC, 1, "PTP_PC_EOS_CaptureDestination", 0xD11C}, -{PTP_PC, 1, "PTP_PC_EOS_CurrentFolder", 0xD11F}, -{PTP_PC, 1, "PTP_PC_EOS_ImageFormat", 0xD120}, -{PTP_PC, 1, "PTP_PC_EOS_ImageFormatCF", 0xD121}, -{PTP_PC, 1, "PTP_PC_EOS_ImageFormatSD", 0xD122}, -{PTP_PC, 1, "PTP_PC_EOS_ImageFormatExtHD", 0xD123}, -{PTP_PC, 1, "PTP_PC_EOS_AEModeDial", 0xD138}, -{PTP_PC, 1, "PTP_PC_EOS_ShutterCounter", 0xD1AC}, -{PTP_PC, 1, "PTP_PC_EOS_VF_Output", 0xD1B0}, -{PTP_PC, 1, "PTP_PC_EOS_EVFMode", 0xD1B1}, -{PTP_PC, 1, "PTP_PC_EOS_DOFPreview", 0xD1B2}, -{PTP_PC, 1, "PTP_PC_EOS_VFSharp", 0xD1B3}, -{PTP_PC, 1, "PTP_PC_EOS_EVFWBMode", 0xD1B4}, -{PTP_PC, 1, "PTP_PC_EOS_FocusInfoEx", 0xD1D3}, +{PTP_ENUM, 0, "PTP_DPC_BatteryLevel", 0x5001}, +{PTP_ENUM, 0, "PTP_DPC_FunctionalMode", 0x5002}, +{PTP_ENUM, 0, "PTP_DPC_ImageSize", 0x5003}, +{PTP_ENUM, 0, "PTP_DPC_CompressionSetting", 0x5004}, +{PTP_ENUM, 0, "PTP_DPC_WhiteBalance", 0x5005}, +{PTP_ENUM, 0, "PTP_DPC_RGBGain", 0x5006}, +{PTP_ENUM, 0, "PTP_DPC_FNumber", 0x5007}, +{PTP_ENUM, 0, "PTP_DPC_FocalLength", 0x5008}, +{PTP_ENUM, 0, "PTP_DPC_FocalDistance", 0x5009}, +{PTP_ENUM, 0, "PTP_DPC_FocusMode", 0x500A}, +{PTP_ENUM, 0, "PTP_DPC_ExposureMeteringMode", 0x500B}, +{PTP_ENUM, 0, "PTP_DPC_FlashMode", 0x500C}, +{PTP_ENUM, 0, "PTP_DPC_ExposureTime", 0x500D}, +{PTP_ENUM, 0, "PTP_DPC_ExposureProgramMode", 0x500E}, +{PTP_ENUM, 0, "PTP_DPC_ExposureIndex", 0x500F}, +{PTP_ENUM, 0, "PTP_DPC_ExposureBiasCompensation", 0x5010}, +{PTP_ENUM, 0, "PTP_DPC_DateTime", 0x5011}, +{PTP_ENUM, 0, "PTP_DPC_CaptureDelay", 0x5012}, +{PTP_ENUM, 0, "PTP_DPC_StillCaptureMode", 0x5013}, +{PTP_ENUM, 0, "PTP_DPC_Contrast", 0x5014}, +{PTP_ENUM, 0, "PTP_DPC_Sharpness", 0x5015}, +{PTP_ENUM, 0, "PTP_DPC_DigitalZoom", 0x5016}, +{PTP_ENUM, 0, "PTP_DPC_EffectMode", 0x5017}, +{PTP_ENUM, 0, "PTP_DPC_BurstNumber", 0x5018}, +{PTP_ENUM, 0, "PTP_DPC_BurstInterval", 0x5019}, +{PTP_ENUM, 0, "PTP_DPC_TimelapseNumber", 0x501A}, +{PTP_ENUM, 0, "PTP_DPC_TimelapseInterval", 0x501B}, +{PTP_ENUM, 0, "PTP_DPC_FocusMeteringMode", 0x501C}, +{PTP_ENUM, 0, "PTP_DPC_UploadURL", 0x501D}, +{PTP_ENUM, 0, "PTP_DPC_Artist", 0x501E}, +{PTP_ENUM, 0, "PTP_DPC_CopyrightInfo", 0x501F}, +{PTP_ENUM, 0, "PTP_DPC_SupportedStreams", 0x5020}, +{PTP_ENUM, 0, "PTP_DPC_EnabledStreams", 0x5021}, +{PTP_ENUM, 0, "PTP_DPC_VideoFormat", 0x5022}, +{PTP_ENUM, 0, "PTP_DPC_VideoResolution", 0x5023}, +{PTP_ENUM, 0, "PTP_DPC_VideoQuality", 0x5024}, +{PTP_ENUM, 0, "PTP_DPC_VideoFrameRate", 0x5025}, +{PTP_ENUM, 0, "PTP_DPC_VideoContrast", 0x5026}, +{PTP_ENUM, 0, "PTP_DPC_VideoBrightness", 0x5027}, +{PTP_ENUM, 0, "PTP_DPC_AudioFormat", 0x5028}, +{PTP_ENUM, 0, "PTP_DPC_AudioBitrate", 0x5029}, +{PTP_ENUM, 0, "PTP_DPC_AudioSamplingRate", 0x502A}, +{PTP_ENUM, 0, "PTP_DPC_AudioBitPerSample", 0x502B}, +{PTP_ENUM, 0, "PTP_DPC_AudioVolume", 0x502C}, +{PTP_ENUM, 0, "PTP_DPC_CANON_BeepCode", 0xD001}, +{PTP_ENUM, 0, "PTP_DPC_CANON_ViewFinderMode", 0xD003}, +{PTP_ENUM, 0, "PTP_DPC_CANON_ImageQuality", 0xD006}, +{PTP_ENUM, 0, "PTP_DPC_CANON_ImageSize", 0xD008}, +{PTP_ENUM, 0, "PTP_DPC_CANON_FlashMode", 0xD00a}, +{PTP_ENUM, 0, "PTP_DPC_CANON_TvAvSetting", 0xD00c}, +{PTP_ENUM, 0, "PTP_DPC_CANON_MeteringMode", 0xd010}, +{PTP_ENUM, 0, "PTP_DPC_CANON_MacroMode", 0xd011}, +{PTP_ENUM, 0, "PTP_DPC_CANON_FocusingPoint", 0xd012}, +{PTP_ENUM, 0, "PTP_DPC_CANON_WhiteBalance", 0xd013}, +{PTP_ENUM, 0, "PTP_DPC_CANON_AFMode", 0xD015}, +{PTP_ENUM, 0, "PTP_DPC_CANON_Contrast", 0xD017}, +{PTP_ENUM, 0, "PTP_DPC_CANON_ISOSpeed", 0xd01c}, +{PTP_ENUM, 0, "PTP_DPC_CANON_Aperture", 0xd01c}, +{PTP_ENUM, 0, "PTP_DPC_CANON_ShutterSpeed", 0xd01e}, +{PTP_ENUM, 0, "PTP_DPC_CANON_ExpComp", 0xd01f}, +{PTP_ENUM, 0, "PTP_DPC_CANON_Zoom", 0xd02a}, +{PTP_ENUM, 0, "PTP_DPC_CANON_SizeQuality", 0xd02c}, +{PTP_ENUM, 0, "PTP_DPC_CANON_FlashMemory", 0xd031}, +{PTP_ENUM, 0, "PTP_DPC_CANON_CameraModel", 0xd032}, +{PTP_ENUM, 0, "PTP_DPC_CANON_CameraOwner", 0xd033}, +{PTP_ENUM, 0, "PTP_DPC_CANON_UnixTime", 0xd032}, +{PTP_ENUM, 0, "PTP_DPC_CANON_ViewFinderOut", 0xD036}, +{PTP_ENUM, 0, "PTP_DPC_CANON_RealImageWidth", 0xD039}, +{PTP_ENUM, 0, "PTP_DPC_CANON_PhotoEffect", 0xD040}, +{PTP_ENUM, 0, "PTP_DPC_CANON_AssistLight", 0xD041}, +{PTP_ENUM, 0, "PTP_DPC_EOS_Aperture", 0xD101}, +{PTP_ENUM, 0, "PTP_DPC_EOS_ShutterSpeed", 0xD102}, +{PTP_ENUM, 0, "PTP_DPC_EOS_ISOSpeed", 0xD103}, +{PTP_ENUM, 0, "PTP_DPC_EOS_ExpCompensation", 0xD104}, +{PTP_ENUM, 0, "PTP_DPC_EOS_AutoExposureMode", 0xD105}, +{PTP_ENUM, 0, "PTP_DPC_EOS_DriveMode", 0xD106}, +{PTP_ENUM, 0, "PTP_DPC_EOS_MeteringMode", 0xD107}, +{PTP_ENUM, 0, "PTP_DPC_EOS_FocusMode", 0xD108}, +{PTP_ENUM, 0, "PTP_DPC_EOS_WhiteBalance", 0xD109}, +{PTP_ENUM, 0, "PTP_DPC_EOS_ColorTemperature", 0xD10A}, +{PTP_ENUM, 0, "PTP_DPC_EOS_WhiteBalanceAdjustA", 0xD10B}, +{PTP_ENUM, 0, "PTP_DPC_EOS_WhiteBalanceAdjustB", 0xD10C}, +{PTP_ENUM, 0, "PTP_DPC_EOS_WhiteBalanceXA", 0xD10D}, +{PTP_ENUM, 0, "PTP_DPC_EOS_WhiteBalanceXB", 0xD10E}, +{PTP_ENUM, 0, "PTP_DPC_EOS_ColorSpace", 0xD10F}, +{PTP_ENUM, 0, "PTP_DPC_EOS_PictureStyle", 0xD110}, +{PTP_ENUM, 0, "PTP_DPC_EOS_BatteryPower", 0xD111}, +{PTP_ENUM, 0, "PTP_DPC_EOS_BatterySelect", 0xD112}, +{PTP_ENUM, 0, "PTP_DPC_EOS_CameraTime", 0xD113}, +{PTP_ENUM, 0, "PTP_DPC_EOS_Owner", 0xD115}, +{PTP_ENUM, 0, "PTP_DPC_EOS_ModelID", 0xD116}, +{PTP_ENUM, 0, "PTP_DPC_EOS_PTPExtensionVersion", 0xD119}, +{PTP_ENUM, 0, "PTP_DPC_EOS_DPOFVersion", 0xD11A}, +{PTP_ENUM, 0, "PTP_DPC_EOS_AvailableShots", 0xD11B}, +{PTP_ENUM, 0, "PTP_DPC_EOS_CaptureDestination", 0xD11C}, +{PTP_ENUM, 0, "PTP_DPC_EOS_CurrentFolder", 0xD11F}, +{PTP_ENUM, 0, "PTP_DPC_EOS_ImageFormat", 0xD120}, +{PTP_ENUM, 0, "PTP_DPC_EOS_ImageFormatCF", 0xD121}, +{PTP_ENUM, 0, "PTP_DPC_EOS_ImageFormatSD", 0xD122}, +{PTP_ENUM, 0, "PTP_DPC_EOS_ImageFormatExtHD", 0xD123}, +{PTP_ENUM, 0, "PTP_DPC_EOS_AEModeDial", 0xD138}, +{PTP_ENUM, 0, "PTP_DPC_EOS_ShutterCounter", 0xD1AC}, +{PTP_ENUM, 0, "PTP_DPC_EOS_VF_Output", 0xD1B0}, +{PTP_ENUM, 0, "PTP_DPC_EOS_EVFMode", 0xD1B1}, +{PTP_ENUM, 0, "PTP_DPC_EOS_DOFPreview", 0xD1B2}, +{PTP_ENUM, 0, "PTP_DPC_EOS_VFSharp", 0xD1B3}, +{PTP_ENUM, 0, "PTP_DPC_EOS_EVFWBMode", 0xD1B4}, +{PTP_ENUM, 0, "PTP_DPC_EOS_FocusInfoEx", 0xD1D3}, {PTP_OC, 0, "PTP_OC_ML_LiveBmpRam", 0x9996}, {PTP_OC, 0, "PTP_OC_ML_Live360x240", 0x9997}, {PTP_OC, 0, "PTP_OC_MagicLantern", 0x9998}, diff --git a/src/generic.c b/src/generic.c index f9e7542..c38e545 100644 --- a/src/generic.c +++ b/src/generic.c @@ -55,20 +55,20 @@ int ptp_set_generic_property(struct PtpRuntime *r, const char *name, int value) int rc = 0; if (!strcmp(name, "aperture")) { if (dev == PTP_DEV_EOS) { - rc = ptp_eos_set_validate_prop(r, PTP_PC_EOS_Aperture, ptp_eos_get_aperture(value, 1)); + rc = ptp_eos_set_validate_prop(r, PTP_DPC_EOS_Aperture, ptp_eos_get_aperture(value, 1)); } } else if (!strcmp(name, "iso")) { if (dev == PTP_DEV_EOS) { - rc = ptp_eos_set_validate_prop(r, PTP_PC_EOS_ISOSpeed, ptp_eos_get_iso(value, 1)); + rc = ptp_eos_set_validate_prop(r, PTP_DPC_EOS_ISOSpeed, ptp_eos_get_iso(value, 1)); } } else if (!strcmp(name, "shutter speed")) { if (dev == PTP_DEV_EOS) { - rc = ptp_eos_set_validate_prop(r, PTP_PC_EOS_ShutterSpeed, ptp_eos_get_shutter(value, 1)); + rc = ptp_eos_set_validate_prop(r, PTP_DPC_EOS_ShutterSpeed, ptp_eos_get_shutter(value, 1)); } } else if (!strcmp(name, "white balance")) { if (dev == PTP_DEV_EOS) { - rc = ptp_eos_set_prop_value(r, PTP_PC_EOS_WhiteBalance, ptp_eos_get_white_balance(value, 1)); - rc = ptp_eos_set_prop_value(r, PTP_PC_EOS_EVFWBMode, ptp_eos_get_white_balance(value, 1)); + rc = ptp_eos_set_prop_value(r, PTP_DPC_EOS_WhiteBalance, ptp_eos_get_white_balance(value, 1)); + rc = ptp_eos_set_prop_value(r, PTP_DPC_EOS_EVFWBMode, ptp_eos_get_white_balance(value, 1)); } } else if (!strcmp(name, "destination")) { return PTP_UNSUPPORTED; @@ -138,7 +138,7 @@ int ptp_get_all_known(struct PtpRuntime *r, struct PtpGenericEvent **s, int *len // TODO: Get more props switch (props[i]) { - case PTP_PC_BatteryLevel: + case PTP_DPC_BatteryLevel: cur->name = "battery"; cur->value = v; break; diff --git a/src/liveview.c b/src/liveview.c index de6fc57..c8a434b 100644 --- a/src/liveview.c +++ b/src/liveview.c @@ -116,11 +116,11 @@ int ptp_liveview_init(struct PtpRuntime *r) { x = ptp_ml_init_bmp_lv(r); if (x) return x; case PTP_LV_EOS: - x = ptp_eos_set_prop_value(r, PTP_PC_EOS_VF_Output, 3); + x = ptp_eos_set_prop_value(r, PTP_DPC_EOS_VF_Output, 3); if (x) return x; - x = ptp_eos_set_prop_value(r, PTP_PC_EOS_CaptureDestination, 4); + x = ptp_eos_set_prop_value(r, PTP_DPC_EOS_CaptureDestination, 4); if (x) return x; - //if (ptp_eos_set_prop_value(r, PTP_PC_EOS_EVFMode, 1)) return PTP_CAM_ERR; + //if (ptp_eos_set_prop_value(r, PTP_DPC_EOS_EVFMode, 1)) return PTP_CAM_ERR; return 0; } @@ -134,9 +134,9 @@ int ptp_liveview_deinit(struct PtpRuntime *r) { case PTP_LV_EOS_ML_BMP: return 0; case PTP_LV_EOS: - // x = ptp_eos_set_prop_value(r, PTP_PC_EOS_VF_Output, 0); + // x = ptp_eos_set_prop_value(r, PTP_DPC_EOS_VF_Output, 0); // if (x) return x; - x = ptp_eos_set_prop_value(r, PTP_PC_EOS_CaptureDestination, 2); + x = ptp_eos_set_prop_value(r, PTP_DPC_EOS_CaptureDestination, 2); if (x) return x; ptp_eos_hdd_capacity_push(r); return 0; diff --git a/src/ptp.h b/src/ptp.h index dadffd6..a5dc9f0 100644 --- a/src/ptp.h +++ b/src/ptp.h @@ -504,119 +504,119 @@ struct PtpIpInitPacket { #define PTP_AT_Album 0x1 // ISO Standard Property codes -#define PTP_PC_BatteryLevel 0x5001 -#define PTP_PC_FunctionalMode 0x5002 -#define PTP_PC_ImageSize 0x5003 -#define PTP_PC_CompressionSetting 0x5004 -#define PTP_PC_WhiteBalance 0x5005 -#define PTP_PC_RGBGain 0x5006 -#define PTP_PC_FNumber 0x5007 -#define PTP_PC_FocalLength 0x5008 -#define PTP_PC_FocalDistance 0x5009 -#define PTP_PC_FocusMode 0x500A -#define PTP_PC_ExposureMeteringMode 0x500B -#define PTP_PC_FlashMode 0x500C -#define PTP_PC_ExposureTime 0x500D -#define PTP_PC_ExposureProgramMode 0x500E -#define PTP_PC_ExposureIndex 0x500F -#define PTP_PC_ExposureBiasCompensation 0x5010 -#define PTP_PC_DateTime 0x5011 -#define PTP_PC_CaptureDelay 0x5012 -#define PTP_PC_StillCaptureMode 0x5013 -#define PTP_PC_Contrast 0x5014 -#define PTP_PC_Sharpness 0x5015 -#define PTP_PC_DigitalZoom 0x5016 -#define PTP_PC_EffectMode 0x5017 -#define PTP_PC_BurstNumber 0x5018 -#define PTP_PC_BurstInterval 0x5019 -#define PTP_PC_TimelapseNumber 0x501A -#define PTP_PC_TimelapseInterval 0x501B -#define PTP_PC_FocusMeteringMode 0x501C -#define PTP_PC_UploadURL 0x501D -#define PTP_PC_Artist 0x501E -#define PTP_PC_CopyrightInfo 0x501F - -#define PTP_PC_SupportedStreams 0x5020 -#define PTP_PC_EnabledStreams 0x5021 -#define PTP_PC_VideoFormat 0x5022 -#define PTP_PC_VideoResolution 0x5023 -#define PTP_PC_VideoQuality 0x5024 -#define PTP_PC_VideoFrameRate 0x5025 -#define PTP_PC_VideoContrast 0x5026 -#define PTP_PC_VideoBrightness 0x5027 -#define PTP_PC_AudioFormat 0x5028 -#define PTP_PC_AudioBitrate 0x5029 -#define PTP_PC_AudioSamplingRate 0x502A -#define PTP_PC_AudioBitPerSample 0x502B -#define PTP_PC_AudioVolume 0x502C +#define PTP_DPC_BatteryLevel 0x5001 +#define PTP_DPC_FunctionalMode 0x5002 +#define PTP_DPC_ImageSize 0x5003 +#define PTP_DPC_CompressionSetting 0x5004 +#define PTP_DPC_WhiteBalance 0x5005 +#define PTP_DPC_RGBGain 0x5006 +#define PTP_DPC_FNumber 0x5007 +#define PTP_DPC_FocalLength 0x5008 +#define PTP_DPC_FocalDistance 0x5009 +#define PTP_DPC_FocusMode 0x500A +#define PTP_DPC_ExposureMeteringMode 0x500B +#define PTP_DPC_FlashMode 0x500C +#define PTP_DPC_ExposureTime 0x500D +#define PTP_DPC_ExposureProgramMode 0x500E +#define PTP_DPC_ExposureIndex 0x500F +#define PTP_DPC_ExposureBiasCompensation 0x5010 +#define PTP_DPC_DateTime 0x5011 +#define PTP_DPC_CaptureDelay 0x5012 +#define PTP_DPC_StillCaptureMode 0x5013 +#define PTP_DPC_Contrast 0x5014 +#define PTP_DPC_Sharpness 0x5015 +#define PTP_DPC_DigitalZoom 0x5016 +#define PTP_DPC_EffectMode 0x5017 +#define PTP_DPC_BurstNumber 0x5018 +#define PTP_DPC_BurstInterval 0x5019 +#define PTP_DPC_TimelapseNumber 0x501A +#define PTP_DPC_TimelapseInterval 0x501B +#define PTP_DPC_FocusMeteringMode 0x501C +#define PTP_DPC_UploadURL 0x501D +#define PTP_DPC_Artist 0x501E +#define PTP_DPC_CopyrightInfo 0x501F + +#define PTP_DPC_SupportedStreams 0x5020 +#define PTP_DPC_EnabledStreams 0x5021 +#define PTP_DPC_VideoFormat 0x5022 +#define PTP_DPC_VideoResolution 0x5023 +#define PTP_DPC_VideoQuality 0x5024 +#define PTP_DPC_VideoFrameRate 0x5025 +#define PTP_DPC_VideoContrast 0x5026 +#define PTP_DPC_VideoBrightness 0x5027 +#define PTP_DPC_AudioFormat 0x5028 +#define PTP_DPC_AudioBitrate 0x5029 +#define PTP_DPC_AudioSamplingRate 0x502A +#define PTP_DPC_AudioBitPerSample 0x502B +#define PTP_DPC_AudioVolume 0x502C // Canon (Not EOS) Property Codes -#define PTP_PC_CANON_BeepCode 0xD001 -#define PTP_PC_CANON_ViewFinderMode 0xD003 -#define PTP_PC_CANON_ImageQuality 0xD006 -#define PTP_PC_CANON_ImageSize 0xD008 -#define PTP_PC_CANON_FlashMode 0xD00a -#define PTP_PC_CANON_TvAvSetting 0xD00c -#define PTP_PC_CANON_MeteringMode 0xd010 -#define PTP_PC_CANON_MacroMode 0xd011 -#define PTP_PC_CANON_FocusingPoint 0xd012 -#define PTP_PC_CANON_WhiteBalance 0xd013 -#define PTP_PC_CANON_AFMode 0xD015 -#define PTP_PC_CANON_Contrast 0xD017 -#define PTP_PC_CANON_ISOSpeed 0xd01c -#define PTP_PC_CANON_Aperture 0xd01c -#define PTP_PC_CANON_ShutterSpeed 0xd01e -#define PTP_PC_CANON_ExpComp 0xd01f -#define PTP_PC_CANON_Zoom 0xd02a -#define PTP_PC_CANON_SizeQuality 0xd02c -#define PTP_PC_CANON_FlashMemory 0xd031 -#define PTP_PC_CANON_CameraModel 0xd032 -#define PTP_PC_CANON_CameraOwner 0xd033 -#define PTP_PC_CANON_UnixTime 0xd032 -#define PTP_PC_CANON_ViewFinderOut 0xD036 -#define PTP_PC_CANON_RealImageWidth 0xD039 -#define PTP_PC_CANON_PhotoEffect 0xD040 -#define PTP_PC_CANON_AssistLight 0xD041 +#define PTP_DPC_CANON_BeepCode 0xD001 +#define PTP_DPC_CANON_ViewFinderMode 0xD003 +#define PTP_DPC_CANON_ImageQuality 0xD006 +#define PTP_DPC_CANON_ImageSize 0xD008 +#define PTP_DPC_CANON_FlashMode 0xD00a +#define PTP_DPC_CANON_TvAvSetting 0xD00c +#define PTP_DPC_CANON_MeteringMode 0xd010 +#define PTP_DPC_CANON_MacroMode 0xd011 +#define PTP_DPC_CANON_FocusingPoint 0xd012 +#define PTP_DPC_CANON_WhiteBalance 0xd013 +#define PTP_DPC_CANON_AFMode 0xD015 +#define PTP_DPC_CANON_Contrast 0xD017 +#define PTP_DPC_CANON_ISOSpeed 0xd01c +#define PTP_DPC_CANON_Aperture 0xd01c +#define PTP_DPC_CANON_ShutterSpeed 0xd01e +#define PTP_DPC_CANON_ExpComp 0xd01f +#define PTP_DPC_CANON_Zoom 0xd02a +#define PTP_DPC_CANON_SizeQuality 0xd02c +#define PTP_DPC_CANON_FlashMemory 0xd031 +#define PTP_DPC_CANON_CameraModel 0xd032 +#define PTP_DPC_CANON_CameraOwner 0xd033 +#define PTP_DPC_CANON_UnixTime 0xd032 +#define PTP_DPC_CANON_ViewFinderOut 0xD036 +#define PTP_DPC_CANON_RealImageWidth 0xD039 +#define PTP_DPC_CANON_PhotoEffect 0xD040 +#define PTP_DPC_CANON_AssistLight 0xD041 // EOS Device Property Codes -#define PTP_PC_EOS_Aperture 0xD101 -#define PTP_PC_EOS_ShutterSpeed 0xD102 -#define PTP_PC_EOS_ISOSpeed 0xD103 -#define PTP_PC_EOS_ExpCompensation 0xD104 -#define PTP_PC_EOS_AutoExposureMode 0xD105 -#define PTP_PC_EOS_DriveMode 0xD106 -#define PTP_PC_EOS_MeteringMode 0xD107 -#define PTP_PC_EOS_FocusMode 0xD108 -#define PTP_PC_EOS_WhiteBalance 0xD109 -#define PTP_PC_EOS_ColorTemperature 0xD10A -#define PTP_PC_EOS_WhiteBalanceAdjustA 0xD10B -#define PTP_PC_EOS_WhiteBalanceAdjustB 0xD10C -#define PTP_PC_EOS_WhiteBalanceXA 0xD10D -#define PTP_PC_EOS_WhiteBalanceXB 0xD10E -#define PTP_PC_EOS_ColorSpace 0xD10F -#define PTP_PC_EOS_PictureStyle 0xD110 -#define PTP_PC_EOS_BatteryPower 0xD111 -#define PTP_PC_EOS_BatterySelect 0xD112 -#define PTP_PC_EOS_CameraTime 0xD113 -#define PTP_PC_EOS_Owner 0xD115 -#define PTP_PC_EOS_ModelID 0xD116 -#define PTP_PC_EOS_PTPExtensionVersion 0xD119 -#define PTP_PC_EOS_DPOFVersion 0xD11A -#define PTP_PC_EOS_AvailableShots 0xD11B -#define PTP_PC_EOS_CaptureDestination 0xD11C -#define PTP_PC_EOS_CurrentFolder 0xD11F -#define PTP_PC_EOS_ImageFormat 0xD120 -#define PTP_PC_EOS_ImageFormatCF 0xD121 -#define PTP_PC_EOS_ImageFormatSD 0xD122 -#define PTP_PC_EOS_ImageFormatExtHD 0xD123 -#define PTP_PC_EOS_AEModeDial 0xD138 -#define PTP_PC_EOS_ShutterCounter 0xD1AC -#define PTP_PC_EOS_VF_Output 0xD1B0 -#define PTP_PC_EOS_EVFMode 0xD1B1 -#define PTP_PC_EOS_DOFPreview 0xD1B2 -#define PTP_PC_EOS_VFSharp 0xD1B3 -#define PTP_PC_EOS_EVFWBMode 0xD1B4 -#define PTP_PC_EOS_FocusInfoEx 0xD1D3 +#define PTP_DPC_EOS_Aperture 0xD101 +#define PTP_DPC_EOS_ShutterSpeed 0xD102 +#define PTP_DPC_EOS_ISOSpeed 0xD103 +#define PTP_DPC_EOS_ExpCompensation 0xD104 +#define PTP_DPC_EOS_AutoExposureMode 0xD105 +#define PTP_DPC_EOS_DriveMode 0xD106 +#define PTP_DPC_EOS_MeteringMode 0xD107 +#define PTP_DPC_EOS_FocusMode 0xD108 +#define PTP_DPC_EOS_WhiteBalance 0xD109 +#define PTP_DPC_EOS_ColorTemperature 0xD10A +#define PTP_DPC_EOS_WhiteBalanceAdjustA 0xD10B +#define PTP_DPC_EOS_WhiteBalanceAdjustB 0xD10C +#define PTP_DPC_EOS_WhiteBalanceXA 0xD10D +#define PTP_DPC_EOS_WhiteBalanceXB 0xD10E +#define PTP_DPC_EOS_ColorSpace 0xD10F +#define PTP_DPC_EOS_PictureStyle 0xD110 +#define PTP_DPC_EOS_BatteryPower 0xD111 +#define PTP_DPC_EOS_BatterySelect 0xD112 +#define PTP_DPC_EOS_CameraTime 0xD113 +#define PTP_DPC_EOS_Owner 0xD115 +#define PTP_DPC_EOS_ModelID 0xD116 +#define PTP_DPC_EOS_PTPExtensionVersion 0xD119 +#define PTP_DPC_EOS_DPOFVersion 0xD11A +#define PTP_DPC_EOS_AvailableShots 0xD11B +#define PTP_DPC_EOS_CaptureDestination 0xD11C +#define PTP_DPC_EOS_CurrentFolder 0xD11F +#define PTP_DPC_EOS_ImageFormat 0xD120 +#define PTP_DPC_EOS_ImageFormatCF 0xD121 +#define PTP_DPC_EOS_ImageFormatSD 0xD122 +#define PTP_DPC_EOS_ImageFormatExtHD 0xD123 +#define PTP_DPC_EOS_AEModeDial 0xD138 +#define PTP_DPC_EOS_ShutterCounter 0xD1AC +#define PTP_DPC_EOS_VF_Output 0xD1B0 +#define PTP_DPC_EOS_EVFMode 0xD1B1 +#define PTP_DPC_EOS_DOFPreview 0xD1B2 +#define PTP_DPC_EOS_VFSharp 0xD1B3 +#define PTP_DPC_EOS_EVFWBMode 0xD1B4 +#define PTP_DPC_EOS_FocusInfoEx 0xD1D3 // Magic Lantern ptpview old opcodes #define PTP_OC_ML_LiveBmpRam 0x9996 diff --git a/test/test.c b/test/test.c index 9eb5d20..07cad3b 100644 --- a/test/test.c +++ b/test/test.c @@ -126,13 +126,13 @@ int test_props() { int rc = test_setup_usb(&r); if (rc) return rc; - rc = ptp_get_prop_value(&r, PTP_PC_BatteryLevel); + rc = ptp_get_prop_value(&r, PTP_DPC_BatteryLevel); if (rc) return rc; printf("Test parse: %d\n", ptp_parse_prop_value(&r)); assert(ptp_parse_prop_value(&r) == 50); struct PtpPropDesc pd; - rc = ptp_get_prop_desc(&r, PTP_PC_BatteryLevel, &pd); + rc = ptp_get_prop_desc(&r, PTP_DPC_BatteryLevel, &pd); if (rc) return rc; assert(pd.current_value32 == 50); assert(pd.default_value32 == 50); @@ -141,7 +141,7 @@ int test_props() { assert(pd.range_form.max == 100); assert(pd.range_form.step == 1); - rc = ptp_get_prop_desc(&r, PTP_PC_ImageSize, &pd); + rc = ptp_get_prop_desc(&r, PTP_DPC_ImageSize, &pd); if (rc) return rc; char buffer[128];