mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 15:20:02 +02:00
changes to header old and new, still memory leak for jungfrau
This commit is contained in:
parent
781fea0a96
commit
e8e9e12302
@ -302,14 +302,14 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
|||||||
uint32_t fifohsize = generalData->fifoBufferHeaderSize;
|
uint32_t fifohsize = generalData->fifoBufferHeaderSize;
|
||||||
uint32_t pperFrame = generalData->packetsPerFrame;
|
uint32_t pperFrame = generalData->packetsPerFrame;
|
||||||
bool isHeaderEmpty = true;
|
bool isHeaderEmpty = true;
|
||||||
sls_detector_header* header = 0;
|
sls_detector_header* old_header = 0;
|
||||||
|
sls_detector_header* new_header = 0;
|
||||||
|
|
||||||
|
|
||||||
//reset to -1
|
//reset to -1
|
||||||
memset(buf, 0, fifohsize);
|
memset(buf, 0, fifohsize);
|
||||||
memset(buf + fifohsize, 0xFF, dsize);
|
memset(buf + fifohsize, 0xFF, dsize);
|
||||||
|
new_header = (sls_detector_header*) (buf + FIFO_HEADER_NUMBYTES);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -319,9 +319,9 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
|||||||
//check if its the current image packet
|
//check if its the current image packet
|
||||||
// -------------------------- new header ----------------------------------------------------------------------
|
// -------------------------- new header ----------------------------------------------------------------------
|
||||||
if (myDetectorType == JUNGFRAU) {
|
if (myDetectorType == JUNGFRAU) {
|
||||||
header = (sls_detector_header*) (carryOverPacket + esize);
|
old_header = (sls_detector_header*) (carryOverPacket + esize);
|
||||||
fnum = header->frameNumber;
|
fnum = old_header->frameNumber;
|
||||||
pnum = header->packetNumber;
|
pnum = old_header->packetNumber;
|
||||||
}
|
}
|
||||||
// -------------------old header -----------------------------------------------------------------------------
|
// -------------------old header -----------------------------------------------------------------------------
|
||||||
else {
|
else {
|
||||||
@ -334,6 +334,7 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
|||||||
cprintf(BG_RED,"Error:(Weird), With carry flag: Frame number less than current frame number\n");
|
cprintf(BG_RED,"Error:(Weird), With carry flag: Frame number less than current frame number\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
new_header->packetNumber = numpackets;
|
||||||
return generalData->imageSize;
|
return generalData->imageSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -346,19 +347,18 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
|||||||
if(isHeaderEmpty) {
|
if(isHeaderEmpty) {
|
||||||
// -------------------------- new header ----------------------------------------------------------------------
|
// -------------------------- new header ----------------------------------------------------------------------
|
||||||
if (myDetectorType == JUNGFRAU) {
|
if (myDetectorType == JUNGFRAU) {
|
||||||
memcpy(buf + FIFO_HEADER_NUMBYTES, (char*)header, sizeof(sls_detector_header));
|
memcpy((char*)new_header, (char*)old_header, sizeof(sls_detector_header));
|
||||||
}
|
}
|
||||||
// -------------------old header ------------------------------------------------------------------------------
|
// -------------------old header ------------------------------------------------------------------------------
|
||||||
else {
|
else {
|
||||||
header = (sls_detector_header*) (buf + FIFO_HEADER_NUMBYTES);
|
memset(new_header, 0, sizeof(sls_detector_header));
|
||||||
memset(header, 0, sizeof(sls_detector_header));
|
new_header->frameNumber = fnum;
|
||||||
header->frameNumber = fnum;
|
|
||||||
if (generalData->myDetectorType == EIGER && *dynamicRange == 32)
|
if (generalData->myDetectorType == EIGER && *dynamicRange == 32)
|
||||||
header->expLength = snum;
|
new_header->expLength = snum;
|
||||||
header->packetNumber = pperFrame;
|
new_header->packetNumber = pperFrame;
|
||||||
/*header->xCoord = index; given by det packet, also for ycoord, zcoord */
|
/*new_header->xCoord = index; given by det packet, also for ycoord, zcoord */
|
||||||
header->detType = (uint8_t) generalData->myDetectorType;
|
new_header->detType = (uint8_t) generalData->myDetectorType;
|
||||||
header->version = (uint8_t) SLS_DETECTOR_HEADER_VERSION;
|
new_header->version = (uint8_t) SLS_DETECTOR_HEADER_VERSION;
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------
|
||||||
isHeaderEmpty = false;
|
isHeaderEmpty = false;
|
||||||
@ -379,7 +379,7 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
|||||||
if(rc <= 0) {
|
if(rc <= 0) {
|
||||||
if (numpackets == 0) return 0; //empty image
|
if (numpackets == 0) return 0; //empty image
|
||||||
|
|
||||||
header->packetNumber = numpackets; //number of packets caught
|
new_header->packetNumber = numpackets; //number of packets caught
|
||||||
return generalData->imageSize; //empty packet now, but not empty image
|
return generalData->imageSize; //empty packet now, but not empty image
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -388,9 +388,9 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
|||||||
|
|
||||||
// -------------------------- new header ----------------------------------------------------------------------
|
// -------------------------- new header ----------------------------------------------------------------------
|
||||||
if (myDetectorType == JUNGFRAU) {
|
if (myDetectorType == JUNGFRAU) {
|
||||||
header = (sls_detector_header*) (listeningPacket + esize);
|
old_header = (sls_detector_header*) (listeningPacket + esize);
|
||||||
fnum = header->frameNumber;
|
fnum = old_header->frameNumber;
|
||||||
pnum = header->packetNumber;
|
pnum = old_header->packetNumber;
|
||||||
}
|
}
|
||||||
// -------------------old header -----------------------------------------------------------------------------
|
// -------------------old header -----------------------------------------------------------------------------
|
||||||
else {
|
else {
|
||||||
@ -416,7 +416,7 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
|||||||
carryOverFlag = true;
|
carryOverFlag = true;
|
||||||
memcpy(carryOverPacket,listeningPacket, generalData->packetSize);
|
memcpy(carryOverPacket,listeningPacket, generalData->packetSize);
|
||||||
|
|
||||||
header->packetNumber = numpackets; //number of packets caught
|
new_header->packetNumber = numpackets; //number of packets caught
|
||||||
return generalData->imageSize;
|
return generalData->imageSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -427,25 +427,25 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
|||||||
if(isHeaderEmpty) {
|
if(isHeaderEmpty) {
|
||||||
// -------------------------- new header ----------------------------------------------------------------------
|
// -------------------------- new header ----------------------------------------------------------------------
|
||||||
if (myDetectorType == JUNGFRAU) {
|
if (myDetectorType == JUNGFRAU) {
|
||||||
memcpy(buf + FIFO_HEADER_NUMBYTES, (char*)header, sizeof(sls_detector_header));
|
memcpy((char*)new_header, (char*)old_header, sizeof(sls_detector_header));
|
||||||
}
|
}
|
||||||
// -------------------old header ------------------------------------------------------------------------------
|
// -------------------old header ------------------------------------------------------------------------------
|
||||||
else {
|
else {
|
||||||
header = (sls_detector_header*) (buf + FIFO_HEADER_NUMBYTES);
|
memset(new_header, 0, sizeof(sls_detector_header));
|
||||||
memset(header, 0, sizeof(sls_detector_header));
|
new_header->frameNumber = fnum;
|
||||||
header->frameNumber = fnum;
|
|
||||||
if (generalData->myDetectorType == EIGER && *dynamicRange == 32)
|
if (generalData->myDetectorType == EIGER && *dynamicRange == 32)
|
||||||
header->expLength = snum;
|
new_header->expLength = snum;
|
||||||
/*header->xCoord = index; given by det packet, also for ycoord, zcoord */
|
new_header->packetNumber = pperFrame;
|
||||||
header->detType = (uint8_t) generalData->myDetectorType;
|
/*new_header->xCoord = index; given by det packet, also for ycoord, zcoord */
|
||||||
header->version = (uint8_t) SLS_DETECTOR_HEADER_VERSION;
|
new_header->detType = (uint8_t) generalData->myDetectorType;
|
||||||
|
new_header->version = (uint8_t) SLS_DETECTOR_HEADER_VERSION;
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------
|
||||||
isHeaderEmpty = false;
|
isHeaderEmpty = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
header->packetNumber = numpackets; //number of packets caught
|
new_header->packetNumber = numpackets; //number of packets caught
|
||||||
return generalData->imageSize;
|
return generalData->imageSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user