gotthard2: works

This commit is contained in:
maliakal_d 2020-01-20 17:03:11 +01:00
parent 23dffa47df
commit c4137dc309
5 changed files with 30 additions and 3 deletions

View File

@ -1978,7 +1978,7 @@ u_int32_t runBusy() {
return virtual_status;
#endif
u_int32_t s = (bus_r(FLOW_STATUS_REG) & FLOW_STATUS_RUN_BUSY_MSK);
FILE_LOG(logDEBUG1, ("Status Register: %08x\n", s));
//FILE_LOG(logDEBUG1, ("Status Register: %08x\n", s));
return s;
}

View File

@ -598,6 +598,28 @@ public:
};
class Gotthard2Data : public GeneralData {
public:
/** Constructor */
Gotthard2Data(){
myDetectorType = slsDetectorDefs::GOTTHARD2;
nPixelsX = 128 * 10;
nPixelsY = 1;
headerSizeinPacket = sizeof(slsDetectorDefs::sls_detector_header);
dataSize = 2560; // 1280 channels * 2 bytes
packetSize = headerSizeinPacket + dataSize;
packetsPerFrame = 1;
imageSize = dataSize * packetsPerFrame;
maxFramesPerFile = GOTTHARD2_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 {
private:
/** Number of analog channels */

View File

@ -437,6 +437,7 @@ int ClientInterface::set_detector_type(Interface &socket) {
case MOENCH:
case JUNGFRAU:
case MYTHEN3:
case GOTTHARD2:
break;
default:
throw RuntimeError("Unknown detector type: " + std::to_string(arg));
@ -581,7 +582,7 @@ int ClientInterface::set_dynamic_range(Interface &socket) {
}
break;
case MYTHEN3:
if (dr == 32) {
if (dr == 1 || dr == 4 || dr == 16 || dr == 32) {
exists = true;
}
break;

View File

@ -218,6 +218,7 @@ void Implementation::setDetectorType(const detectorType d) {
case CHIPTESTBOARD:
case MOENCH:
case MYTHEN3:
case GOTTHARD2:
FILE_LOG(logINFO) << " ***** " << sls::ToString(d)
<< " Receiver *****";
break;
@ -245,6 +246,9 @@ void Implementation::setDetectorType(const detectorType d) {
case MYTHEN3:
generalData = new Mythen3Data();
break;
case GOTTHARD2:
generalData = new Gotthard2Data();
break;
default:
break;
}