"Snap port Start/Stop command" not working with Nikon D7000 / OnStep

Issue #988 closed
Patrizio Boschi created an issue

I was trying to use the "Snap port Start/Stop command" advanced option of NINA to shoot with my Nikon D7000, which doesn’t support Bulb mode natively and requires to use the remote shutter or serial adapter.

I have an OnStep build which is able to connect to the Remote port of the Nikon (through a modded remote shutter) and start / stop the bulb mode using the following commands: ":SXX1,V1#" and ":SXX1,V0#".

The commands are working (tested with network connection using Putty), and actually make the camera shoot at any exposure time.

However, when I use NINA to shoot pictures, I can't get it to work correctly. The first shoot (if fast, say 3 seconds) starts and ends correctly (image captured); subsequent shoots hangs at "Exposing 3/3"(they don't get downloaded from camera). If I start a long exposure (say 45s) i get various errors/exceptions (please find see attachments)

Comments (5)

  1. Patrizio Boschi reporter

    BTW, NINA correctly supports the OnStep snap switch on the SWITCH equipment page. Maybe an option to use bulb mode through a SWITCH could be added?

  2. Dale Ghent

    It must be understood that this snapshot port is a non-standard feature of mounts and ASCOM does not provide a standard interface for its operation. Mount drivers have used the ASCOM CommandString() interface, where raw commands that only the driver understands can be supplied to it, as a way to provide a workable programmatic interface to apps such as NINA to control these ports. So far, EQMOD, GSS, and (I think) SkyWatcher’s own driver (their mounts largely introduced the snapshot port feature) utilize the CommandString() method to control this port. From Alan’s analysis, it seems that OnStep uses CommandBlind() instead. Since there is no standard around operating this port, there is no real “right” answer here and NINA doing what it currently does is not a bug. But, OnStep should at least try to follow the convention set by other drivers and implement its operation of this port as CommandString() as well.

    Ideally, operating this port would not be implemented with CommandString() or CommandBlind(), but rather using an ASCOM device Action command with a parameter that specifies how long to hold the shutter open. The Command*() methods are slated to be removed in a future release of the ASCOM standard and its maintainers urge driver maintainers to codify these “raw” commands as ASCOM device actions.

  3. Dale Ghent

    According to Howard Dutton, enabling checksum communications in the OnStep ASCOM driver will make this work. Alan or Patrizio, can you confirm this corrects the issue?

  4. Stefan B repo owner

    As per Dale's Comment the snap port should work when enabling checksum communication in the driver

  5. Log in to comment