diff --git a/slsReceiverSoftware/Makefile b/slsReceiverSoftware/Makefile index a8f652e61..db10460c0 100644 --- a/slsReceiverSoftware/Makefile +++ b/slsReceiverSoftware/Makefile @@ -39,7 +39,6 @@ DUMMY_MAIN_SRC = dummyMain.cpp OBJS=$(SRC_CLNT:%.cpp=$(BUILDDIR)/%.o) - $(info ) $(info #######################################) $(info # Compiling slsReceiverSoftware #) @@ -49,7 +48,7 @@ $(info ) .PHONY: all intdoc package eigerReceiver clean -all: builddir updateVersion lib receiver +all: builddir lib receiver dummy: $(DESTDIR)/dummyReceiver @@ -68,7 +67,9 @@ lib: $(OBJS) $(DESTDIR)/libSlsReceiver.so $(DESTDIR)/libSlsReceiver.a receiver: $(DESTDIR)/slsReceiver -$(DESTDIR)/libSlsReceiver.so: $(OBJS) + +$(DESTDIR)/libSlsReceiver.so: $(OBJS) + ./updateGitVersion.sh $(CXX) -shared -Wl,-soname,libSlsReceiver.so -o libSlsReceiver.so $(OBJS) -lc $(INCLUDES) $(DFLAGS) $(FLAGS) $(EPICSFLAGS) -L/usr/lib64 -pthread $(LIBZMQ) -lrt $(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR)) mv libSlsReceiver.so $(DESTDIR) @@ -78,12 +79,12 @@ $(DESTDIR)/libSlsReceiver.a: $(OBJS) mv libSlsReceiver.a $(DESTDIR) -$(DESTDIR)/slsReceiver: lib +$(DESTDIR)/slsReceiver: $(SRCDIR)/$(MAIN_SRC) $(DESTDIR)/libSlsReceiver.so $(DESTDIR)/libSlsReceiver.a $(CXX) -o $@ $(SRCDIR)/$(MAIN_SRC) $(FLAGS) $(INCLUDES) $(CLAGS) $(LIBS) $(LDFLAGRXR) -fPIC $(LIBZMQ) -lrt #$(EIGERFLAGS) -$(DESTDIR)/dummyReceiver: lib +$(DESTDIR)/dummyReceiver: $(SRCDIR)/$(DUMMY_MAIN_SRC) $(DESTDIR)/libSlsReceiver.so $(DESTDIR)/libSlsReceiver.a $(CXX) -o $@ $(SRCDIR)/$(DUMMY_MAIN_SRC) $(FLAGS) $(INCLUDES) $(CLAGS) $(LIBS) $(LDFLAGRXR) -fPIC $(LIBZMQ) -lrt #$(EIGERFLAGS) @@ -112,8 +113,6 @@ testclean: cd $(TESTDIR) && rm *.o rec send; \ fi -updateVersion: - ./updateGitVersion.sh #------------------------------------------------------------------------------- diff --git a/slsReceiverSoftware/gitInfo.txt b/slsReceiverSoftware/gitInfo.txt index cb150ecc4..63bebf28b 100644 --- a/slsReceiverSoftware/gitInfo.txt +++ b/slsReceiverSoftware/gitInfo.txt @@ -1,9 +1,9 @@ Path: slsDetectorsPackage/slsReceiverSoftware URL: origin git@git.psi.ch:sls_detectors_software/sls_receiver_software.git Repository Root: origin git@git.psi.ch:sls_detectors_software/sls_receiver_software.git -Repsitory UUID: 3ed2a33d504cb2d40acd6e7c8e115697158346e9 -Revision: 595 -Branch: developer +Repsitory UUID: 7a69378574427de0c5cd9a1b86231c47732829a8 +Revision: 594 +Branch: eigerheaderchange Last Changed Author: Dhanya_Maliakal -Last Changed Rev: 595 -Last Changed Date: 2017-06-22 12:27:17 +0200 +Last Changed Rev: 599 +Last Changed Date: 2017-06-28 11:30:46 +0200 diff --git a/slsReceiverSoftware/include/GeneralData.h b/slsReceiverSoftware/include/GeneralData.h index eb99b2d09..c445ed4d8 100644 --- a/slsReceiverSoftware/include/GeneralData.h +++ b/slsReceiverSoftware/include/GeneralData.h @@ -461,109 +461,28 @@ class JungfrauData : public GeneralData { class EigerData : public GeneralData { -private: - -#ifndef EIGER_NEWHEADER - /** Structure of an eiger packet header */ - typedef struct { - unsigned char subFrameNumber[4]; - unsigned char missingPacket[2]; - unsigned char portIndex[1]; - unsigned char dynamicRange[1]; - } eiger_packet_header_t; - - /** Structure of an eiger packet footer */ - typedef struct { - unsigned char frameNumber[6]; - unsigned char packetNumber[2]; - } eiger_packet_footer_t; - public: - /** Size of packet header */ - const static uint32_t packetHeaderSize = 8; - - /** Footer offset */ - uint32_t footerOffset; -#endif - - /** Constructor */ EigerData(){ myDetectorType = slsReceiverDefs::EIGER; nPixelsX = (256*2); nPixelsY = 256; -#ifndef EIGER_NEWHEADER - headerSizeinPacket = 8; -#else headerSizeinPacket = sizeof(slsReceiverDefs::sls_detector_header); -#endif dataSize = 1024; -#ifndef EIGER_NEWHEADER - packetSize = headerSizeinPacket + dataSize + 8; -#else packetSize = headerSizeinPacket + dataSize; -#endif packetsPerFrame = 256; imageSize = dataSize*packetsPerFrame; -#ifndef EIGER_NEWHEADER - frameIndexMask = 0xffffff; -#endif maxFramesPerFile = EIGER_MAX_FRAMES_PER_FILE; fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsReceiverDefs::sls_detector_header); defaultFifoDepth = 100; -#ifndef EIGER_NEWHEADER - footerOffset = headerSizeinPacket + dataSize; -#endif threadsPerReceiver = 2; -#ifndef EIGER_NEWHEADER - headerPacketSize = 48; -#else headerPacketSize = 40; -#endif nPixelsX_Streamer = nPixelsX; nPixelsY_Streamer = nPixelsY; imageSize_Streamer = imageSize; }; -#ifndef EIGER_NEWHEADER - /** - * Get Header Infomation (frame number, packet number) - * @param index thread index for debugging purposes - * @param packetData pointer to data - * @param frameNumber frame number - * @param packetNumber packet number - */ - void GetHeaderInfo(int index, char* packetData, uint64_t& frameNumber, uint32_t& packetNumber) const { - eiger_packet_footer_t* footer = (eiger_packet_footer_t*)(packetData + footerOffset); - frameNumber = (uint64_t)((*( (uint64_t*) footer)) & frameIndexMask); - packetNumber = ((uint32_t)(*( (uint16_t*) footer->packetNumber)))-1; - } - - /** - * Get Header Infomation (frame number, packet number) - * @param index thread index for debugging purposes - * @param packetData pointer to data - * @param dynamicRange dynamic range to assign subframenumber if 32 bit mode - * @param frameNumber frame number - * @param packetNumber packet number - * @param subFrameNumber sub frame number if applicable - * @param bunchId bunch id - */ - void GetHeaderInfo(int index, char* packetData, uint32_t dynamicRange, - uint64_t& frameNumber, uint32_t& packetNumber, uint32_t& subFrameNumber, uint64_t& bunchId) const { - bunchId = -1; - subFrameNumber = -1; - eiger_packet_footer_t* footer = (eiger_packet_footer_t*)(packetData + footerOffset); - frameNumber = (uint64_t)((*( (uint64_t*) footer)) & frameIndexMask); - packetNumber = ((uint32_t)(*( (uint16_t*) footer->packetNumber)))-1; - if (dynamicRange == 32) { - eiger_packet_header_t* header = (eiger_packet_header_t*) (packetData); - subFrameNumber = (uint64_t) *( (uint32_t*) header->subFrameNumber); - } - } -#endif - /** * Setting dynamic range changes member variables * @param dr dynamic range @@ -581,30 +500,11 @@ private: */ void SetTenGigaEnable(bool tgEnable, int dr) { dataSize = (tgEnable ? 4096 : 1024); -#ifndef EIGER_NEWHEADER - packetSize = (tgEnable ? 4112 : 1040); -#else packetSize = headerSizeinPacket + dataSize; -#endif packetsPerFrame = (tgEnable ? 4 : 16) * dr; imageSize = dataSize*packetsPerFrame; -#ifndef EIGER_NEWHEADER - footerOffset = packetHeaderSize+dataSize; -#endif }; -#ifndef EIGER_NEWHEADER - /** - * Print all variables - */ - void Print() const { - GeneralData::Print(); - printf( "Packet Header Size: %d\n" - "Footer Offset : %d\n", - packetHeaderSize, - footerOffset); - } -#endif }; diff --git a/slsReceiverSoftware/include/gitInfoReceiver.h b/slsReceiverSoftware/include/gitInfoReceiver.h index 4f55a07f7..81f5de747 100644 --- a/slsReceiverSoftware/include/gitInfoReceiver.h +++ b/slsReceiverSoftware/include/gitInfoReceiver.h @@ -1,11 +1,11 @@ //#define SVNPATH "" #define SVNURL "git@git.psi.ch:sls_detectors_software/sls_receiver_software.git" //#define SVNREPPATH "" -#define SVNREPUUID "3ed2a33d504cb2d40acd6e7c8e115697158346e9" -//#define SVNREV 0x595 +#define SVNREPUUID "7a69378574427de0c5cd9a1b86231c47732829a8" +//#define SVNREV 0x599 //#define SVNKIND "" //#define SVNSCHED "" #define SVNAUTH "Dhanya_Maliakal" -#define SVNREV 0x595 -#define SVNDATE 0x20170622 +#define SVNREV 0x599 +#define SVNDATE 0x20170628 // diff --git a/slsReceiverSoftware/src/Listener.cpp b/slsReceiverSoftware/src/Listener.cpp index 94f826045..75783fa5d 100644 --- a/slsReceiverSoftware/src/Listener.cpp +++ b/slsReceiverSoftware/src/Listener.cpp @@ -61,11 +61,8 @@ Listener::Listener(detectorType dtype, Fifo*& f, runStatus* s, uint32_t* portno, switch(myDetectorType){ case JUNGFRAU: - standardheader = true; -#ifndef EIGER_NEWHEADER -#else case EIGER: -#endif + standardheader = true; break; default: standardheader = false; @@ -381,10 +378,6 @@ uint32_t Listener::ListenToAnImage(char* buf) { else { memset(new_header, 0, sizeof(sls_detector_header)); new_header->frameNumber = fnum; -#ifndef EIGER_NEWHEADER - if (generalData->myDetectorType == EIGER && *dynamicRange == 32) - new_header->expLength = snum; -#endif new_header->packetNumber = pperFrame; /*new_header->xCoord = index; given by det packet, also for ycoord, zcoord */ new_header->detType = (uint8_t) generalData->myDetectorType; @@ -475,10 +468,6 @@ uint32_t Listener::ListenToAnImage(char* buf) { else { memset(new_header, 0, sizeof(sls_detector_header)); new_header->frameNumber = fnum; -#ifndef EIGER_NEWHEADER - if (generalData->myDetectorType == EIGER && *dynamicRange == 32) - new_header->expLength = snum; -#endif new_header->packetNumber = pperFrame; /*new_header->xCoord = index; given by det packet, also for ycoord, zcoord */ new_header->detType = (uint8_t) generalData->myDetectorType; diff --git a/slsReceiverSoftware/src/main.cpp b/slsReceiverSoftware/src/main.cpp index b4e5ef142..328acec3a 100644 --- a/slsReceiverSoftware/src/main.cpp +++ b/slsReceiverSoftware/src/main.cpp @@ -13,7 +13,7 @@ #include "logger.h" using namespace std; -slsReceiverUsers *receiver; +slsReceiverUsers *receiver; void deleteReceiver(slsReceiverUsers* r){ if(r){delete r;r=0;} diff --git a/slsReceiverSoftware/updateGitVersion.sh b/slsReceiverSoftware/updateGitVersion.sh index 23a6e6424..7c6af8bb6 100755 --- a/slsReceiverSoftware/updateGitVersion.sh +++ b/slsReceiverSoftware/updateGitVersion.sh @@ -1,7 +1,7 @@ MAINDIR=slsDetectorsPackage SPECDIR=slsReceiverSoftware -TMPFILE=gitInfoReceiverTmp.h -INCLFILE=gitInfoReceiver.h +TMPFILE=include/gitInfoReceiverTmp.h +INCLFILE=include/gitInfoReceiver.h WD=$PWD GITREPO1='git remote -v' @@ -28,7 +28,7 @@ REV=`eval $REV1 $REV2` FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2` RDATE=`eval $RDATE1` echo Path: ${MAINDIR}/${SPECDIR} $'\n'URL: ${GITREPO} $'\n'Repository Root: ${GITREPO} $'\n'Repsitory UUID: ${REPUID} $'\n'Revision: ${FOLDERREV} $'\n'Branch: ${BRANCH} $'\n'Last Changed Author: ${AUTH1}_${AUTH2} $'\n'Last Changed Rev: ${REV} $'\n'Last Changed Date: ${RDATE} > gitInfo.txt -cd $WD +cd .. ./genVersionHeader.sh $SPECDIR/gitInfo.txt $SPECDIR/$TMPFILE $SPECDIR/$INCLFILE echo "Revision Updated" cd $WD