mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-29 17:40:01 +02:00
mythen3 rxr
This commit is contained in:
parent
aaeaeab576
commit
38ad5d7931
Binary file not shown.
@ -419,7 +419,7 @@ void resetPeripheral() {
|
|||||||
/* set parameters - dr, roi */
|
/* set parameters - dr, roi */
|
||||||
|
|
||||||
int setDynamicRange(int dr){
|
int setDynamicRange(int dr){
|
||||||
return 16; //TODO
|
return 32; //TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2515,9 +2515,13 @@ int set_dynamic_range(int file_des) {
|
|||||||
// check dr
|
// check dr
|
||||||
switch(dr) {
|
switch(dr) {
|
||||||
case -1:
|
case -1:
|
||||||
|
#ifdef MYTHEN3D
|
||||||
|
case 32:
|
||||||
|
#elif EIGERD
|
||||||
|
case 4: case 8: case 16: case 32:
|
||||||
|
#endif
|
||||||
|
#if defined(GOTTHARD) || defined(JUNGFRAU) || defined(CHIPTESTBOARD) || defined(MOENCH) || defined(GOTTHARD2)
|
||||||
case 16:
|
case 16:
|
||||||
#ifdef EIGERD
|
|
||||||
case 4: case 8: case 32:
|
|
||||||
#endif
|
#endif
|
||||||
retval = setDynamicRange(dr);
|
retval = setDynamicRange(dr);
|
||||||
FILE_LOG(logDEBUG1, ("Dynamic range: %d\n", retval));
|
FILE_LOG(logDEBUG1, ("Dynamic range: %d\n", retval));
|
||||||
|
@ -331,7 +331,7 @@ private:
|
|||||||
packetIndexMask = 0;
|
packetIndexMask = 0;
|
||||||
maxFramesPerFile = SHORT_MAX_FRAMES_PER_FILE;
|
maxFramesPerFile = SHORT_MAX_FRAMES_PER_FILE;
|
||||||
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
|
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
|
||||||
defaultFifoDepth = 25000;
|
defaultFifoDepth = 75000;
|
||||||
nPixelsXComplete = 1280;
|
nPixelsXComplete = 1280;
|
||||||
nPixelsYComplete = 1;
|
nPixelsYComplete = 1;
|
||||||
imageSizeComplete = 1280 * 2;
|
imageSizeComplete = 1280 * 2;
|
||||||
@ -527,6 +527,27 @@ class JungfrauData : public GeneralData {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Mythen3Data : public GeneralData {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
/** Constructor */
|
||||||
|
Mythen3Data(){
|
||||||
|
myDetectorType = slsDetectorDefs::MYTHEN3;
|
||||||
|
nPixelsX = (256* 4 * 512);
|
||||||
|
nPixelsY = 1;
|
||||||
|
headerSizeinPacket = sizeof(slsDetectorDefs::sls_detector_header);
|
||||||
|
dataSize = 7680;//8192;
|
||||||
|
packetSize = headerSizeinPacket + dataSize;
|
||||||
|
packetsPerFrame = 2;
|
||||||
|
imageSize = dataSize * packetsPerFrame;
|
||||||
|
maxFramesPerFile = MYTHEN3_MAX_FRAMES_PER_FILE;
|
||||||
|
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsDetectorDefs::sls_receiver_header);
|
||||||
|
defaultFifoDepth = 50000;
|
||||||
|
standardheader = true;
|
||||||
|
defaultUdpSocketBufferSize = (1000 * 1024 * 1024);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class ChipTestBoardData : public GeneralData {
|
class ChipTestBoardData : public GeneralData {
|
||||||
|
@ -1106,6 +1106,7 @@ int slsReceiverImplementation::setDetectorType(const detectorType d) {
|
|||||||
case JUNGFRAU:
|
case JUNGFRAU:
|
||||||
case CHIPTESTBOARD:
|
case CHIPTESTBOARD:
|
||||||
case MOENCH:
|
case MOENCH:
|
||||||
|
case MYTHEN3:
|
||||||
FILE_LOG(logINFO) << " ***** " << sls::ToString(d)
|
FILE_LOG(logINFO) << " ***** " << sls::ToString(d)
|
||||||
<< " Receiver *****";
|
<< " Receiver *****";
|
||||||
break;
|
break;
|
||||||
@ -1131,6 +1132,9 @@ int slsReceiverImplementation::setDetectorType(const detectorType d) {
|
|||||||
case MOENCH:
|
case MOENCH:
|
||||||
generalData = new MoenchData();
|
generalData = new MoenchData();
|
||||||
break;
|
break;
|
||||||
|
case MYTHEN3:
|
||||||
|
generalData = new Mythen3Data();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -472,6 +472,7 @@ int slsReceiverTCPIPInterface::set_detector_type(Interface &socket) {
|
|||||||
case CHIPTESTBOARD:
|
case CHIPTESTBOARD:
|
||||||
case MOENCH:
|
case MOENCH:
|
||||||
case JUNGFRAU:
|
case JUNGFRAU:
|
||||||
|
case MYTHEN3:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw RuntimeError("Unknown detector type: " + std::to_string(arg));
|
throw RuntimeError("Unknown detector type: " + std::to_string(arg));
|
||||||
@ -598,17 +599,21 @@ int slsReceiverTCPIPInterface::set_dynamic_range(Interface &socket) {
|
|||||||
VerifyIdle(socket);
|
VerifyIdle(socket);
|
||||||
FILE_LOG(logDEBUG1) << "Setting dynamic range: " << dr;
|
FILE_LOG(logDEBUG1) << "Setting dynamic range: " << dr;
|
||||||
bool exists = false;
|
bool exists = false;
|
||||||
switch (dr) {
|
switch(myDetectorType) {
|
||||||
case 16:
|
case EIGER:
|
||||||
|
if (dr == 4 || dr == 8 || dr == 16 || dr == 32) {
|
||||||
exists = true;
|
exists = true;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 4:
|
case MYTHEN3:
|
||||||
case 8:
|
if (dr == 32) {
|
||||||
case 32:
|
|
||||||
if (myDetectorType == EIGER)
|
|
||||||
exists = true;
|
exists = true;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
if (dr == 16) {
|
||||||
|
exists = true;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!exists) {
|
if (!exists) {
|
||||||
|
@ -525,7 +525,7 @@ struct detParameters {
|
|||||||
nChipX = 10;
|
nChipX = 10;
|
||||||
nChipY = 1;
|
nChipY = 1;
|
||||||
nDacs = 16;
|
nDacs = 16;
|
||||||
dynamicRange = 16;
|
dynamicRange = 32;
|
||||||
nGappixelsX = 0;
|
nGappixelsX = 0;
|
||||||
nGappixelsY = 0;
|
nGappixelsY = 0;
|
||||||
break;
|
break;
|
||||||
|
@ -8,5 +8,5 @@
|
|||||||
#define APICTB 0x191106
|
#define APICTB 0x191106
|
||||||
#define APIJUNGFRAU 0x191106
|
#define APIJUNGFRAU 0x191106
|
||||||
#define APIEIGER 0x191106
|
#define APIEIGER 0x191106
|
||||||
#define APIMYTHEN3 0x191107
|
|
||||||
#define APIGOTTHARD2 0x191108
|
#define APIGOTTHARD2 0x191108
|
||||||
|
#define APIMYTHEN3 0x191108
|
||||||
|
Loading…
x
Reference in New Issue
Block a user