mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-05-02 02:40:04 +02:00
eiger receiver: changing dr changes rx_fifodepth to their defaults
This commit is contained in:
parent
20ce79872f
commit
f20f084991
@ -21,6 +21,7 @@ This document describes the differences between 4.2.0 and 4.1.1 releases.
|
||||
- (Eiger) Deactivate a module
|
||||
- (Eiger) Setting all trimbits argument check
|
||||
- (Eiger client) Changing dynamic range changes to different clock divider
|
||||
- (Eiger Receiver) different rx_fifodepth defaults
|
||||
- (Receiver) rx_fifodepth has a higher range
|
||||
- (Receiver) subperiod in master file
|
||||
- (Receiver) performance (memory allocation and alignment, file buffering)
|
||||
@ -44,6 +45,9 @@ This document describes the differences between 4.2.0 and 4.1.1 releases.
|
||||
from start. Removed file buffering when writing to file. Replaced
|
||||
pausing on keepRunning variable with semaphore to reduce cpu
|
||||
load.
|
||||
2. (Eiger) rx_fifodepth default is 100 for 32 bit mode, but 1000
|
||||
for other modes. Changing dynamic range changes bit mode to
|
||||
their defaults.
|
||||
|
||||
Client
|
||||
------
|
||||
|
@ -2972,7 +2972,7 @@ int multiSlsDetector::setDynamicRange(int p) {
|
||||
}
|
||||
|
||||
//for usability for the user
|
||||
if (getDetectorsType() == EIGER) {
|
||||
if (getDetectorsType() == EIGER && p != -1) {
|
||||
if (p == 32) {
|
||||
std::cout << "Setting Clock to Quarter Speed to cope with Dynamic Range of 32" << std::endl;
|
||||
setSpeed(CLOCK_DIVIDER, 2);
|
||||
@ -2980,8 +2980,10 @@ int multiSlsDetector::setDynamicRange(int p) {
|
||||
std::cout << "Setting Clock to Full Speed for Dynamic Range of " << p << std::endl;
|
||||
setSpeed(CLOCK_DIVIDER, 0);
|
||||
}
|
||||
if (p != -1)
|
||||
updateOffsets();
|
||||
updateOffsets();
|
||||
if (thisMultiDetector->receiverOnlineFlag == ONLINE_FLAG) {
|
||||
std::cout << "Setting receiver fifo depth to default" << std::endl;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -616,7 +616,7 @@ class EigerData : public GeneralData {
|
||||
imageSize = dataSize*packetsPerFrame;
|
||||
maxFramesPerFile = EIGER_MAX_FRAMES_PER_FILE;
|
||||
fifoBufferHeaderSize= FIFO_HEADER_NUMBYTES + sizeof(slsReceiverDefs::sls_receiver_header);
|
||||
defaultFifoDepth = 100;
|
||||
defaultFifoDepth = 1000;
|
||||
threadsPerReceiver = 2;
|
||||
headerPacketSize = 40;
|
||||
standardheader = true;
|
||||
@ -630,6 +630,7 @@ class EigerData : public GeneralData {
|
||||
void SetDynamicRange(int dr, bool tgEnable) {
|
||||
packetsPerFrame = (tgEnable ? 4 : 16) * dr;
|
||||
imageSize = dataSize*packetsPerFrame;
|
||||
defaultFifoDepth = (dr == 32 ? 100 : 1000);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -388,6 +388,7 @@ int UDPStandardImplementation::setDynamicRange(const uint32_t i) {
|
||||
for (std::vector<DataProcessor*>::const_iterator it = dataProcessor.begin(); it != dataProcessor.end(); ++it)
|
||||
(*it)->SetPixelDimension();
|
||||
|
||||
fifoDepth = generalData->defaultFifoDepth;
|
||||
numberofJobs = -1; //changes to imagesize has to be noted to recreate fifo structure
|
||||
if (SetupFifoStructure() == FAIL)
|
||||
return FAIL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user