mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-20 16:48:01 +02:00
dr
This commit is contained in:
@ -727,21 +727,28 @@ int ClientInterface::set_dynamic_range(Interface &socket) {
|
||||
verifyIdle(socket);
|
||||
LOG(logDEBUG1) << "Setting dynamic range: " << dr;
|
||||
bool exists = false;
|
||||
switch (myDetectorType) {
|
||||
case EIGER:
|
||||
if (dr == 4 || dr == 8 || dr == 16 || dr == 32) {
|
||||
switch (dr) {
|
||||
case 16:
|
||||
exists = true;
|
||||
break;
|
||||
/*case 1: //TODO: Not yet implemented in firmware
|
||||
if (myDetectorType == MYTHEN3) {
|
||||
exists = true;
|
||||
}
|
||||
break;
|
||||
case MYTHEN3:
|
||||
if (dr == 1 || dr == 4 || dr == 16 || dr == 32) {
|
||||
*/
|
||||
case 4:
|
||||
if (myDetectorType == EIGER) {
|
||||
exists = true;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
case 32:
|
||||
if (myDetectorType == EIGER || myDetectorType == MYTHEN3) {
|
||||
exists = true;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (dr == 16) {
|
||||
exists = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (!exists) {
|
||||
@ -1718,7 +1725,7 @@ int ClientInterface::get_streaming_start_fnum(Interface &socket) {
|
||||
}
|
||||
|
||||
int ClientInterface::set_streaming_start_fnum(Interface &socket) {
|
||||
auto index = socket.Receive<int>();
|
||||
auto index = socket.Receive<int>();
|
||||
if (index < 0) {
|
||||
throw RuntimeError("Invalid streaming start frame number: " +
|
||||
std::to_string(index));
|
||||
|
@ -449,11 +449,7 @@ class Mythen3Data : public GeneralData {
|
||||
ncounters = n;
|
||||
nPixelsX = NCHAN * ncounters;
|
||||
LOG(logINFO) << "nPixelsX: " << nPixelsX;
|
||||
imageSize = nPixelsX * nPixelsY *
|
||||
((dr > 16) ? 4 : // 32 bit
|
||||
((dr > 8) ? 2 : // 16 bit
|
||||
((dr > 4) ? 0.5 : // 4 bit
|
||||
0.125))); // 1 bit
|
||||
imageSize = nPixelsX * nPixelsY * ((double)dr / 8.00);
|
||||
dataSize = imageSize / packetsPerFrame;
|
||||
packetSize = headerSizeinPacket + dataSize;
|
||||
LOG(logINFO) << "PacketSize: " << packetSize;
|
||||
@ -465,11 +461,7 @@ class Mythen3Data : public GeneralData {
|
||||
* @param tgEnable (discarded, of no value to mythen3)
|
||||
*/
|
||||
void SetDynamicRange(int dr, bool tgEnable) {
|
||||
imageSize = nPixelsX * nPixelsY *
|
||||
((dr > 16) ? 4 : // 32 bit
|
||||
((dr > 8) ? 2 : // 16 bit
|
||||
((dr > 4) ? 0.5 : // 4 bit
|
||||
0.125))); // 1 bit
|
||||
imageSize = nPixelsX * nPixelsY * ((double)dr / 8.00);
|
||||
dataSize = imageSize / packetsPerFrame;
|
||||
packetSize = headerSizeinPacket + dataSize;
|
||||
LOG(logINFO) << "PacketSize: " << packetSize;
|
||||
|
@ -293,9 +293,10 @@ void Implementation::setDetectorType(const detectorType d) {
|
||||
dataProcessor.push_back(sls::make_unique<DataProcessor>(
|
||||
i, myDetectorType, fifo_ptr, &fileFormatType, fileWriteEnable,
|
||||
&masterFileWriteEnable, &dataStreamEnable, &dynamicRange,
|
||||
&streamingFrequency, &streamingTimerInMs, &streamingStartFnum, &framePadding,
|
||||
&activated, &deactivatedPaddingEnable, &silentMode, &quadEnable,
|
||||
&ctbDbitList, &ctbDbitOffset, &ctbAnalogDataBytes));
|
||||
&streamingFrequency, &streamingTimerInMs, &streamingStartFnum,
|
||||
&framePadding, &activated, &deactivatedPaddingEnable,
|
||||
&silentMode, &quadEnable, &ctbDbitList, &ctbDbitOffset,
|
||||
&ctbAnalogDataBytes));
|
||||
} catch (...) {
|
||||
listener.clear();
|
||||
dataProcessor.clear();
|
||||
@ -1018,10 +1019,10 @@ void Implementation::setNumberofUDPInterfaces(const int n) {
|
||||
dataProcessor.push_back(sls::make_unique<DataProcessor>(
|
||||
i, myDetectorType, fifo_ptr, &fileFormatType,
|
||||
fileWriteEnable, &masterFileWriteEnable, &dataStreamEnable,
|
||||
&dynamicRange, &streamingFrequency, &streamingTimerInMs, &streamingStartFnum,
|
||||
&framePadding, &activated, &deactivatedPaddingEnable,
|
||||
&silentMode, &quadEnable, &ctbDbitList, &ctbDbitOffset,
|
||||
&ctbAnalogDataBytes));
|
||||
&dynamicRange, &streamingFrequency, &streamingTimerInMs,
|
||||
&streamingStartFnum, &framePadding, &activated,
|
||||
&deactivatedPaddingEnable, &silentMode, &quadEnable,
|
||||
&ctbDbitList, &ctbDbitOffset, &ctbAnalogDataBytes));
|
||||
dataProcessor[i]->SetGeneralData(generalData);
|
||||
} catch (...) {
|
||||
listener.clear();
|
||||
|
Reference in New Issue
Block a user