mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2026-01-21 01:46:02 +01:00
bug (from eiger_newheader) with imagesize of fifo different from actual image size
This commit is contained in:
@@ -330,7 +330,7 @@ void DataProcessor::ProcessAnImage(char* buf) {
|
||||
|
||||
|
||||
if (*fileWriteEnable)
|
||||
file->WriteToFile(buf, generalData->fifoBufferSize + sizeof(sls_detector_header), fnum-firstMeasurementIndex, nump);
|
||||
file->WriteToFile(buf, generalData->imageSize + sizeof(sls_detector_header), fnum-firstMeasurementIndex, nump);
|
||||
|
||||
if (rawDataReadyCallBack) {
|
||||
rawDataReadyCallBack(
|
||||
|
||||
@@ -29,7 +29,8 @@ File::File(int ind, uint32_t maxf, const uint32_t* ppf,
|
||||
numUnitsPerDetector(nunits),
|
||||
numImages(nf),
|
||||
dynamicRange(dr),
|
||||
udpPortNumber(portno)
|
||||
udpPortNumber(portno),
|
||||
fifo(f)
|
||||
|
||||
{
|
||||
master = index?false:true;
|
||||
|
||||
@@ -58,6 +58,15 @@ Listener::Listener(detectorType dtype, Fifo*& f, runStatus* s, uint32_t* portno,
|
||||
}
|
||||
NumberofListeners++;
|
||||
FILE_LOG (logDEBUG) << "Number of Listeners: " << NumberofListeners;
|
||||
|
||||
switch(myDetectorType){
|
||||
case JUNGFRAU:
|
||||
standardheader = true;
|
||||
break;
|
||||
default:
|
||||
standardheader = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -318,7 +327,7 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
||||
//if(!index) cprintf(RED,"carry flag\n");
|
||||
//check if its the current image packet
|
||||
// -------------------------- new header ----------------------------------------------------------------------
|
||||
if (myDetectorType == JUNGFRAU) {
|
||||
if (standardheader) {
|
||||
old_header = (sls_detector_header*) (carryOverPacket + esize);
|
||||
fnum = old_header->frameNumber;
|
||||
pnum = old_header->packetNumber;
|
||||
@@ -346,7 +355,7 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
||||
//writer header
|
||||
if(isHeaderEmpty) {
|
||||
// -------------------------- new header ----------------------------------------------------------------------
|
||||
if (myDetectorType == JUNGFRAU) {
|
||||
if (standardheader) {
|
||||
memcpy((char*)new_header, (char*)old_header, sizeof(sls_detector_header));
|
||||
}
|
||||
// -------------------old header ------------------------------------------------------------------------------
|
||||
@@ -387,7 +396,7 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
||||
numPacketsCaught++; //record immediately to get more time before socket shutdown
|
||||
|
||||
// -------------------------- new header ----------------------------------------------------------------------
|
||||
if (myDetectorType == JUNGFRAU) {
|
||||
if (standardheader) {
|
||||
old_header = (sls_detector_header*) (listeningPacket + esize);
|
||||
fnum = old_header->frameNumber;
|
||||
pnum = old_header->packetNumber;
|
||||
@@ -426,7 +435,7 @@ uint32_t Listener::ListenToAnImage(char* buf) {
|
||||
numpackets++; //number of packets in this image (each time its copied to buf)
|
||||
if(isHeaderEmpty) {
|
||||
// -------------------------- new header ----------------------------------------------------------------------
|
||||
if (myDetectorType == JUNGFRAU) {
|
||||
if (standardheader) {
|
||||
memcpy((char*)new_header, (char*)old_header, sizeof(sls_detector_header));
|
||||
}
|
||||
// -------------------old header ------------------------------------------------------------------------------
|
||||
|
||||
@@ -443,7 +443,7 @@ int UDPStandardImplementation::startReceiver(char *c) {
|
||||
//callbacks
|
||||
if (startAcquisitionCallBack) {
|
||||
startAcquisitionCallBack(filePath, fileName, fileIndex,
|
||||
(generalData->fifoBufferSize) * numberofJobs + (generalData->fifoBufferHeaderSize), pStartAcquisition);
|
||||
(generalData->imageSize) * numberofJobs + (generalData->fifoBufferHeaderSize), pStartAcquisition);
|
||||
if (rawDataReadyCallBack != NULL) {
|
||||
cout << "Data Write has been defined externally" << endl;
|
||||
}
|
||||
@@ -728,7 +728,7 @@ int UDPStandardImplementation::SetupFifoStructure() {
|
||||
//create fifo structure
|
||||
bool success = true;
|
||||
fifo.push_back( new Fifo (
|
||||
(generalData->fifoBufferSize) * numberofJobs + (generalData->fifoBufferHeaderSize),
|
||||
(generalData->imageSize) * numberofJobs + (generalData->fifoBufferHeaderSize),
|
||||
fifoDepth, success));
|
||||
if (!success) {
|
||||
cprintf(BG_RED,"Error: Could not allocate memory for fifo structure of index %d\n", i);
|
||||
|
||||
Reference in New Issue
Block a user