2

When trying to send my Canon70D the following command it seems to do nothing.

EDSDK.EdsSendCommand(camera.Ref, 
                     EDSDK.CameraCommand_BulbStart, 
                     0);

The camera reference number is correct, because if I send it a EDSDK.CameraCommand_TakePhoto command, it takes the photo as expected.

Any thoughts would be much appreciated.

EDIT SOLUTION

After reading the API Docs again, i found i needed to send a UI lock command before a bulb start. See the following code.

EDSDK.EdsSendStatusCommand(camera.Ref, EDSDK.CameraState_UILock, 0);
EDSDK.EdsSendCommand(camera.Ref, EDSDK.CameraCommand_BulbStart, 0);

Thanks for the help everyone :)

agierens
  • 132
  • 9
  • 1
    Can you link the API docs (I can't find them) and tell us the version of the SDK? Thanks! – kdbanman Sep 11 '15 at 04:31
  • 1
    @kdbanman I am using Version 2.13 (The only copy I could find, without having to request the SDK from canon). Here is a link to the API document that was included with the SDK. https://www.dropbox.com/s/879fn34qr0glvx2/EDSDK_API.pdf?dl=0 – agierens Sep 11 '15 at 05:09
  • 1
    Not all models of a camera implement all commands. Some models use different methods. You need the programmers software manual for specific model to determine correct format for the command. Also make sure your camera has all the software updates for the methods to work. – jdweng Sep 11 '15 at 05:11
  • @jdweng Perfect. Thanks for that. I found the solution. Editing my main questions and putting the solution. – agierens Sep 11 '15 at 05:29
  • Good detective work. Order-dependent APIs sure can be a bugger. – kdbanman Sep 11 '15 at 07:50
  • Your solution seems to be incorrect. UI_Lock is a StatusCommand and has to be sent with EdsSendStatusCommand. Other than that, for cameras newer than EOS 50D or EOS 5D Mark II you should use CameraCommand_PressShutterButton instead of the Bulb commands – Johannes Bildstein Sep 11 '15 at 10:29

0 Answers0