Merge branch 'developer' into rxrmetadata

This commit is contained in:
maliakal_d 2020-09-03 18:02:05 +02:00
commit 9218ef5a95
4 changed files with 71 additions and 27 deletions

View File

@ -138,6 +138,17 @@ class Detector(CppDetectorApi):
else:
raise ValueError("hostname needs to be string or list of strings")
@property
@element
def stopport(self):
return self.getStopPort()
@stopport.setter
def stopport(self, args):
ut.set_using_dict(self.setStopPort, args)
@property
def firmwareversion(self):
return element_if_equal(self.getFirmwareVersion())
@ -381,12 +392,7 @@ class Detector(CppDetectorApi):
@txndelay_frame.setter
def txndelay_frame(self, args):
if isinstance(args, dict):
for key, value in args.items():
self.setTransmissionDelayFrame(value, [key])
else:
self.setTransmissionDelayFrame(args)
ut.set_using_dict(self.setTransmissionDelayFrame, args)
@property
@element
@ -395,12 +401,7 @@ class Detector(CppDetectorApi):
@txndelay_left.setter
def txndelay_left(self, args):
if isinstance(args, dict):
for key, value in args.items():
self.setTransmissionDelayLeft(value, [key])
else:
self.setTransmissionDelayLeft(args)
ut.set_using_dict(self.setTransmissionDelayLeft, args)
@property
@element
@ -409,11 +410,7 @@ class Detector(CppDetectorApi):
@txndelay_right.setter
def txndelay_right(self, args):
if isinstance(args, dict):
for key, value in args.items():
self.setTransmissionDelayRight(value, [key])
else:
self.setTransmissionDelayRight(args)
ut.set_using_dict(self.setTransmissionDelayRight, args)
@property
def use_receiver(self):
@ -1169,6 +1166,16 @@ class Detector(CppDetectorApi):
def speed(self, value):
self.setSpeed(value)
@property
def rx_jsonpara(self):
raise NotImplementedError('use d.getAdditionalJsonParameter(\'key\')')
@rx_jsonpara.setter
def rx_jsonpara(self, args):
for key, value in args.items():
self.setAdditionalJsonParameter(key, str(value))
@property
def frameindex(self):
return self.getRxCurrentFrameIndex()
@ -1220,9 +1227,20 @@ class Detector(CppDetectorApi):
return element_if_equal(self.getNumMissingPackets())
"""
Some Eiger stuff, does this have to be here or can we move it to subclass?
<<<Eiger>>>
"""
@property
@element
def quad(self):
return self.getQuad()
@quad.setter
def quad(self, value):
self.setQuad(value)
@property
def subexptime(self):
"""
@ -1491,9 +1509,19 @@ class Detector(CppDetectorApi):
self.selectUDPInterface(i)
"""
Gotthard2
<<<Gotthard2>>>
"""
@property
@element
def timingsource(self):
return self.getTimingSource()
@timingsource.setter
def timingsource(self, args):
ut.set_using_dict(self.setTimingSource, args)
@property
@element
def veto(self):
@ -1630,9 +1658,18 @@ class Detector(CppDetectorApi):
self.setCounterMask(list_to_bitmask(values))
"""
CTB stuff
<<<CTB>>>
"""
@property
@element
def samples(self):
return self.getNumberOfAnalogSamples()
@samples.setter
def samples(self, nsamples):
self.setNumberOfAnalogSamples(nsamples)
@property
def runclk(self):
"""[Ctb][Moench] Run clock in MHz."""

View File

@ -108,3 +108,11 @@ def make_string_path(path):
return os.path.expanduser(path)
else:
raise ValueError("Cannot convert argument to posix path")
def set_using_dict(func, args):
if isinstance(args, dict):
for key, value in args.items():
func(value, [key])
else:
func(args)

View File

@ -222,12 +222,12 @@ void qDetectorMain::SetUpDetector(const std::string &config_file, int multiID) {
actionLoadTrimbits->setEnabled(false);
switch (detType) {
case slsDetectorDefs::EIGER:
case slsDetectorDefs::MYTHEN3:
actionLoadTrimbits->setEnabled(true);
break;
case slsDetectorDefs::GOTTHARD:
case slsDetectorDefs::JUNGFRAU:
case slsDetectorDefs::MOENCH:
case slsDetectorDefs::MYTHEN3:
case slsDetectorDefs::GOTTHARD2:
break;
default:
@ -334,7 +334,8 @@ void qDetectorMain::EnableModes(QAction *action) {
tabs->setTabEnabled(ADVANCED, enable);
actionLoadTrimbits->setVisible(enable &&
detType == slsDetectorDefs::EIGER);
(detType == slsDetectorDefs::EIGER ||
detType == slsDetectorDefs::MYTHEN3));
LOG(logINFO) << "Expert Mode: " << qDefs::stringEnable(enable);
}
@ -400,11 +401,8 @@ void qDetectorMain::ExecuteUtilities(QAction *action) {
this, tr("Load Detector Trimbits"), fName,
tr("Trimbit files (*.trim noise.sn*);;All Files(*)"));
fileDialog->setFileMode(QFileDialog::AnyFile);
if (fileDialog->exec() == QDialog::Accepted)
if (fileDialog->exec() == QDialog::Accepted) {
fName = fileDialog->selectedFiles()[0];
// Gets called when cancelled as well
if (!fName.isEmpty()) {
det->loadTrimbits(std::string(fName.toAscii().constData()));
qDefs::Message(qDefs::INFORMATION,
"The Trimbits have been loaded successfully.",

View File

@ -29,6 +29,7 @@ void qTabAdvanced::SetupWidgetWindow() {
tab_roi->setEnabled(true);
break;
case slsDetectorDefs::MYTHEN3:
tab_trimming->setEnabled(true);
lblDiscardBits->setEnabled(true);
spinDiscardBits->setEnabled(true);
lblGateIndex->setEnabled(true);