Skip to content

When sequence acquisition fails to start, Core should close autoshutter #901

Description

@marktsuchida

There are 3 ways in which a camera device could fail during StartSequenceAcquisition():

  1. Something in the camera fails before the call to GetCoreCallback()->PrepareForAcq() → camera returns an error code
  2. PrepareForAcq() returns an error (typically, shutter failed to open) → camera should propagate the error code (a few need fixing)
  3. Something in the camera fails after the call to PrepareForAcq() → camera should return an error code

Currently, when case 3 happens, we have no mechanism to reverse the effect of PrepareForAcq() (i.e., closing the shutter if autoshutter is enabled). (Some cameras might call AcqFinished() if the app calls stopSequenceAcquisition(), but this is not required behavior.)

The Core needs to keep track of whether the shutter was opened for autoshutter, and close it on the error return path of startSequenceAcquisition() when applicable (case 3).

(The alternative would be to require the cameras themselves to call AcqFinished() in case 3, but afaict no existing camera does this, and it's better to let the Core handle as much as it can.)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions