From 9e081966772985733f1ed2b818eec8839fa908e1 Mon Sep 17 00:00:00 2001 From: l_maliakal_d Date: Wed, 2 Oct 2013 14:28:37 +0000 Subject: [PATCH] huge change in receiver in previous version, sortingand padding frames before movign into fifo; users small change in previous revision typecasting git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@676 951219d9-93cf-4727-9268-0efd64621fa3 --- .../gotthardDetectorServer | Bin 129324 -> 129388 bytes .../slsDetector/slsDetectorUsers.cpp | 1 - slsDetectorSoftware/slsReceiver/Makefile | 2 +- .../slsReceiver/receiver_defs.h | 2 +- .../slsReceiver/slsReceiverFunctionList.cpp | 10 ---------- .../slsReceiver/slsReceiverFunctionList.h | 2 +- .../slsReceiver/slsReceiver_funcs.cpp | 6 +++--- .../slsReceiver/slsReceiver_funcs.h | 2 +- 8 files changed, 7 insertions(+), 18 deletions(-) diff --git a/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServer b/slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServer index d718a706dd416ba6a6415ebea7fbed20b4fa01bb..a81dd959f0400ca7565305e755b46280bcc71a76 100755 GIT binary patch delta 44720 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 delta 44589 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 N&^5ref$L=S{{i0&B_aR- diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp index b146a489c..4642ce798 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp @@ -1,4 +1,3 @@ - #include "slsDetectorUsers.h" #include "detectorData.h" #include "multiSlsDetector.h" diff --git a/slsDetectorSoftware/slsReceiver/Makefile b/slsDetectorSoftware/slsReceiver/Makefile index ac372b7b2..c53c56116 100644 --- a/slsDetectorSoftware/slsReceiver/Makefile +++ b/slsDetectorSoftware/slsReceiver/Makefile @@ -8,7 +8,7 @@ LIBS?= -L$(LIBDIR) -lSlsDetector INCLUDES ?= -I ../MySocketTCP -I ../commonFiles -I -I ../slsDetectorAnalysis -I . SRC_CLNT = slsReceiver.cpp -#../MySocketTCP/MySocketTCP.cpp slsReceiver_funcs.cpp UHRIXCallback.cpp slsReceiverFunctionList.cpp slsReceiverUsers.cpp +#../MySocketTCP/MySocketTCP.cpp slsReceiver_funcs.cpp UHRIXCallback.cpp slsReceiverFunctionList.cpp slsReceiverUsers.cpp DESTDIR ?= bin INSTMODE = 0777 diff --git a/slsDetectorSoftware/slsReceiver/receiver_defs.h b/slsDetectorSoftware/slsReceiver/receiver_defs.h index 8d57bd636..90ac83c19 100755 --- a/slsDetectorSoftware/slsReceiver/receiver_defs.h +++ b/slsDetectorSoftware/slsReceiver/receiver_defs.h @@ -13,7 +13,7 @@ #define BUF_SIZE (16*1024*1024) //16mb -//all max frames defined in sls_detector_defs.h. 20000 gotthard, 100000 for short gotthard, 1000 for moench +//all max frames defined in sls_detector_defs.h. 20000 gotthard, 100000 for short gotthard, 1000 for moench #define GOTTHARD_FIFO_SIZE 25000 diff --git a/slsDetectorSoftware/slsReceiver/slsReceiverFunctionList.cpp b/slsDetectorSoftware/slsReceiver/slsReceiverFunctionList.cpp index 3cb27f3f5..9e5bb81f0 100644 --- a/slsDetectorSoftware/slsReceiver/slsReceiverFunctionList.cpp +++ b/slsDetectorSoftware/slsReceiver/slsReceiverFunctionList.cpp @@ -644,7 +644,6 @@ int slsReceiverFunctionList::startWriting(){ int sleepnumber=0; int frameFactor=0; int i; -/*int i1,i2;*/ packetsInFile=0; framesCaught=0; @@ -801,10 +800,6 @@ int slsReceiverFunctionList::startWriting(){ strcpy(guiFileName,savefilename); pthread_mutex_lock(&dataReadyMutex); guiDataReady=1; - /* i1 = ((((uint32_t)(*((uint32_t*)latestData))) & (frameIndexMask)) >> frameIndexOffset); - i2 = ((((uint32_t)(*((uint32_t*)(latestData+oneBufferSize)))) & (frameIndexMask)) >> frameIndexOffset); - if ( i1 == (i2+1)) - cout<<"222WEIRDDD:"<> frameIndexOffset); - i2 = ((((uint32_t)(*((uint32_t*)(guiData+oneBufferSize)))) & (frameIndexMask)) >> frameIndexOffset); - if ( i1 == (i2+1)) - cout<<"WEIRDDD:"<> GOTTHARD_SHORT_FRAME_INDEX_OFFSET); #ifdef VERBOSE - cout<<"index:"<> GOTTHARD_FRAME_INDEX_OFFSET); #ifdef VERBOSE - cout<<"index1:"<