mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 23:10:02 +02:00
Merge branch 'developer' into rxrmetadata
This commit is contained in:
commit
9218ef5a95
@ -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."""
|
||||
|
@ -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)
|
@ -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.",
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user