Open transistortim opened 2 years ago
sorry for not getting back earlier. i am very busy these days :/
i think that the second argument includes autofocusing might be true, but i need to go into debugging this locally too. i hope i can find the time somewhen in next weeks :/
Would be great to have this sorted out.
@transistortim if you are still around for feedback: nice work. I have a question regarding your Instant-Press suggestion: What is the expected/real behavior of sending just one 3,0
if the lens is out of focus? Does it focus or doesn't it?
Is your conclusion from your tests that sending a 3
is exactly equivalent of sending first a 1
, then immediately a 2
?
I'd be in support of removing the EOS-M special casing if not required. As a random data point: The very latest EOSUtility USB traces from an R5m2 shows the interesting pattern (1,1), (1), (1,1), (2,1), (2), (download the image!), (1).
Is your feature request related to a problem? Please describe. In my setup I need to capture photos with a Canon camera without triggering autofocus, which is why I dug into eosremoterelease. I found two issues dealing with autofocus and eosremoterelease settings, here and over at gphoto2. After some try & error and problems with localisation I got it working for my use-case. Nevertheless, in my opinion the eosremoterelease choice names are non-self-explanatory for users not looking into the low-level communication (info on AF is missing, Press 1, 2, 3). I felt invited by the comment / debugging / to do some tests and compile information from various places, see below.
*remotereleaseon
2, 1
is currently missing from eosremoterelease options. If there is a logic behind this, this should be Full-Press without AF. "Full-Press" means pressing the button "the other half" (1/2 -> 1) after already having performed a "Half-Press" (0 -> 1/2). "Instant-Press" is the instant press without halting halfway (0 -> 1). I'm not a native speaker, maybe someone knows better fitting terms.Describe alternatives you've considered I'm open to discussion.
Additional context To understand eosremoterelease, first of all I looked at capturing. What camera_trigger_canon_eos_capture does is:
ptp_canon_eos_remotereleaseon (params, 1, 0), _("Canon EOS Half-Press failed")
ptp_canon_eos_remotereleaseon (params, 2, 0), _("Canon EOS Full-Press failed")
ptp_canon_eos_remotereleaseoff (params, 2), _("Canon EOS Full-Release failed")
ptp_canon_eos_remotereleaseoff (params, 1), _("Canon EOS Half-Release failed")
ptp_canon_eos_remotereleaseon (params, 3, 0), _("Canon EOS M Full-Press failed")
ptp_canon_eos_remotereleaseoff (params, 3), _("Canon EOS M Full-Release failed")
The remotereleaseon/-off parameters for
eosremoterelease
are defined here. They are listed in the following table and cross-referenced to the names in the debug messages ofcamera_trigger_canon_eos_capture
.It seems the values
1
&2
are valid for EOS, while3
is valid for EOS M. This is also mentioned in the code of ptpy - a Python implementation of PTP. I do not think there is a difference between EOS and EOS M, because...3
, this contradicts the assumption of3
being only for EOS M.3
works as Full-Press on mailing list.1
,2
and3
were valid.I'm pretty sure the second remotereleaseon parameter is AF, because
camera_trigger_canon_eos_capture
(second parameter0
) triggers AF, as reported in the autofocus issues. Using eosremoterelease with second parameter1
does not trigger AF.Results of my own tests with EOS M6 Mark II and EOS M50 (both show the same behaviour):
Open questions:
If the questions are resolved, I could help with the implementation.