diff --git a/ADHamaApp/src/hama.cpp b/ADHamaApp/src/hama.cpp index c492afe..bb07622 100644 --- a/ADHamaApp/src/hama.cpp +++ b/ADHamaApp/src/hama.cpp @@ -496,12 +496,17 @@ epicsTimeStamp imageStamp; //static const char *functionName = "imageTask"; + lock(); + while(1) { getIntegerParam(ADAcquire, &acquire); if(!acquire) { - puts("Waitng start"); + puts("Waiting start"); + + unlock(); status = epicsEventWait(startAcquireEventId_); puts("Starting request received"); + lock(); /* We are acquiring. */ //acquireStatusError = 0; @@ -520,7 +525,7 @@ epicsTimeStamp imageStamp; epicsTimeGetCurrent(&startTime); prevAcquisitionCount = 0; } - } + } eventStatus = epicsEventWaitWithTimeout(this->stopAcquireEventId_, 0); /* Stop event detected */ @@ -536,7 +541,9 @@ epicsTimeStamp imageStamp; epicsThreadSleep(0.001); // get image transfer status. + unlock(); imageTransferStatus(m_hdcam, captransferinfo); + lock(); if (prevAcquisitionCount < captransferinfo.nFrameCount) { //printf("nFrameCount: %d, nNewestFrameIndex: %d\n", captransferinfo.nFrameCount, captransferinfo.nNewestFrameIndex);