diff --git a/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h index cc51c54ae..45ec6148a 100755 --- a/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h @@ -59,9 +59,9 @@ enum DACINDEX {D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, #define DEFAULT_VLIMIT (-100) #define DEFAULT_TIMING_MODE (AUTO_TIMING) #define DEFAULT_TX_UDP_PORT (0x7e9a) -#define DEFAULT_RUN_CLK (40) -#define DEFAULT_ADC_CLK (20) -#define DEFAULT_SYNC_CLK (20) +#define DEFAULT_RUN_CLK (200) // 40 +#define DEFAULT_ADC_CLK (40) // 20 +#define DEFAULT_SYNC_CLK (40) // 20 #define DEFAULT_DBIT_CLK (200) #define HIGHVOLTAGE_MIN (60) diff --git a/slsReceiverSoftware/include/GeneralData.h b/slsReceiverSoftware/include/GeneralData.h index 87ad410d0..6a7801b81 100755 --- a/slsReceiverSoftware/include/GeneralData.h +++ b/slsReceiverSoftware/include/GeneralData.h @@ -120,18 +120,13 @@ public: * 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 oddStartingPacket odd starting packet (gotthard) * @param frameNumber frame number * @param packetNumber packet number - * @param subFrameNumber sub frame number if applicable - * @param bunchId bunch id */ - virtual void GetHeaderInfo(int index, char* packetData, uint32_t dynamicRange, bool oddStartingPacket, - uint64_t& frameNumber, uint32_t& packetNumber, uint32_t& subFrameNumber, uint64_t& bunchId) const + virtual void GetHeaderInfo(int index, char* packetData, bool oddStartingPacket, + uint64_t& frameNumber, uint32_t& packetNumber) const { - subFrameNumber = -1; - bunchId = -1; frameNumber = ((uint32_t)(*((uint32_t*)(packetData)))); frameNumber++; packetNumber = frameNumber&packetIndexMask; @@ -280,27 +275,20 @@ private: * 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 oddStartingPacket odd starting packet (gotthard) * @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, bool oddStartingPacket, - uint64_t& frameNumber, uint32_t& packetNumber, uint32_t& subFrameNumber, uint64_t& bunchId) const + void GetHeaderInfo(int index, char* packetData, bool oddStartingPacket, + uint64_t& frameNumber, uint32_t& packetNumber) const { if (nPixelsX == 1280) { - subFrameNumber = -1; - bunchId = -1; frameNumber = *reinterpret_cast(packetData); if (oddStartingPacket) frameNumber++; packetNumber = frameNumber&packetIndexMask; frameNumber = (frameNumber & frameIndexMask) >> frameIndexOffset; } else { - subFrameNumber = -1; - bunchId = -1; frameNumber = *reinterpret_cast(packetData); packetNumber = 0; } @@ -555,6 +543,9 @@ private: const int NCHAN_DIGITAL = 64; /** Number of bytes per analog channel */ const int NUM_BYTES_PER_ANALOG_CHANNEL = 2; + + const int FRAME_NUMBER_OFFSET = 6; + const int PACKET_NUMBER_OFFSET = 6 + 8; public: @@ -619,12 +610,20 @@ public: nPixelsY = 1; // 10G if (t) { + /* headerSizeinPacket = sizeof(slsDetectorDefs::sls_detector_header); dataSize = UDP_PACKET_DATA_BYTES; packetSize = headerSizeinPacket + dataSize; imageSize = adatabytes + ddatabytes; packetsPerFrame = ceil((double)imageSize / (double)dataSize); standardheader = true; + */ + headerSizeinPacket = 22; + dataSize = 8192; + packetSize = headerSizeinPacket + dataSize; + imageSize = adatabytes + ddatabytes; + packetsPerFrame = ceil((double)imageSize / (double)dataSize); + standardheader = false; } // 1g udp (via fifo readout) else { @@ -638,6 +637,21 @@ public: return adatabytes; } + /** + * Get Header Infomation (frame number, packet number) + * @param index thread index for debugging purposes + * @param packetData pointer to data + * @param oddStartingPacket odd starting packet (gotthard) + * @param frameNumber frame number + * @param packetNumber packet number + */ + void GetHeaderInfo(int index, char* packetData, bool oddStartingPacket, + uint64_t& frameNumber, uint32_t& packetNumber) const + { + frameNumber = *reinterpret_cast(packetData + FRAME_NUMBER_OFFSET); + packetNumber = *reinterpret_cast(packetData + PACKET_NUMBER_OFFSET); + } + }; diff --git a/slsReceiverSoftware/src/Listener.cpp b/slsReceiverSoftware/src/Listener.cpp index 4ffccbd32..628398034 100755 --- a/slsReceiverSoftware/src/Listener.cpp +++ b/slsReceiverSoftware/src/Listener.cpp @@ -348,8 +348,8 @@ void Listener::StopListening(char* buf) { uint32_t Listener::ListenToAnImage(char* buf) { int rc = 0; - uint64_t fnum = 0, bid = 0; - uint32_t pnum = 0, snum = 0; + uint64_t fnum = 0; + uint32_t pnum = 0; uint32_t numpackets = 0; uint32_t dsize = generalData->dataSize; uint32_t hsize = generalData->headerSizeinPacket; //(includes empty header) @@ -402,8 +402,7 @@ uint32_t Listener::ListenToAnImage(char* buf) { } // -------------------old header ----------------------------------------------------------------------------- else { - generalData->GetHeaderInfo(index, &carryOverPacket[0], - *dynamicRange, oddStartingPacket, fnum, pnum, snum, bid); + generalData->GetHeaderInfo(index, &carryOverPacket[0], oddStartingPacket, fnum, pnum); } //------------------------------------------------------------------------------------------------------------ if (fnum != currentFrameIndex) { @@ -525,8 +524,7 @@ uint32_t Listener::ListenToAnImage(char* buf) { oddStartingPacket = generalData->SetOddStartingPacket(index, &listeningPacket[0]); } - generalData->GetHeaderInfo(index, &listeningPacket[0], - *dynamicRange, oddStartingPacket, fnum, pnum, snum, bid); + generalData->GetHeaderInfo(index, &listeningPacket[0], oddStartingPacket, fnum, pnum); } //------------------------------------------------------------------------------------------------------------ diff --git a/slsSupportLib/include/versionAPI.h b/slsSupportLib/include/versionAPI.h index 15b93541f..d17c29908 100644 --- a/slsSupportLib/include/versionAPI.h +++ b/slsSupportLib/include/versionAPI.h @@ -7,4 +7,4 @@ #define APIGUI 0x190723 #define APIJUNGFRAU 0x190730 #define APIEIGER 0x190806 -#define APICTB 0x190819 +#define APICTB 0x190820