mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-13 13:27:14 +02:00
more getters setters
This commit is contained in:
@ -663,11 +663,11 @@ class Detector:
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def frames_per_file(self):
|
def frames_per_file(self):
|
||||||
return self._api.getReceiverFramesPerFile()
|
return self._api.getFramesPerFile()
|
||||||
|
|
||||||
@frames_per_file.setter
|
@frames_per_file.setter
|
||||||
def frames_per_file(self, n):
|
def frames_per_file(self, n):
|
||||||
self._api.setReceiverFramesPerFile(n)
|
self._api.setFramesPerFile(n)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def n_cycles(self):
|
def n_cycles(self):
|
||||||
|
@ -320,11 +320,11 @@ class Detector {
|
|||||||
return det.getUserDetails();
|
return det.getUserDetails();
|
||||||
}
|
}
|
||||||
|
|
||||||
void setReceiverFramesPerFile(const int n_frames) {
|
void setFramesPerFile(const int n_frames) {
|
||||||
det.setReceiverFramesPerFile(n_frames);
|
det.setFramesPerFile(n_frames);
|
||||||
}
|
}
|
||||||
int getReceiverFramesPerFile() {
|
int getFramesPerFile() {
|
||||||
return det.setReceiverFramesPerFile();
|
return det.setFramesPerFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string getReceiverFrameDiscardPolicy() {
|
std::string getReceiverFrameDiscardPolicy() {
|
||||||
|
@ -205,8 +205,8 @@ PYBIND11_MODULE(_sls_detector, m)
|
|||||||
.def("getLastClientIP", &Detector::getLastClientIP)
|
.def("getLastClientIP", &Detector::getLastClientIP)
|
||||||
.def("getReceiverLastClientIP", &Detector::getReceiverLastClientIP)
|
.def("getReceiverLastClientIP", &Detector::getReceiverLastClientIP)
|
||||||
|
|
||||||
.def("setReceiverFramesPerFile", &Detector::setReceiverFramesPerFile)
|
.def("setFramesPerFile", &Detector::setFramesPerFile)
|
||||||
.def("getReceiverFramesPerFile", &Detector::getReceiverFramesPerFile)
|
.def("getFramesPerFile", &Detector::getFramesPerFile)
|
||||||
.def("setReceiverFifoDepth", &Detector::setReceiverFifoDepth)
|
.def("setReceiverFifoDepth", &Detector::setReceiverFifoDepth)
|
||||||
.def("getReceiverFifoDepth", &Detector::getReceiverFifoDepth)
|
.def("getReceiverFifoDepth", &Detector::getReceiverFifoDepth)
|
||||||
|
|
||||||
|
@ -1598,7 +1598,14 @@ class multiSlsDetector : public virtual slsDetectorDefs {
|
|||||||
* @param detPos -1 for all detectors in list or specific detector position
|
* @param detPos -1 for all detectors in list or specific detector position
|
||||||
* @returns max frames per file in receiver
|
* @returns max frames per file in receiver
|
||||||
*/
|
*/
|
||||||
int setReceiverFramesPerFile(int f = -1, int detPos = -1);
|
int setFramesPerFile(int f = -1, int detPos = -1);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the max frames per file in receiver
|
||||||
|
* @param detPos -1 for all detectors in list or specific detector position
|
||||||
|
* @returns max frames per file in receiver
|
||||||
|
*/
|
||||||
|
int getFramesPerFile(int detPos = -1) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the frames discard policy in receiver
|
* Sets the frames discard policy in receiver
|
||||||
|
@ -237,10 +237,10 @@ struct sharedSlsDetector {
|
|||||||
int receiver_fileIndex;
|
int receiver_fileIndex;
|
||||||
|
|
||||||
/** file format */
|
/** file format */
|
||||||
slsDetectorDefs::fileFormat receiver_fileFormatType;
|
slsDetectorDefs::fileFormat rxFileFormat;
|
||||||
|
|
||||||
/** frames per file */
|
/** frames per file */
|
||||||
int receiver_framesPerFile;
|
int rxFramesPerFile;
|
||||||
|
|
||||||
/** filewriteenable */
|
/** filewriteenable */
|
||||||
bool rxFileWrite;
|
bool rxFileWrite;
|
||||||
@ -1464,7 +1464,9 @@ class slsDetector : public virtual slsDetectorDefs{
|
|||||||
* @param f max frames per file
|
* @param f max frames per file
|
||||||
* @returns max frames per file in receiver
|
* @returns max frames per file in receiver
|
||||||
*/
|
*/
|
||||||
int setReceiverFramesPerFile(int f = -1);
|
int setFramesPerFile(int frames);
|
||||||
|
|
||||||
|
int getFramesPerFile() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the frames discard policy in receiver
|
* Sets the frames discard policy in receiver
|
||||||
@ -1482,9 +1484,9 @@ class slsDetector : public virtual slsDetectorDefs{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns file format
|
* Returns file format
|
||||||
* @returns file name
|
* @returns file format
|
||||||
*/
|
*/
|
||||||
fileFormat getFileFormat();
|
fileFormat getFileFormat() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets up the file format
|
* Sets up the file format
|
||||||
|
@ -2884,14 +2884,19 @@ std::string multiSlsDetector::setFileName(const std::string &fname, int detPos)
|
|||||||
return sls::concatenateIfDifferent(r);
|
return sls::concatenateIfDifferent(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
int multiSlsDetector::setReceiverFramesPerFile(int f, int detPos) {
|
int multiSlsDetector::setFramesPerFile(int f, int detPos) {
|
||||||
// single
|
|
||||||
if (detPos >= 0) {
|
if (detPos >= 0) {
|
||||||
return detectors[detPos]->setReceiverFramesPerFile(f);
|
return detectors[detPos]->setFramesPerFile(f);
|
||||||
}
|
}
|
||||||
|
auto r = parallelCall(&slsDetector::setFramesPerFile, f);
|
||||||
|
return sls::minusOneIfDifferent(r);
|
||||||
|
}
|
||||||
|
|
||||||
// multi
|
int multiSlsDetector::getFramesPerFile(int detPos) const {
|
||||||
auto r = parallelCall(&slsDetector::setReceiverFramesPerFile, f);
|
if (detPos >= 0) {
|
||||||
|
return detectors[detPos]->getFramesPerFile();
|
||||||
|
}
|
||||||
|
auto r = parallelCall(&slsDetector::getFramesPerFile);
|
||||||
return sls::minusOneIfDifferent(r);
|
return sls::minusOneIfDifferent(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -350,22 +350,22 @@ void slsDetector::initializeDetectorStructure(detectorType type) {
|
|||||||
sls::strcpy_safe(detector_shm()->receiver_filePath, "/");
|
sls::strcpy_safe(detector_shm()->receiver_filePath, "/");
|
||||||
sls::strcpy_safe(detector_shm()->receiver_fileName, "run");
|
sls::strcpy_safe(detector_shm()->receiver_fileName, "run");
|
||||||
detector_shm()->receiver_fileIndex = 0;
|
detector_shm()->receiver_fileIndex = 0;
|
||||||
detector_shm()->receiver_fileFormatType = BINARY;
|
detector_shm()->rxFileFormat = BINARY;
|
||||||
switch (detector_shm()->myDetectorType) {
|
switch (detector_shm()->myDetectorType) {
|
||||||
case GOTTHARD:
|
case GOTTHARD:
|
||||||
detector_shm()->receiver_framesPerFile = MAX_FRAMES_PER_FILE;
|
detector_shm()->rxFramesPerFile = MAX_FRAMES_PER_FILE;
|
||||||
break;
|
break;
|
||||||
case EIGER:
|
case EIGER:
|
||||||
detector_shm()->receiver_framesPerFile = EIGER_MAX_FRAMES_PER_FILE;
|
detector_shm()->rxFramesPerFile = EIGER_MAX_FRAMES_PER_FILE;
|
||||||
break;
|
break;
|
||||||
case JUNGFRAU:
|
case JUNGFRAU:
|
||||||
detector_shm()->receiver_framesPerFile = JFRAU_MAX_FRAMES_PER_FILE;
|
detector_shm()->rxFramesPerFile = JFRAU_MAX_FRAMES_PER_FILE;
|
||||||
break;
|
break;
|
||||||
case CHIPTESTBOARD:
|
case CHIPTESTBOARD:
|
||||||
detector_shm()->receiver_framesPerFile = CTB_MAX_FRAMES_PER_FILE;
|
detector_shm()->rxFramesPerFile = CTB_MAX_FRAMES_PER_FILE;
|
||||||
break;
|
break;
|
||||||
case MOENCH:
|
case MOENCH:
|
||||||
detector_shm()->receiver_framesPerFile = MOENCH_MAX_FRAMES_PER_FILE;
|
detector_shm()->rxFramesPerFile = MOENCH_MAX_FRAMES_PER_FILE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -2128,8 +2128,8 @@ std::string slsDetector::setReceiverHostname(const std::string &receiverIP) {
|
|||||||
<< "\nfile path:" << detector_shm()->receiver_filePath
|
<< "\nfile path:" << detector_shm()->receiver_filePath
|
||||||
<< "\nfile name:" << detector_shm()->receiver_fileName
|
<< "\nfile name:" << detector_shm()->receiver_fileName
|
||||||
<< "\nfile index:" << detector_shm()->receiver_fileIndex
|
<< "\nfile index:" << detector_shm()->receiver_fileIndex
|
||||||
<< "\nfile format:" << detector_shm()->receiver_fileFormatType
|
<< "\nfile format:" << detector_shm()->rxFileFormat
|
||||||
<< "\nr_framesperfile:" << detector_shm()->receiver_framesPerFile
|
<< "\nr_framesperfile:" << detector_shm()->rxFramesPerFile
|
||||||
<< "\nr_discardpolicy:" << detector_shm()->receiver_frameDiscardMode
|
<< "\nr_discardpolicy:" << detector_shm()->receiver_frameDiscardMode
|
||||||
<< "\nr_padding:" << detector_shm()->receiver_framePadding
|
<< "\nr_padding:" << detector_shm()->receiver_framePadding
|
||||||
<< "\nwrite enable:" << detector_shm()->rxFileWrite
|
<< "\nwrite enable:" << detector_shm()->rxFileWrite
|
||||||
@ -2164,8 +2164,8 @@ std::string slsDetector::setReceiverHostname(const std::string &receiverIP) {
|
|||||||
setFilePath(detector_shm()->receiver_filePath);
|
setFilePath(detector_shm()->receiver_filePath);
|
||||||
setFileName(detector_shm()->receiver_fileName);
|
setFileName(detector_shm()->receiver_fileName);
|
||||||
setFileIndex(detector_shm()->receiver_fileIndex);
|
setFileIndex(detector_shm()->receiver_fileIndex);
|
||||||
setFileFormat(detector_shm()->receiver_fileFormatType);
|
setFileFormat(detector_shm()->rxFileFormat);
|
||||||
setReceiverFramesPerFile(detector_shm()->receiver_framesPerFile);
|
setFramesPerFile(detector_shm()->rxFramesPerFile);
|
||||||
setReceiverFramesDiscardPolicy(detector_shm()->receiver_frameDiscardMode);
|
setReceiverFramesDiscardPolicy(detector_shm()->receiver_frameDiscardMode);
|
||||||
setReceiverPartialFramesPadding(detector_shm()->receiver_framePadding);
|
setReceiverPartialFramesPadding(detector_shm()->receiver_framePadding);
|
||||||
setFileWrite(detector_shm()->rxFileWrite);
|
setFileWrite(detector_shm()->rxFileWrite);
|
||||||
@ -3690,11 +3690,11 @@ int slsDetector::updateCachedReceiverVariables() const {
|
|||||||
|
|
||||||
// file format
|
// file format
|
||||||
n += receiver.receiveData(&i32, sizeof(i32));
|
n += receiver.receiveData(&i32, sizeof(i32));
|
||||||
detector_shm()->receiver_fileFormatType = (fileFormat)i32;
|
detector_shm()->rxFileFormat = (fileFormat)i32;
|
||||||
|
|
||||||
// frames per file
|
// frames per file
|
||||||
n += receiver.receiveData(&i32, sizeof(i32));
|
n += receiver.receiveData(&i32, sizeof(i32));
|
||||||
detector_shm()->receiver_framesPerFile = i32;
|
detector_shm()->rxFramesPerFile = i32;
|
||||||
|
|
||||||
// frame discard policy
|
// frame discard policy
|
||||||
n += receiver.receiveData(&i32, sizeof(i32));
|
n += receiver.receiveData(&i32, sizeof(i32));
|
||||||
@ -3866,7 +3866,7 @@ std::string slsDetector::setFileName(const std::string &fname) {
|
|||||||
return detector_shm()->receiver_fileName;
|
return detector_shm()->receiver_fileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
int slsDetector::setReceiverFramesPerFile(int f) {
|
int slsDetector::setFramesPerFile(int f) {
|
||||||
if (f >= 0) {
|
if (f >= 0) {
|
||||||
int fnum = F_SET_RECEIVER_FRAMES_PER_FILE;
|
int fnum = F_SET_RECEIVER_FRAMES_PER_FILE;
|
||||||
int ret = FAIL;
|
int ret = FAIL;
|
||||||
@ -3879,13 +3879,17 @@ int slsDetector::setReceiverFramesPerFile(int f) {
|
|||||||
ReceiverSocket(detector_shm()->receiver_hostname, detector_shm()->receiverTCPPort);
|
ReceiverSocket(detector_shm()->receiver_hostname, detector_shm()->receiverTCPPort);
|
||||||
ret = receiver.sendCommandThenRead(fnum, &arg, sizeof(arg), &retval, sizeof(retval));
|
ret = receiver.sendCommandThenRead(fnum, &arg, sizeof(arg), &retval, sizeof(retval));
|
||||||
FILE_LOG(logDEBUG1) << "Receiver frames per file: " << retval;
|
FILE_LOG(logDEBUG1) << "Receiver frames per file: " << retval;
|
||||||
detector_shm()->receiver_framesPerFile = retval;
|
detector_shm()->rxFramesPerFile = retval;
|
||||||
}
|
}
|
||||||
if (ret == FORCE_UPDATE) {
|
if (ret == FORCE_UPDATE) {
|
||||||
updateCachedReceiverVariables();
|
updateCachedReceiverVariables();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return detector_shm()->receiver_framesPerFile;
|
return getFramesPerFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
int slsDetector::getFramesPerFile() const {
|
||||||
|
return detector_shm()->rxFramesPerFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
slsDetectorDefs::frameDiscardPolicy
|
slsDetectorDefs::frameDiscardPolicy
|
||||||
@ -3919,7 +3923,7 @@ int slsDetector::setReceiverPartialFramesPadding(int f) {
|
|||||||
ReceiverSocket(detector_shm()->receiver_hostname, detector_shm()->receiverTCPPort);
|
ReceiverSocket(detector_shm()->receiver_hostname, detector_shm()->receiverTCPPort);
|
||||||
ret = receiver.sendCommandThenRead(fnum, &arg, sizeof(arg), &retval, sizeof(retval));
|
ret = receiver.sendCommandThenRead(fnum, &arg, sizeof(arg), &retval, sizeof(retval));
|
||||||
FILE_LOG(logDEBUG1) << "Receiver partial frames enable: " << retval;
|
FILE_LOG(logDEBUG1) << "Receiver partial frames enable: " << retval;
|
||||||
detector_shm()->receiver_framePadding = retval;
|
detector_shm()->receiver_framePadding = static_cast<bool>(retval);
|
||||||
}
|
}
|
||||||
if (ret == FORCE_UPDATE) {
|
if (ret == FORCE_UPDATE) {
|
||||||
updateCachedReceiverVariables();
|
updateCachedReceiverVariables();
|
||||||
@ -3931,8 +3935,8 @@ slsDetectorDefs::fileFormat slsDetector::setFileFormat(fileFormat f) {
|
|||||||
if (f != GET_FILE_FORMAT) {
|
if (f != GET_FILE_FORMAT) {
|
||||||
int fnum = F_SET_RECEIVER_FILE_FORMAT;
|
int fnum = F_SET_RECEIVER_FILE_FORMAT;
|
||||||
int ret = FAIL;
|
int ret = FAIL;
|
||||||
int arg = f;
|
auto arg = static_cast<int>(f);
|
||||||
auto retval = (fileFormat)-1;
|
auto retval = static_cast<fileFormat>(-1);
|
||||||
FILE_LOG(logDEBUG1) << "Setting receiver file format to " << arg;
|
FILE_LOG(logDEBUG1) << "Setting receiver file format to " << arg;
|
||||||
|
|
||||||
if (detector_shm()->receiverOnlineFlag == ONLINE_FLAG) {
|
if (detector_shm()->receiverOnlineFlag == ONLINE_FLAG) {
|
||||||
@ -3940,7 +3944,7 @@ slsDetectorDefs::fileFormat slsDetector::setFileFormat(fileFormat f) {
|
|||||||
ReceiverSocket(detector_shm()->receiver_hostname, detector_shm()->receiverTCPPort);
|
ReceiverSocket(detector_shm()->receiver_hostname, detector_shm()->receiverTCPPort);
|
||||||
ret = receiver.sendCommandThenRead(fnum, &arg, sizeof(arg), &retval, sizeof(retval));
|
ret = receiver.sendCommandThenRead(fnum, &arg, sizeof(arg), &retval, sizeof(retval));
|
||||||
FILE_LOG(logDEBUG1) << "Receiver file format: " << retval;
|
FILE_LOG(logDEBUG1) << "Receiver file format: " << retval;
|
||||||
detector_shm()->receiver_fileFormatType = retval;
|
detector_shm()->rxFileFormat = retval;
|
||||||
}
|
}
|
||||||
if (ret == FORCE_UPDATE) {
|
if (ret == FORCE_UPDATE) {
|
||||||
updateCachedReceiverVariables();
|
updateCachedReceiverVariables();
|
||||||
@ -3949,8 +3953,8 @@ slsDetectorDefs::fileFormat slsDetector::setFileFormat(fileFormat f) {
|
|||||||
return getFileFormat();
|
return getFileFormat();
|
||||||
}
|
}
|
||||||
|
|
||||||
slsDetectorDefs::fileFormat slsDetector::getFileFormat() {
|
slsDetectorDefs::fileFormat slsDetector::getFileFormat() const {
|
||||||
return detector_shm()->receiver_fileFormatType;
|
return detector_shm()->rxFileFormat;
|
||||||
}
|
}
|
||||||
|
|
||||||
int slsDetector::getFileIndex() { return detector_shm()->receiver_fileIndex; }
|
int slsDetector::getFileIndex() { return detector_shm()->receiver_fileIndex; }
|
||||||
@ -4095,7 +4099,7 @@ bool slsDetector::setFileWrite(bool value) {
|
|||||||
ret = receiver.sendCommandThenRead(fnum, &arg, sizeof(arg), &retval,
|
ret = receiver.sendCommandThenRead(fnum, &arg, sizeof(arg), &retval,
|
||||||
sizeof(retval));
|
sizeof(retval));
|
||||||
FILE_LOG(logDEBUG1) << "Receiver file write enable: " << retval;
|
FILE_LOG(logDEBUG1) << "Receiver file write enable: " << retval;
|
||||||
detector_shm()->rxFileWrite = retval;
|
detector_shm()->rxFileWrite = static_cast<bool>(retval);
|
||||||
}
|
}
|
||||||
if (ret == FORCE_UPDATE) {
|
if (ret == FORCE_UPDATE) {
|
||||||
updateCachedReceiverVariables();
|
updateCachedReceiverVariables();
|
||||||
|
@ -5069,12 +5069,12 @@ std::string slsDetectorCommand::cmdReceiver(int narg, char *args[], int action,
|
|||||||
else if (cmd == "r_framesperfile") {
|
else if (cmd == "r_framesperfile") {
|
||||||
if (action == PUT_ACTION) {
|
if (action == PUT_ACTION) {
|
||||||
if (sscanf(args[1], "%d", &ival)) {
|
if (sscanf(args[1], "%d", &ival)) {
|
||||||
myDet->setReceiverFramesPerFile(ival, detPos);
|
myDet->setFramesPerFile(ival, detPos);
|
||||||
} else
|
} else
|
||||||
return std::string("could not scan max frames per file\n");
|
return std::string("could not scan max frames per file\n");
|
||||||
}
|
}
|
||||||
memset(answer, 0, 100);
|
memset(answer, 0, 100);
|
||||||
sprintf(answer, "%d", myDet->setReceiverFramesPerFile(-1, detPos));
|
sprintf(answer, "%d", myDet->getFramesPerFile(detPos));
|
||||||
return std::string(answer);
|
return std::string(answer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -363,7 +363,12 @@ int slsDetectorUsers::setReceiverPartialFramesPadding(int f, int detPos) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int slsDetectorUsers::setReceiverFramesPerFile(int f, int detPos) {
|
int slsDetectorUsers::setReceiverFramesPerFile(int f, int detPos) {
|
||||||
return detector.setReceiverFramesPerFile(f, detPos);
|
if (f > 0) {
|
||||||
|
return detector.setFramesPerFile(f, detPos);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return detector.getFramesPerFile(detPos);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int slsDetectorUsers::setDetectorMinMaxEnergyThreshold(const int index, int v, int detPos) {
|
int slsDetectorUsers::setDetectorMinMaxEnergyThreshold(const int index, int v, int detPos) {
|
||||||
|
Reference in New Issue
Block a user