Made good progress and figured out how to use the SDK wrapper (great job!). As I'm adding more functionality to what is ultimately supposed to be a complete camera control interface on a Surface Pro, I ran into an issue I can't quite seem to figure out: I can set a new aperture value in "A" mode, I can set a new shutter speed value in "S" mode, but if I try to set both in "M" mode using the same code, the camera accepts the new aperture setting but it (or the wrapper) throws an error:
"[kNkMAIDResult_NotSupported] (kNkMAIDCommand_CapSet, 33042, kNkMAIDDataType_EnumPtr, 213707288")
when I try to set the new shutter speed.
Does anybody have a clue what I need to do differently here so I can set both, aperture and shutter speed, in Manual mode?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Take a look at the 'testapp' demo application that is released with the source code.
It should allow you to adjust both when you're in manual mode.
Thanks,
Thomas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks, Thomas. Unfortunately, it doesn't. When I choose Manual mode on the camera, Shutter Speed is no longer settable in testapp. This seems to tell me that the D7100 does not allow both, Aperture and Shutter Speed, to be set in exposure mode M. Doesn't seem to make much sense as I can change both settings just fine in this mode, using the camera's front and rear wheels.
This points to a flaw either in Nikon's SDK or in the wrapper. Any idea which one it is? Ideas for a workaround?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That wasn't it, either, as that mode was set to 0. However, you got me thinking along the right lines, so I checked other camera settings and eventually discovered the reason:
The D7100 won't accept setting the shutter speed if it is in any of the bracketing modes, which was the case on mine. Setting bracketing to 0 solved the issue.
Thanks a lot for your help!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I just now ran into this issue as well with the D850... it seems that when Bracketing is enabled, you can't set the exposure time... that would be completely asinine... have to see if there is a way around this.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think I found the issue... the NkMAIDCapInfo.CanSet method does not work properly. It assumes that CanSet is static, which it is not. I.e. if I set Bracketing to enabled, then I can't set the Exposure and vice versa... BUT, if I comment out the CanSet check in CapModel, then I can switch off bracketing, set the exposure and then switch bracketing back on, and it works as expected.
Given the time crunch I'm under, I can't really investigate much further at this point, BUT, this means I can now set all my parameters, including exposure time (for the middle frame of the bracket) as well as the bracketing and then trigger the exposure through the remote release cable hooked up to a USB relay.
Instead of getting one frame per second, I now get a whole bracket of 9 frames in about 2 seconds.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Made good progress and figured out how to use the SDK wrapper (great job!). As I'm adding more functionality to what is ultimately supposed to be a complete camera control interface on a Surface Pro, I ran into an issue I can't quite seem to figure out: I can set a new aperture value in "A" mode, I can set a new shutter speed value in "S" mode, but if I try to set both in "M" mode using the same code, the camera accepts the new aperture setting but it (or the wrapper) throws an error:
"[kNkMAIDResult_NotSupported] (kNkMAIDCommand_CapSet, 33042, kNkMAIDDataType_EnumPtr, 213707288")
when I try to set the new shutter speed.
Does anybody have a clue what I need to do differently here so I can set both, aperture and shutter speed, in Manual mode?
Hi,
Take a look at the 'testapp' demo application that is released with the source code.
It should allow you to adjust both when you're in manual mode.
Thanks,
Thomas
Thanks, Thomas. Unfortunately, it doesn't. When I choose Manual mode on the camera, Shutter Speed is no longer settable in testapp. This seems to tell me that the D7100 does not allow both, Aperture and Shutter Speed, to be set in exposure mode M. Doesn't seem to make much sense as I can change both settings just fine in this mode, using the camera's front and rear wheels.
This points to a flaw either in Nikon's SDK or in the wrapper. Any idea which one it is? Ideas for a workaround?
Very strange - this works fine on my D5200 and my D90.
From the Type0010 shutter speed documentation:
"When the Capability_SpotWBMode is 1 (ON). the ulOperations cannot be set into."
This is the only thing I can think off - make sure that the 'SpotWBMode' capability is set to 0 (OFF).
That wasn't it, either, as that mode was set to 0. However, you got me thinking along the right lines, so I checked other camera settings and eventually discovered the reason:
The D7100 won't accept setting the shutter speed if it is in any of the bracketing modes, which was the case on mine. Setting bracketing to 0 solved the issue.
Thanks a lot for your help!
Glad to hear you got it working!
I just now ran into this issue as well with the D850... it seems that when Bracketing is enabled, you can't set the exposure time... that would be completely asinine... have to see if there is a way around this.
I think I found the issue... the NkMAIDCapInfo.CanSet method does not work properly. It assumes that CanSet is static, which it is not. I.e. if I set Bracketing to enabled, then I can't set the Exposure and vice versa... BUT, if I comment out the CanSet check in CapModel, then I can switch off bracketing, set the exposure and then switch bracketing back on, and it works as expected.
Given the time crunch I'm under, I can't really investigate much further at this point, BUT, this means I can now set all my parameters, including exposure time (for the middle frame of the bracket) as well as the bracketing and then trigger the exposure through the remote release cable hooked up to a USB relay.
Instead of getting one frame per second, I now get a whole bracket of 9 frames in about 2 seconds.