From ab61e952e19e4e49e9b45975a11edb4a043ecaa0 Mon Sep 17 00:00:00 2001 From: Douglas Araujo Date: Wed, 14 Sep 2022 10:30:57 +0200 Subject: [PATCH] Add mutex control --- ADHamaApp/src/hama.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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);