diff --git a/merlinApp/src/merlinDetector.cpp b/merlinApp/src/merlinDetector.cpp index fc1c7ee..4ba61a3 100644 --- a/merlinApp/src/merlinDetector.cpp +++ b/merlinApp/src/merlinDetector.cpp @@ -1115,12 +1115,12 @@ asynStatus merlinDetector::writeInt32(asynUser *pasynUser, epicsInt32 value) else // a standard image acquisition (or profile acquisition) { epicsSnprintf(strVal, MPX_MAXLINE, "%d", imagesToAcquire); - cmdConnection->mpxSet(MPXVAR_NUMFRAMESTOACQUIRE, strVal, + status = cmdConnection->mpxSet(MPXVAR_NUMFRAMESTOACQUIRE, strVal, Labview_DEFAULT_TIMEOUT); if (profileMaskParm & (MPXPROFILES_IMAGE == MPXPROFILES_IMAGE)) { - cmdConnection->mpxCommand(MPXCMD_STARTACQUISITION, + status = cmdConnection->mpxCommand(MPXCMD_STARTACQUISITION, Labview_DEFAULT_TIMEOUT); } else @@ -1129,6 +1129,12 @@ asynStatus merlinDetector::writeInt32(asynUser *pasynUser, epicsInt32 value) Labview_DEFAULT_TIMEOUT); } } + if (status) + { + setIntegerParam(ADStatus, ADStatusError); + setStringParam(ADStatusMessage, "Scan start failed"); + status = setIntegerParam(ADAcquire, 0); + } } if (!value && (adstatus == ADStatusAcquire)) {