I have my application controlling the camera using C# and fairly lightweight EDSDKWraper (which I have modified a bit). I can already control basically everything, like LiveView, focusing (auto + manual), setting and reading various properties and shooting pictures, optionally with automated Focus bracketting/stacking.
However, there is a problem: When i start the LiveView and then take a photo using the standard way
SendCommand(Camera.Handle, PressShutterButton, ShutterButton_Completely_NonAF);
SendCommand(Camera.Handle, PressShutterButton, ShutterButton_OFF);
it works, I can download the pictures or cancel the download using Download
+ DownloadComplete
or DownloadCancel
functions. Unfortunately, after that it not possible to get the LiveView image anymore, the DownloadEvfImage
returns OBJECT_NOT_READY
and keeps it returning forever.
The only way out is to stop and start the LiveView again OR start the LiveView autofocus using the DoEvfAF
command. But I would like to avoid that.
This happens on both Canon 5D Mark IV and 5D Mark III and the same issue also happens on a completely different C# Framework with an different example that I just downloaded from the web. The EOS Utility seems to work fine though, so it seems there is some way.
Does the "LiveView + taking photo + LiveView again" even work in your app, whether C# or C++? Is there some trick I need to perform?
I have already spent a lot of time trying to fing a bug, such as not released data, and searching for answers on web, but no luck so far.