ctb rxr: changing to old header (like moench)

This commit is contained in:
maliakal_d 2019-08-21 11:13:17 +02:00
parent 156ce0df00
commit 422a928be4
4 changed files with 38 additions and 26 deletions

View File

@ -59,9 +59,9 @@ enum DACINDEX {D0, D1, D2, D3, D4, D5, D6, D7, D8, D9,
#define DEFAULT_VLIMIT (-100) #define DEFAULT_VLIMIT (-100)
#define DEFAULT_TIMING_MODE (AUTO_TIMING) #define DEFAULT_TIMING_MODE (AUTO_TIMING)
#define DEFAULT_TX_UDP_PORT (0x7e9a) #define DEFAULT_TX_UDP_PORT (0x7e9a)
#define DEFAULT_RUN_CLK (40) #define DEFAULT_RUN_CLK (200) // 40
#define DEFAULT_ADC_CLK (20) #define DEFAULT_ADC_CLK (40) // 20
#define DEFAULT_SYNC_CLK (20) #define DEFAULT_SYNC_CLK (40) // 20
#define DEFAULT_DBIT_CLK (200) #define DEFAULT_DBIT_CLK (200)
#define HIGHVOLTAGE_MIN (60) #define HIGHVOLTAGE_MIN (60)

View File

@ -120,18 +120,13 @@ public:
* Get Header Infomation (frame number, packet number) * Get Header Infomation (frame number, packet number)
* @param index thread index for debugging purposes * @param index thread index for debugging purposes
* @param packetData pointer to data * @param packetData pointer to data
* @param dynamicRange dynamic range to assign subframenumber if 32 bit mode
* @param oddStartingPacket odd starting packet (gotthard) * @param oddStartingPacket odd starting packet (gotthard)
* @param frameNumber frame number * @param frameNumber frame number
* @param packetNumber packet 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, virtual void GetHeaderInfo(int index, char* packetData, bool oddStartingPacket,
uint64_t& frameNumber, uint32_t& packetNumber, uint32_t& subFrameNumber, uint64_t& bunchId) const uint64_t& frameNumber, uint32_t& packetNumber) const
{ {
subFrameNumber = -1;
bunchId = -1;
frameNumber = ((uint32_t)(*((uint32_t*)(packetData)))); frameNumber = ((uint32_t)(*((uint32_t*)(packetData))));
frameNumber++; frameNumber++;
packetNumber = frameNumber&packetIndexMask; packetNumber = frameNumber&packetIndexMask;
@ -280,27 +275,20 @@ private:
* Get Header Infomation (frame number, packet number) * Get Header Infomation (frame number, packet number)
* @param index thread index for debugging purposes * @param index thread index for debugging purposes
* @param packetData pointer to data * @param packetData pointer to data
* @param dynamicRange dynamic range to assign subframenumber if 32 bit mode
* @param oddStartingPacket odd starting packet (gotthard) * @param oddStartingPacket odd starting packet (gotthard)
* @param frameNumber frame number * @param frameNumber frame number
* @param packetNumber packet 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, void GetHeaderInfo(int index, char* packetData, bool oddStartingPacket,
uint64_t& frameNumber, uint32_t& packetNumber, uint32_t& subFrameNumber, uint64_t& bunchId) const uint64_t& frameNumber, uint32_t& packetNumber) const
{ {
if (nPixelsX == 1280) { if (nPixelsX == 1280) {
subFrameNumber = -1;
bunchId = -1;
frameNumber = *reinterpret_cast<uint32_t*>(packetData); frameNumber = *reinterpret_cast<uint32_t*>(packetData);
if (oddStartingPacket) if (oddStartingPacket)
frameNumber++; frameNumber++;
packetNumber = frameNumber&packetIndexMask; packetNumber = frameNumber&packetIndexMask;
frameNumber = (frameNumber & frameIndexMask) >> frameIndexOffset; frameNumber = (frameNumber & frameIndexMask) >> frameIndexOffset;
} else { } else {
subFrameNumber = -1;
bunchId = -1;
frameNumber = *reinterpret_cast<uint32_t *>(packetData); frameNumber = *reinterpret_cast<uint32_t *>(packetData);
packetNumber = 0; packetNumber = 0;
} }
@ -555,6 +543,9 @@ private:
const int NCHAN_DIGITAL = 64; const int NCHAN_DIGITAL = 64;
/** Number of bytes per analog channel */ /** Number of bytes per analog channel */
const int NUM_BYTES_PER_ANALOG_CHANNEL = 2; const int NUM_BYTES_PER_ANALOG_CHANNEL = 2;
const int FRAME_NUMBER_OFFSET = 6;
const int PACKET_NUMBER_OFFSET = 6 + 8;
public: public:
@ -619,12 +610,20 @@ public:
nPixelsY = 1; nPixelsY = 1;
// 10G // 10G
if (t) { if (t) {
/*
headerSizeinPacket = sizeof(slsDetectorDefs::sls_detector_header); headerSizeinPacket = sizeof(slsDetectorDefs::sls_detector_header);
dataSize = UDP_PACKET_DATA_BYTES; dataSize = UDP_PACKET_DATA_BYTES;
packetSize = headerSizeinPacket + dataSize; packetSize = headerSizeinPacket + dataSize;
imageSize = adatabytes + ddatabytes; imageSize = adatabytes + ddatabytes;
packetsPerFrame = ceil((double)imageSize / (double)dataSize); packetsPerFrame = ceil((double)imageSize / (double)dataSize);
standardheader = true; 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) // 1g udp (via fifo readout)
else { else {
@ -638,6 +637,21 @@ public:
return adatabytes; 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<uint64_t*>(packetData + FRAME_NUMBER_OFFSET);
packetNumber = *reinterpret_cast<uint64_t*>(packetData + PACKET_NUMBER_OFFSET);
}
}; };

View File

@ -348,8 +348,8 @@ void Listener::StopListening(char* buf) {
uint32_t Listener::ListenToAnImage(char* buf) { uint32_t Listener::ListenToAnImage(char* buf) {
int rc = 0; int rc = 0;
uint64_t fnum = 0, bid = 0; uint64_t fnum = 0;
uint32_t pnum = 0, snum = 0; uint32_t pnum = 0;
uint32_t numpackets = 0; uint32_t numpackets = 0;
uint32_t dsize = generalData->dataSize; uint32_t dsize = generalData->dataSize;
uint32_t hsize = generalData->headerSizeinPacket; //(includes empty header) uint32_t hsize = generalData->headerSizeinPacket; //(includes empty header)
@ -402,8 +402,7 @@ uint32_t Listener::ListenToAnImage(char* buf) {
} }
// -------------------old header ----------------------------------------------------------------------------- // -------------------old header -----------------------------------------------------------------------------
else { else {
generalData->GetHeaderInfo(index, &carryOverPacket[0], generalData->GetHeaderInfo(index, &carryOverPacket[0], oddStartingPacket, fnum, pnum);
*dynamicRange, oddStartingPacket, fnum, pnum, snum, bid);
} }
//------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------
if (fnum != currentFrameIndex) { if (fnum != currentFrameIndex) {
@ -525,8 +524,7 @@ uint32_t Listener::ListenToAnImage(char* buf) {
oddStartingPacket = generalData->SetOddStartingPacket(index, &listeningPacket[0]); oddStartingPacket = generalData->SetOddStartingPacket(index, &listeningPacket[0]);
} }
generalData->GetHeaderInfo(index, &listeningPacket[0], generalData->GetHeaderInfo(index, &listeningPacket[0], oddStartingPacket, fnum, pnum);
*dynamicRange, oddStartingPacket, fnum, pnum, snum, bid);
} }
//------------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------------

View File

@ -7,4 +7,4 @@
#define APIGUI 0x190723 #define APIGUI 0x190723
#define APIJUNGFRAU 0x190730 #define APIJUNGFRAU 0x190730
#define APIEIGER 0x190806 #define APIEIGER 0x190806
#define APICTB 0x190819 #define APICTB 0x190820