Re: Canon 1300D: can only capture one image; second capture fails
Marcus Meissner <[email protected]>
| Newsgroups | gmane.comp.multimedia.gphoto.user |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Feb 03, 2017 at 07:54:08PM +0100, Oliver Bendig wrote: > Hi Marcus, Hi Volker, > > > Marcus Meissner <[email protected]> hat am 2. Februar 2017 um 08:34 > > geschrieben: > > What I think might be missing here is a bit of waiting between > > the full shutter press and full shutter release. > > > > If you are curious to try something... This basically executes the > > shutter commands the capture function does, plus some additional > > waiting bettween "Press 2" and "Release 2". > > > > export LANG=C > > gphoto2 --wait-event=1s --set-config eosremoterelease="Press 1" > > --wait-event=1s --set-config eosremoterelease="Press 2" --wait-event=100ms > > --set-config eosremoterelease="Release 2" --set-config > > eosremoterelease="Release 1" --wait-event-and-download=5s > > > I played a little with the timings. The first wait-event has to be larger then > 270ms to make the camera release the shutter. > > working: > ----------- > gphoto2 --wait-event=270ms --set-config eosremoterelease="Press 1" > --wait-event=80ms --set-config eosremoterelease="Press 2" --wait-event=80ms > --set-config eosremoterelease="Release 2" +--set-config > eosremoterelease="Release 1" --wait-event-and-download=5s > > not working: > ---------------- > gphoto2 --wait-event=250ms --set-config eosremoterelease="Press 1" > --wait-event=80ms --set-config eosremoterelease="Press 2" --wait-event=80ms > --set-config eosremoterelease="Release 2" +--set-config > eosremoterelease="Release 1" --wait-event-and-download=5s > > The shutter releases with every call. But after saving the file, gphoto get's an > error -1: > UNKNOWN PTP Property d11b changed > UNKNOWN Camera Status 1 > UNKNOWN PTP Property d11b changed > Saving file as capt0000.jpg > UNKNOWN Camera Status 0 > *** Error (-1: 'Unspecified error') *** You have a typo in the commandline ... "+--set-config" should be "--set-config" > The jpg file was successfully written to disk and the file contains the correct > image. > The debug trace is here: http://bit.ly/2l0Bima > > To test the reliability, I called gphoto in a for loop with 10 iterations. This > didn't work reliable with a wait of 270 like in "single step" when called > without any sleep between the iteration. I had to increase to 500ms to get the > camera release the shutter in every iteration. With a sleep of 1sec after each > iteration, I could decrease the wait to 360ms: > > successfully captured 10 images: > for i in `echo 1 2 3 4 5 6 7 8 9 10`; do rm capt0000.jpg; gphoto2 > --wait-event=360ms --set-config eosremoterelease="Press 1" --wait-event=80ms > --set-config eosremoterelease="Press 2" --wait-event=80ms --set-config > eosremoterelease="Release 2" +--set-config eosremoterelease="Release 1" > --wait-event-and-download=5s; sleep 1; done > > In the for loop, the jpg always contains the first image that was taken in that > sequence. I moved the camera in between so that the image should differ. But it > was always the first image from that loop. I am also wondering if you can decrease or increase the wait after after the "Press 2", which is the time we hold down the virtual shutter button. I see you reduced it from 100ms to 80ms already. (The gphoto capture code currently does not have a wait there, which is probably the core issue.) Ciao, Marcus ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot