Check for shutter support before calling SetShutter().

In order to avoid signaling error if SetShutter() call in setupShutter()
would fail.
This commit is contained in:
Hinko Kocevar
2016-07-13 11:06:08 +02:00
parent c7b253b037
commit 2d102d67dd

View File

@@ -718,6 +718,7 @@ asynStatus AndorCCD::setupShutter(int command)
int openTime, closeTime;
int shutterExTTL;
int shutterMode;
AndorCapabilities capabilities;
asynStatus status=asynSuccess;
static const char *functionName = "setupShutter";
@@ -750,11 +751,14 @@ asynStatus AndorCCD::setupShutter(int command)
}
try {
asynPrint(this->pasynUserSelf, ASYN_TRACE_FLOW,
"%s:%s:, SetShutter(%d,%d,%d,%d)\n",
driverName, functionName, shutterExTTL, shutterMode, closeTime, openTime);
checkStatus(SetShutter(shutterExTTL, shutterMode, closeTime, openTime));
capabilities.ulSize = sizeof(capabilities);
checkStatus(GetCapabilities(&capabilities));
if (capabilities.ulFeatures & AC_FEATURES_SHUTTER) {
asynPrint(this->pasynUserSelf, ASYN_TRACE_FLOW,
"%s:%s:, SetShutter(%d,%d,%d,%d)\n",
driverName, functionName, shutterExTTL, shutterMode, closeTime, openTime);
checkStatus(SetShutter(shutterExTTL, shutterMode, closeTime, openTime));
}
} catch (const std::string &e) {
asynPrint(pasynUserSelf, ASYN_TRACE_ERROR,
"%s:%s: %s\n",