mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 06:50:02 +02:00
Merge branch 'developer' into rxrmetadata
This commit is contained in:
commit
a081fbbdaa
@ -19,6 +19,22 @@ pycmd += ['vrf', 'vtr', 'vrs', 'vtgstv', 'vsvn', 'vtrim',
|
|||||||
'vin_com', 'vin_cm', 'vrshaper', 'vrshaper_n', 'vrpreamp', 'vishaper',
|
'vin_com', 'vin_cm', 'vrshaper', 'vrshaper_n', 'vrpreamp', 'vishaper',
|
||||||
'vicin', 'vcassh', 'vcal_n', 'vcal_p']
|
'vicin', 'vcassh', 'vcal_n', 'vcal_p']
|
||||||
|
|
||||||
|
# command : reason
|
||||||
|
intentionally_missing = [
|
||||||
|
'temp_10ge', #temperatures already available from enum or specialized class
|
||||||
|
'temp_adc',
|
||||||
|
'temp_dcdc',
|
||||||
|
'temp_fpga',
|
||||||
|
'temp_fpgaext',
|
||||||
|
'temp_fpgafl',
|
||||||
|
'temp_fpgafr',
|
||||||
|
'temp_slowadc',
|
||||||
|
'temp_sodl',
|
||||||
|
'temp_sodr',
|
||||||
|
'trigger', #use sendSoftwareTrigger
|
||||||
|
]
|
||||||
|
|
||||||
|
pycmd += intentionally_missing
|
||||||
missing = []
|
missing = []
|
||||||
for c in cmd:
|
for c in cmd:
|
||||||
if c not in pycmd:
|
if c not in pycmd:
|
||||||
|
@ -139,27 +139,23 @@ class Detector(CppDetectorApi):
|
|||||||
raise ValueError("hostname needs to be string or list of strings")
|
raise ValueError("hostname needs to be string or list of strings")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def fw_version(self):
|
def firmwareversion(self):
|
||||||
return element_if_equal(self.getFirmwareVersion())
|
return element_if_equal(self.getFirmwareVersion())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def server_version(self):
|
def detectorserverversion(self):
|
||||||
# TODO! handle hex print
|
# TODO! handle hex print
|
||||||
return element_if_equal(self.getDetectorServerVersion())
|
return element_if_equal(self.getDetectorServerVersion())
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def client_version(self):
|
def clientversion(self):
|
||||||
return element_if_equal(self.getClientVersion())
|
return self.getClientVersion()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def rx_version(self):
|
def rx_version(self):
|
||||||
"""Receiver version in format [0xYYMMDD]."""
|
"""Receiver version in format [0xYYMMDD]."""
|
||||||
return element_if_equal(self.getReceiverVersion())
|
return element_if_equal(self.getReceiverVersion())
|
||||||
|
|
||||||
@property
|
|
||||||
def detector_type(self):
|
|
||||||
return element_if_equal(self.getDetectorType())
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def dr(self):
|
def dr(self):
|
||||||
"""
|
"""
|
||||||
@ -1022,6 +1018,41 @@ class Detector(CppDetectorApi):
|
|||||||
def led(self, value):
|
def led(self, value):
|
||||||
self.setLEDEnable(value)
|
self.setLEDEnable(value)
|
||||||
|
|
||||||
|
|
||||||
|
@property
|
||||||
|
def versions(self):
|
||||||
|
return {'type': self.type,
|
||||||
|
'package': self.packageversion,
|
||||||
|
'client': self.clientversion,
|
||||||
|
'firmware': self.firmwareversion,
|
||||||
|
'detectorserver': self.detectorserverversion,
|
||||||
|
'receiver': self.rx_version}
|
||||||
|
|
||||||
|
@property
|
||||||
|
def virtual(self):
|
||||||
|
"""
|
||||||
|
Setup with n virtual servers running on localhost
|
||||||
|
starting with port p
|
||||||
|
|
||||||
|
Examples
|
||||||
|
---------
|
||||||
|
|
||||||
|
>>> d.virtual = n, p
|
||||||
|
|
||||||
|
"""
|
||||||
|
raise NotImplementedError('Virtual is set only')
|
||||||
|
|
||||||
|
@virtual.setter
|
||||||
|
def virtual(self, args):
|
||||||
|
n_detectors, starting_port = args
|
||||||
|
self.setVirtualDetectorServers(n_detectors, starting_port)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@property
|
||||||
|
def packageversion(self):
|
||||||
|
return self.getPackageVersion()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def ratecorr(self):
|
def ratecorr(self):
|
||||||
"""
|
"""
|
||||||
@ -1172,6 +1203,19 @@ class Detector(CppDetectorApi):
|
|||||||
def subdeadtime(self, t):
|
def subdeadtime(self, t):
|
||||||
self.setSubDeadTime(t)
|
self.setSubDeadTime(t)
|
||||||
|
|
||||||
|
|
||||||
|
@property
|
||||||
|
@element
|
||||||
|
def parallel(self):
|
||||||
|
"""
|
||||||
|
[Eiger] Enable or disable the parallel readout mode of Eiger.
|
||||||
|
"""
|
||||||
|
return self.getParallelMode()
|
||||||
|
|
||||||
|
@parallel.setter
|
||||||
|
def parallel(self, value):
|
||||||
|
self.setParallelMode(value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def partialreset(self):
|
def partialreset(self):
|
||||||
"""[Eiger] Sets up detector to do partial or complete reset at start of acquisition. 0 complete reset, 1 partial reset. Default is complete reset.
|
"""[Eiger] Sets up detector to do partial or complete reset at start of acquisition. 0 complete reset, 1 partial reset. Default is complete reset.
|
||||||
@ -1392,6 +1436,34 @@ class Detector(CppDetectorApi):
|
|||||||
def veto(self, value):
|
def veto(self, value):
|
||||||
self.setVeto(value)
|
self.setVeto(value)
|
||||||
|
|
||||||
|
|
||||||
|
@property
|
||||||
|
def vetofile(self):
|
||||||
|
"""
|
||||||
|
[Gotthard2] Set veto reference for each 128 channels for specific chip.
|
||||||
|
The file should have 128 rows of gain index and 12 bit value in dec
|
||||||
|
|
||||||
|
Examples
|
||||||
|
---------
|
||||||
|
|
||||||
|
d.vetofile = '/path/to/file.txt' #set for all chips
|
||||||
|
d.vetofile = 3, '/path/to/file.txt' # set for chip 3
|
||||||
|
|
||||||
|
"""
|
||||||
|
raise NotImplementedError('vetofile is set only')
|
||||||
|
|
||||||
|
@vetofile.setter
|
||||||
|
def vetofile(self, args):
|
||||||
|
if isinstance(args, str):
|
||||||
|
chip_index = -1
|
||||||
|
fname = args
|
||||||
|
elif isinstance(args, (tuple, list)):
|
||||||
|
chip_index, fname = args
|
||||||
|
else:
|
||||||
|
raise ValueError("unknow argument to vetofile")
|
||||||
|
|
||||||
|
self.setVetoFile(chip_index, fname)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Mythen3 specific
|
Mythen3 specific
|
||||||
"""
|
"""
|
||||||
|
@ -432,7 +432,7 @@
|
|||||||
<property name="verticalSpacing">
|
<property name="verticalSpacing">
|
||||||
<number>4</number>
|
<number>4</number>
|
||||||
</property>
|
</property>
|
||||||
<item row="5" column="0">
|
<item row="6" column="0">
|
||||||
<widget class="QStackedWidget" name="stackedLblTriggerBurst">
|
<widget class="QStackedWidget" name="stackedLblTriggerBurst">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
@ -503,7 +503,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="3">
|
<item row="5" column="3">
|
||||||
<widget class="QComboBox" name="comboPeriodUnit">
|
<widget class="QComboBox" name="comboPeriodUnit">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@ -572,7 +572,7 @@ Frame period between exposures.
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="2" colspan="2">
|
<item row="2" column="2" colspan="2">
|
||||||
<widget class="QSpinBox" name="spinNumMeasurements">
|
<widget class="QSpinBox" name="spinNumMeasurements">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
@ -616,7 +616,7 @@ Frame period between exposures.
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="2" column="0">
|
||||||
<widget class="QLabel" name="label_5">
|
<widget class="QLabel" name="label_5">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
@ -674,7 +674,7 @@ Frame period between exposures.
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="2">
|
<item row="4" column="2">
|
||||||
<widget class="QDoubleSpinBox" name="spinExpTime">
|
<widget class="QDoubleSpinBox" name="spinExpTime">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@ -718,7 +718,7 @@ Exposure Time of a frame.
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
<item row="5" column="0">
|
||||||
<widget class="QLabel" name="lblPeriod">
|
<widget class="QLabel" name="lblPeriod">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@ -735,7 +735,7 @@ Frame period between exposures.
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QLabel" name="lblNumFrames">
|
<widget class="QLabel" name="lblNumFrames">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@ -745,7 +745,7 @@ Frame period between exposures.
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0">
|
<item row="4" column="0">
|
||||||
<widget class="QLabel" name="lblExpTime">
|
<widget class="QLabel" name="lblExpTime">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@ -762,7 +762,7 @@ Exposure Time of a frame.
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="2" colspan="2">
|
<item row="3" column="2" colspan="2">
|
||||||
<widget class="QSpinBox" name="spinNumFrames">
|
<widget class="QSpinBox" name="spinNumFrames">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@ -809,7 +809,7 @@ Exposure Time of a frame.
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="3">
|
<item row="4" column="3">
|
||||||
<widget class="QComboBox" name="comboExpUnit">
|
<widget class="QComboBox" name="comboExpUnit">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@ -871,7 +871,7 @@ Exposure Time of a frame.
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="2">
|
<item row="5" column="2">
|
||||||
<widget class="QDoubleSpinBox" name="spinPeriod">
|
<widget class="QDoubleSpinBox" name="spinPeriod">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
@ -931,7 +931,7 @@ Frame period between exposures.
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="2">
|
<item row="6" column="2">
|
||||||
<widget class="QStackedWidget" name="stackedSpinTriggerBurst">
|
<widget class="QStackedWidget" name="stackedSpinTriggerBurst">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
@ -1070,7 +1070,7 @@ Frame period between exposures.
|
|||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="0">
|
<item row="7" column="0">
|
||||||
<widget class="QStackedWidget" name="stackedLblDelayBurstPeriod">
|
<widget class="QStackedWidget" name="stackedLblDelayBurstPeriod">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
@ -1141,7 +1141,7 @@ Frame period between exposures.
|
|||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="2">
|
<item row="7" column="2">
|
||||||
<widget class="QStackedWidget" name="stackedSpinDelayBurstPeriod">
|
<widget class="QStackedWidget" name="stackedSpinDelayBurstPeriod">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
@ -1268,7 +1268,7 @@ Frame period between exposures.
|
|||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="3">
|
<item row="7" column="3">
|
||||||
<widget class="QStackedWidget" name="stackedComboDelayBurstPeriod">
|
<widget class="QStackedWidget" name="stackedComboDelayBurstPeriod">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
@ -1431,7 +1431,7 @@ Frame period between exposures.
|
|||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="0">
|
<item row="8" column="0">
|
||||||
<widget class="QStackedWidget" name="stackedLblSamplesGates">
|
<widget class="QStackedWidget" name="stackedLblSamplesGates">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
@ -1502,7 +1502,7 @@ Frame period between exposures.
|
|||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="2">
|
<item row="8" column="2">
|
||||||
<widget class="QStackedWidget" name="stackedSpinSamplesGates">
|
<widget class="QStackedWidget" name="stackedSpinSamplesGates">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
@ -1639,6 +1639,48 @@ Frame period between exposures.
|
|||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="lblBurstMode">
|
||||||
|
<property name="text">
|
||||||
|
<string>Burst Mode:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2" colspan="2">
|
||||||
|
<widget class="QComboBox" name="comboBurstMode">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>25</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Timing Mode of the detector.
|
||||||
|
#timing#</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Off</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Burst Internal</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Burst external</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -20,6 +20,7 @@ class qTabMeasurement : public QWidget, private Ui::TabMeasurementObject {
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void SetTimingMode(int val);
|
void SetTimingMode(int val);
|
||||||
|
void SetBurstMode(int val);
|
||||||
void SetNumMeasurements(int val);
|
void SetNumMeasurements(int val);
|
||||||
void SetNumFrames(int val);
|
void SetNumFrames(int val);
|
||||||
void SetNumTriggers(int val);
|
void SetNumTriggers(int val);
|
||||||
@ -52,6 +53,7 @@ class qTabMeasurement : public QWidget, private Ui::TabMeasurementObject {
|
|||||||
void EnableWidgetsforTimingMode();
|
void EnableWidgetsforTimingMode();
|
||||||
|
|
||||||
void GetTimingMode();
|
void GetTimingMode();
|
||||||
|
void GetBurstMode();
|
||||||
void GetNumFrames();
|
void GetNumFrames();
|
||||||
void GetNumTriggers();
|
void GetNumTriggers();
|
||||||
void GetNumBursts();
|
void GetNumBursts();
|
||||||
|
@ -46,6 +46,8 @@ void qTabMeasurement::SetupWidgetWindow() {
|
|||||||
ShowGates();
|
ShowGates();
|
||||||
|
|
||||||
// enabling according to det type
|
// enabling according to det type
|
||||||
|
lblBurstMode->hide();
|
||||||
|
comboBurstMode->hide();
|
||||||
switch (det->getDetectorType().squash()) {
|
switch (det->getDetectorType().squash()) {
|
||||||
case slsDetectorDefs::MOENCH:
|
case slsDetectorDefs::MOENCH:
|
||||||
lblNumSamples->setEnabled(true);
|
lblNumSamples->setEnabled(true);
|
||||||
@ -64,6 +66,8 @@ void qTabMeasurement::SetupWidgetWindow() {
|
|||||||
startingFnumImplemented = true;
|
startingFnumImplemented = true;
|
||||||
break;
|
break;
|
||||||
case slsDetectorDefs::GOTTHARD2:
|
case slsDetectorDefs::GOTTHARD2:
|
||||||
|
lblBurstMode->show();
|
||||||
|
comboBurstMode->show();
|
||||||
lblNumBursts->setEnabled(true);
|
lblNumBursts->setEnabled(true);
|
||||||
spinNumBursts->setEnabled(true);
|
spinNumBursts->setEnabled(true);
|
||||||
lblBurstPeriod->setEnabled(true);
|
lblBurstPeriod->setEnabled(true);
|
||||||
@ -89,6 +93,10 @@ void qTabMeasurement::SetupWidgetWindow() {
|
|||||||
void qTabMeasurement::Initialization() {
|
void qTabMeasurement::Initialization() {
|
||||||
connect(comboTimingMode, SIGNAL(currentIndexChanged(int)), this,
|
connect(comboTimingMode, SIGNAL(currentIndexChanged(int)), this,
|
||||||
SLOT(SetTimingMode(int)));
|
SLOT(SetTimingMode(int)));
|
||||||
|
if (comboBurstMode->isVisible()) {
|
||||||
|
connect(comboBurstMode, SIGNAL(currentIndexChanged(int)), this,
|
||||||
|
SLOT(SetBurstMode(int)));
|
||||||
|
}
|
||||||
connect(spinNumMeasurements, SIGNAL(valueChanged(int)), this,
|
connect(spinNumMeasurements, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetNumMeasurements(int)));
|
SLOT(SetNumMeasurements(int)));
|
||||||
connect(spinNumFrames, SIGNAL(valueChanged(int)), this,
|
connect(spinNumFrames, SIGNAL(valueChanged(int)), this,
|
||||||
@ -144,19 +152,12 @@ void qTabMeasurement::Initialization() {
|
|||||||
void qTabMeasurement::ShowTriggerDelay() {
|
void qTabMeasurement::ShowTriggerDelay() {
|
||||||
bool showTrigger = true;
|
bool showTrigger = true;
|
||||||
if (det->getDetectorType().squash() == slsDetectorDefs::GOTTHARD2) {
|
if (det->getDetectorType().squash() == slsDetectorDefs::GOTTHARD2) {
|
||||||
try {
|
if ((comboBurstMode->currentIndex() != slsDetectorDefs::BURST_OFF) &&
|
||||||
LOG(logDEBUG) << "Getting burst mode";
|
(comboTimingMode->currentIndex() == AUTO)) {
|
||||||
auto retval = det->getBurstMode().tsquash(
|
// show burst, burstperiod, not trigger or delay
|
||||||
"Inconsistent burst mode for all detectors.");
|
|
||||||
// burst mode and auto timing mode
|
|
||||||
if (retval != slsDetectorDefs::BURST_OFF &&
|
|
||||||
comboTimingMode->currentIndex() == AUTO) {
|
|
||||||
showTrigger = false;
|
showTrigger = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CATCH_DISPLAY("Could not get burst mode.",
|
|
||||||
"qTabMeasurement::ShowTriggerDelay")
|
|
||||||
}
|
|
||||||
|
|
||||||
if (showTrigger) {
|
if (showTrigger) {
|
||||||
stackedLblTriggerBurst->setCurrentWidget(pageLblTrigger);
|
stackedLblTriggerBurst->setCurrentWidget(pageLblTrigger);
|
||||||
@ -248,7 +249,7 @@ void qTabMeasurement::EnableWidgetsforTimingMode() {
|
|||||||
spinPeriod->setEnabled(true);
|
spinPeriod->setEnabled(true);
|
||||||
comboPeriodUnit->setEnabled(true);
|
comboPeriodUnit->setEnabled(true);
|
||||||
if (det->getDetectorType().squash() == slsDetectorDefs::GOTTHARD2) {
|
if (det->getDetectorType().squash() == slsDetectorDefs::GOTTHARD2) {
|
||||||
ShowTriggerDelay();
|
GetBurstMode(); // also decides to show trigger or burst mode
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TRIGGER:
|
case TRIGGER:
|
||||||
@ -272,7 +273,7 @@ void qTabMeasurement::EnableWidgetsforTimingMode() {
|
|||||||
spinDelay->setEnabled(true);
|
spinDelay->setEnabled(true);
|
||||||
comboDelayUnit->setEnabled(true);
|
comboDelayUnit->setEnabled(true);
|
||||||
if (det->getDetectorType().squash() == slsDetectorDefs::GOTTHARD2) {
|
if (det->getDetectorType().squash() == slsDetectorDefs::GOTTHARD2) {
|
||||||
ShowTriggerDelay();
|
GetBurstMode(); // also decides to show trigger or burst mode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -359,6 +360,41 @@ void qTabMeasurement::SetTimingMode(int val) {
|
|||||||
this, &qTabMeasurement::GetTimingMode)
|
this, &qTabMeasurement::GetTimingMode)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void qTabMeasurement::GetBurstMode() {
|
||||||
|
LOG(logDEBUG) << "Getting burst mode";
|
||||||
|
disconnect(comboBurstMode, SIGNAL(currentIndexChanged(int)), this,
|
||||||
|
SLOT(SetBurstMode(int)));
|
||||||
|
try {
|
||||||
|
auto retval = det->getBurstMode().tsquash(
|
||||||
|
"Inconsistent burst mode for all detectors.");
|
||||||
|
switch (retval) {
|
||||||
|
case slsDetectorDefs::BURST_OFF:
|
||||||
|
case slsDetectorDefs::BURST_INTERNAL:
|
||||||
|
case slsDetectorDefs::BURST_EXTERNAL:
|
||||||
|
comboBurstMode->setCurrentIndex((int)retval);
|
||||||
|
ShowTriggerDelay();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw sls::RuntimeError(std::string("Unknown burst mode: ") +
|
||||||
|
std::to_string(retval));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CATCH_DISPLAY("Could not get burst mode.", "qTabMeasurement::GetBurstMode")
|
||||||
|
connect(comboBurstMode, SIGNAL(currentIndexChanged(int)), this,
|
||||||
|
SLOT(SetBurstMode(int)));
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabMeasurement::SetBurstMode(int val) {
|
||||||
|
LOG(logINFO) << "Setting burst mode:"
|
||||||
|
<< comboBurstMode->currentText().toAscii().data();
|
||||||
|
try {
|
||||||
|
det->setBurstMode(static_cast<slsDetectorDefs::burstMode>(val));
|
||||||
|
ShowTriggerDelay();
|
||||||
|
}
|
||||||
|
CATCH_HANDLE("Could not set burst mode.", "qTabMeasurement::SetBurstMode",
|
||||||
|
this, &qTabMeasurement::GetBurstMode)
|
||||||
|
}
|
||||||
|
|
||||||
void qTabMeasurement::SetNumMeasurements(int val) {
|
void qTabMeasurement::SetNumMeasurements(int val) {
|
||||||
LOG(logINFO) << "Setting Number of Measurements to " << val;
|
LOG(logINFO) << "Setting Number of Measurements to " << val;
|
||||||
numMeasurements = val;
|
numMeasurements = val;
|
||||||
@ -913,6 +949,9 @@ void qTabMeasurement::Refresh() {
|
|||||||
|
|
||||||
if (!plot->GetIsRunning()) {
|
if (!plot->GetIsRunning()) {
|
||||||
GetTimingMode();
|
GetTimingMode();
|
||||||
|
if (comboBurstMode->isVisible()) {
|
||||||
|
GetBurstMode();
|
||||||
|
}
|
||||||
GetNumFrames();
|
GetNumFrames();
|
||||||
GetExposureTime();
|
GetExposureTime();
|
||||||
GetAcquisitionPeriod();
|
GetAcquisitionPeriod();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user