mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-05-04 20:00:04 +02:00
Merge branch 'developer' into rxrmetadata
This commit is contained in:
commit
7bb9696151
@ -6,6 +6,33 @@ open an issue in our our `github repo
|
|||||||
<https://github.com/slsdetectorgroup/slsDetectorPackage>`_.
|
<https://github.com/slsdetectorgroup/slsDetectorPackage>`_.
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------
|
||||||
|
Setting exposure time
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
Setting and reading back exposure time can be done either using a Python datetime.timedelta
|
||||||
|
or by setting the time in seconds.
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
# Set exposure time to 1.2 seconds
|
||||||
|
>>> d.exptime = 1.2
|
||||||
|
|
||||||
|
# Setting exposure time using timedelta
|
||||||
|
import datetime as dt
|
||||||
|
>>> d.exptime = dt.timedelta(seconds = 1.2)
|
||||||
|
|
||||||
|
# With timedelta any arbitrary combination of units can be used
|
||||||
|
>>> t = dt.timedelta(microseconds = 100, seconds = 5.3, minutes = .3)
|
||||||
|
|
||||||
|
# To set exposure time for individual detector one have to resort
|
||||||
|
# to the C++ style API.
|
||||||
|
# Sets exposure time to 1.2 seconds for module 0, 6 and 12
|
||||||
|
>>> d.setExptime(1.2, [0, 6, 12])
|
||||||
|
>>> d.setExptime(dt.timedelta(seconds = 1.2), [0, 6, 12])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
------------------------------------
|
------------------------------------
|
||||||
Converting numbers to hex
|
Converting numbers to hex
|
||||||
------------------------------------
|
------------------------------------
|
||||||
@ -17,13 +44,13 @@ using the built in hex() function.
|
|||||||
.. code-block :: python
|
.. code-block :: python
|
||||||
|
|
||||||
from slsdet import Detector
|
from slsdet import Detector
|
||||||
d = Detector()
|
>>> d = Detector()
|
||||||
>>> d.patwait0 = 0xaa
|
>>> d.patwait0 = 0xaa
|
||||||
>>> d.patwait0
|
>>> d.patwait0
|
||||||
170
|
170
|
||||||
|
|
||||||
# Convert to string
|
# Convert to string
|
||||||
>>> (d.patwait0)
|
>>> hex(d.patwait0)
|
||||||
'0xaa'
|
'0xaa'
|
||||||
|
|
||||||
For multiple values one can use a list comprehension to loop over the values.
|
For multiple values one can use a list comprehension to loop over the values.
|
||||||
|
@ -669,17 +669,27 @@ class Detector(CppDetectorApi):
|
|||||||
Modified only when using an intermediate process after receiver. \n
|
Modified only when using an intermediate process after receiver. \n
|
||||||
Must be different for every detector (and udp port). \n
|
Must be different for every detector (and udp port). \n
|
||||||
Multi command will automatically increment for individual modules, use setRxZmqPort.
|
Multi command will automatically increment for individual modules, use setRxZmqPort.
|
||||||
Exmaples
|
|
||||||
|
Examples
|
||||||
--------
|
--------
|
||||||
|
|
||||||
>>> d.rx_zmqport
|
>>> d.rx_zmqport
|
||||||
[30001, 30002, 30003, 300004]
|
[30001, 30002, 30003, 300004]
|
||||||
>>> d.rx_zmqport = ?????
|
>>> d.rx_zmqport = 30001
|
||||||
|
>>> d.rx_zmqport = [30001, 30005] #Set ports for the two first detectors
|
||||||
|
|
||||||
"""
|
"""
|
||||||
return element_if_equal(self.getRxZmqPort())
|
return element_if_equal(self.getRxZmqPort())
|
||||||
|
|
||||||
@rx_zmqport.setter
|
@rx_zmqport.setter
|
||||||
def rx_zmqport(self, port):
|
def rx_zmqport(self, port):
|
||||||
self.setRxZmqPort(port)
|
if isinstance(port, int):
|
||||||
|
self.setRxZmqPort(port, -1)
|
||||||
|
elif is_iterable(port):
|
||||||
|
for i, p in enumerate(port):
|
||||||
|
self.setRxZmqPort(p, i)
|
||||||
|
else:
|
||||||
|
raise ValueError("Unknown argument type")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def zmqport(self):
|
def zmqport(self):
|
||||||
@ -687,7 +697,13 @@ class Detector(CppDetectorApi):
|
|||||||
|
|
||||||
@zmqport.setter
|
@zmqport.setter
|
||||||
def zmqport(self, port):
|
def zmqport(self, port):
|
||||||
self.setClientZmqPort(port)
|
if isinstance(port, int):
|
||||||
|
self.setClientZmqPort(port, -1)
|
||||||
|
elif is_iterable(port):
|
||||||
|
for i, p in enumerate(port):
|
||||||
|
self.setClientZmqPort(p, i)
|
||||||
|
else:
|
||||||
|
raise ValueError("Unknown argument type")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def rx_zmqip(self):
|
def rx_zmqip(self):
|
||||||
@ -709,7 +725,7 @@ class Detector(CppDetectorApi):
|
|||||||
|
|
||||||
@rx_zmqip.setter
|
@rx_zmqip.setter
|
||||||
def rx_zmqip(self, ip):
|
def rx_zmqip(self, ip):
|
||||||
self.setRxZmqIP(ip)
|
self.setRxZmqIP(IpAddr(ip))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def zmqip(self):
|
def zmqip(self):
|
||||||
@ -717,7 +733,7 @@ class Detector(CppDetectorApi):
|
|||||||
|
|
||||||
@zmqip.setter
|
@zmqip.setter
|
||||||
def zmqip(self, ip):
|
def zmqip(self, ip):
|
||||||
self.setClientZmqIp(ip)
|
self.setClientZmqIp(IpAddr(ip))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def udp_dstip(self):
|
def udp_dstip(self):
|
||||||
@ -755,6 +771,30 @@ class Detector(CppDetectorApi):
|
|||||||
def udp_dstmac2(self, mac):
|
def udp_dstmac2(self, mac):
|
||||||
self.setDestinationUDPMAC2(MacAddr(mac))
|
self.setDestinationUDPMAC2(MacAddr(mac))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def udp_srcmac(self):
|
||||||
|
return element_if_equal(self.getSourceUDPMAC())
|
||||||
|
|
||||||
|
@udp_srcmac.setter
|
||||||
|
def udp_srcmac(self, mac):
|
||||||
|
if isinstance(mac, (list, tuple)):
|
||||||
|
for i, m in enumerate(mac):
|
||||||
|
self.setSourceUDPMAC(MacAddr(m), [i])
|
||||||
|
else:
|
||||||
|
self.setSourceUDPMAC(MacAddr(mac))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def udp_srcmac2(self):
|
||||||
|
return element_if_equal(self.getSourceUDPMAC2())
|
||||||
|
|
||||||
|
@udp_srcmac2.setter
|
||||||
|
def udp_srcmac2(self, mac):
|
||||||
|
if isinstance(mac, (list, tuple)):
|
||||||
|
for i, m in enumerate(mac):
|
||||||
|
self.setSourceUDPMAC2(MacAddr(m), [i])
|
||||||
|
else:
|
||||||
|
self.setSourceUDPMAC2(MacAddr(mac))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def udp_srcip(self):
|
def udp_srcip(self):
|
||||||
return element_if_equal(self.getSourceUDPIP())
|
return element_if_equal(self.getSourceUDPIP())
|
||||||
@ -769,7 +809,7 @@ class Detector(CppDetectorApi):
|
|||||||
|
|
||||||
@udp_srcip2.setter
|
@udp_srcip2.setter
|
||||||
def udp_srcip2(self, ip):
|
def udp_srcip2(self, ip):
|
||||||
self.setSourceUDPIP2(ip)
|
self.setSourceUDPIP2(IpAddr(ip))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def udp_dstport(self):
|
def udp_dstport(self):
|
||||||
|
@ -52,6 +52,9 @@
|
|||||||
<height>25</height>
|
<height>25</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="keyboardTracking">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<double>-1.000000000000000</double>
|
<double>-1.000000000000000</double>
|
||||||
</property>
|
</property>
|
||||||
|
@ -98,6 +98,9 @@
|
|||||||
<height>25</height>
|
<height>25</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="keyboardTracking">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<number>-1</number>
|
<number>-1</number>
|
||||||
</property>
|
</property>
|
||||||
|
@ -463,6 +463,9 @@ Compression using Root. Available only for Gotthard in Expert Mode.
|
|||||||
<height>25</height>
|
<height>25</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="keyboardTracking">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="suffix">
|
<property name="suffix">
|
||||||
<string>ns</string>
|
<string>ns</string>
|
||||||
</property>
|
</property>
|
||||||
|
@ -180,6 +180,9 @@
|
|||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string><html><head/><body><p>High Voltage. Range: 60 - 200V. Swich off high voltage by setting to 0.</p><p>-1 corresponds to different values from detectors.</p><p>#highvoltage#</p></body></html></string>
|
<string><html><head/><body><p>High Voltage. Range: 60 - 200V. Swich off high voltage by setting to 0.</p><p>-1 corresponds to different values from detectors.</p><p>#highvoltage#</p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="keyboardTracking">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<number>-1</number>
|
<number>-1</number>
|
||||||
</property>
|
</property>
|
||||||
|
@ -2169,7 +2169,7 @@ Displays minimum, maximum and sum of values for each plot.
|
|||||||
<item row="0" column="2">
|
<item row="0" column="2">
|
||||||
<widget class="QStackedWidget" name="stackedTimeInterval">
|
<widget class="QStackedWidget" name="stackedTimeInterval">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="pageTimeGap">
|
<widget class="QWidget" name="pageTimeGap">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_14">
|
<layout class="QHBoxLayout" name="horizontalLayout_14">
|
||||||
@ -2181,6 +2181,9 @@ Displays minimum, maximum and sum of values for each plot.
|
|||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="keyboardTracking">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="decimals">
|
<property name="decimals">
|
||||||
<number>3</number>
|
<number>3</number>
|
||||||
</property>
|
</property>
|
||||||
@ -2249,6 +2252,9 @@ Displays minimum, maximum and sum of values for each plot.
|
|||||||
<height>0</height>
|
<height>0</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="keyboardTracking">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
|
@ -18,17 +18,24 @@ class qTabAdvanced : public QWidget, private Ui::TabAdvancedObject {
|
|||||||
void SetDetector();
|
void SetDetector();
|
||||||
void SetControlPort(int port);
|
void SetControlPort(int port);
|
||||||
void SetStopPort(int port);
|
void SetStopPort(int port);
|
||||||
void SetDetectorUDPIP();
|
void SetDetectorUDPIP(bool force = false);
|
||||||
void SetDetectorUDPMAC();
|
void ForceSetDetectorUDPIP();
|
||||||
|
void SetDetectorUDPMAC(bool force = false);
|
||||||
|
void ForceSetDetectorUDPMAC();
|
||||||
void SetCltZMQPort(int port);
|
void SetCltZMQPort(int port);
|
||||||
void SetCltZMQIP();
|
void SetCltZMQIP(bool force = false);
|
||||||
void SetRxrHostname();
|
void ForceSetCltZMQIP();
|
||||||
|
void SetRxrHostname(bool force = false);
|
||||||
|
void ForceSetRxrHostname();
|
||||||
void SetRxrTCPPort(int port);
|
void SetRxrTCPPort(int port);
|
||||||
void SetRxrUDPPort(int port);
|
void SetRxrUDPPort(int port);
|
||||||
void SetRxrUDPIP();
|
void SetRxrUDPIP(bool force = false);
|
||||||
void SetRxrUDPMAC();
|
void ForceSetRxrUDPIP();
|
||||||
|
void SetRxrUDPMAC(bool force = false);
|
||||||
|
void ForceSetRxrUDPMAC();
|
||||||
void SetRxrZMQPort(int port);
|
void SetRxrZMQPort(int port);
|
||||||
void SetRxrZMQIP();
|
void SetRxrZMQIP(bool force = false);
|
||||||
|
void ForceSetRxrZMQIP();
|
||||||
void GetROI();
|
void GetROI();
|
||||||
void ClearROI();
|
void ClearROI();
|
||||||
void SetROI();
|
void SetROI();
|
||||||
|
@ -13,7 +13,8 @@ class qTabDataOutput : public QWidget, private Ui::TabDataOutputObject {
|
|||||||
private slots:
|
private slots:
|
||||||
void GetOutputDir();
|
void GetOutputDir();
|
||||||
void BrowseOutputDir();
|
void BrowseOutputDir();
|
||||||
void SetOutputDir();
|
void SetOutputDir(bool force = false);
|
||||||
|
void ForceSetOutputDir();
|
||||||
void SetFileFormat(int format);
|
void SetFileFormat(int format);
|
||||||
void SetOverwriteEnable(bool enable);
|
void SetOverwriteEnable(bool enable);
|
||||||
void SetTenGigaEnable(bool enable);
|
void SetTenGigaEnable(bool enable);
|
||||||
|
@ -31,7 +31,8 @@ class qTabMeasurement : public QWidget, private Ui::TabMeasurementObject {
|
|||||||
void SetDelay();
|
void SetDelay();
|
||||||
void SetBurstPeriod();
|
void SetBurstPeriod();
|
||||||
void SetFileWrite(bool val);
|
void SetFileWrite(bool val);
|
||||||
void SetFileName();
|
void SetFileName(bool force = false);
|
||||||
|
void ForceSetFileName();
|
||||||
void SetRunIndex(int val);
|
void SetRunIndex(int val);
|
||||||
void SetStartingFrameNumber(int val);
|
void SetStartingFrameNumber(int val);
|
||||||
void UpdateProgress();
|
void UpdateProgress();
|
||||||
|
@ -24,6 +24,12 @@ class qTabPlot : public QWidget, private Ui::TabPlotObject {
|
|||||||
void SetBinary();
|
void SetBinary();
|
||||||
void SetGapPixels(bool enable);
|
void SetGapPixels(bool enable);
|
||||||
void SetTitles();
|
void SetTitles();
|
||||||
|
void isXMinModified();
|
||||||
|
void isXMaxModified();
|
||||||
|
void isYMinModified();
|
||||||
|
void isYMaxModified();
|
||||||
|
void isZMinModified();
|
||||||
|
void isZMaxModified();
|
||||||
void SetXRange();
|
void SetXRange();
|
||||||
void SetYRange();
|
void SetYRange();
|
||||||
void CheckAspectRatio();
|
void CheckAspectRatio();
|
||||||
|
@ -26,7 +26,7 @@ void qDacWidget::SetupWidgetWindow(std::string name) {
|
|||||||
|
|
||||||
void qDacWidget::Initialization() {
|
void qDacWidget::Initialization() {
|
||||||
if (isDac) {
|
if (isDac) {
|
||||||
connect(spinDac, SIGNAL(editingFinished()), this, SLOT(SetDac()));
|
connect(spinDac, SIGNAL(valueChanged(double)), this, SLOT(SetDac()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ void qDacWidget::SetDetectorIndex(int id) {
|
|||||||
void qDacWidget::GetDac() {
|
void qDacWidget::GetDac() {
|
||||||
LOG(logDEBUG) << "Getting Dac " << index;
|
LOG(logDEBUG) << "Getting Dac " << index;
|
||||||
|
|
||||||
disconnect(spinDac, SIGNAL(editingFinished()), this, SLOT(SetDac()));
|
disconnect(spinDac, SIGNAL(valueChanged(double)), this, SLOT(SetDac()));
|
||||||
try {
|
try {
|
||||||
// dac units
|
// dac units
|
||||||
auto retval = det->getDAC(index, 0, {detectorIndex}).squash(-1);
|
auto retval = det->getDAC(index, 0, {detectorIndex}).squash(-1);
|
||||||
@ -52,7 +52,7 @@ void qDacWidget::GetDac() {
|
|||||||
CATCH_DISPLAY(std::string("Could not get dac ") + std::to_string(index),
|
CATCH_DISPLAY(std::string("Could not get dac ") + std::to_string(index),
|
||||||
"qDacWidget::GetDac")
|
"qDacWidget::GetDac")
|
||||||
|
|
||||||
connect(spinDac, SIGNAL(editingFinished()), this, SLOT(SetDac()));
|
connect(spinDac, SIGNAL(valueChanged(double)), this, SLOT(SetDac()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void qDacWidget::SetDac() {
|
void qDacWidget::SetDac() {
|
||||||
|
@ -65,8 +65,7 @@ void qTabAdvanced::Initialization() {
|
|||||||
|
|
||||||
// trimming
|
// trimming
|
||||||
if (tab_trimming->isEnabled()) {
|
if (tab_trimming->isEnabled()) {
|
||||||
// editingFinished to not set trimbits for every character input
|
connect(spinSetAllTrimbits, SIGNAL(valueChanged(int)), this,
|
||||||
connect(spinSetAllTrimbits, SIGNAL(editingFinished()), this,
|
|
||||||
SLOT(SetAllTrimbits()));
|
SLOT(SetAllTrimbits()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,23 +78,36 @@ void qTabAdvanced::Initialization() {
|
|||||||
SLOT(SetStopPort(int)));
|
SLOT(SetStopPort(int)));
|
||||||
connect(dispDetectorUDPIP, SIGNAL(editingFinished()), this,
|
connect(dispDetectorUDPIP, SIGNAL(editingFinished()), this,
|
||||||
SLOT(SetDetectorUDPIP()));
|
SLOT(SetDetectorUDPIP()));
|
||||||
|
connect(dispDetectorUDPIP, SIGNAL(returnPressed()), this,
|
||||||
|
SLOT(ForceSetDetectorUDPIP()));
|
||||||
connect(dispDetectorUDPMAC, SIGNAL(editingFinished()), this,
|
connect(dispDetectorUDPMAC, SIGNAL(editingFinished()), this,
|
||||||
SLOT(SetDetectorUDPMAC()));
|
SLOT(SetDetectorUDPMAC()));
|
||||||
|
connect(dispDetectorUDPMAC, SIGNAL(returnPressed()), this,
|
||||||
|
SLOT(ForceSetDetectorUDPMAC()));
|
||||||
connect(spinZMQPort, SIGNAL(valueChanged(int)), this,
|
connect(spinZMQPort, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetCltZMQPort(int)));
|
SLOT(SetCltZMQPort(int)));
|
||||||
connect(dispZMQIP, SIGNAL(editingFinished()), this, SLOT(SetCltZMQIP()));
|
connect(dispZMQIP, SIGNAL(editingFinished()), this, SLOT(SetCltZMQIP()));
|
||||||
|
connect(dispZMQIP, SIGNAL(returnPressed()), this, SLOT(ForceSetCltZMQIP()));
|
||||||
connect(dispRxrHostname, SIGNAL(editingFinished()), this,
|
connect(dispRxrHostname, SIGNAL(editingFinished()), this,
|
||||||
SLOT(SetRxrHostname()));
|
SLOT(SetRxrHostname()));
|
||||||
|
connect(dispRxrHostname, SIGNAL(returnPressed()), this,
|
||||||
|
SLOT(ForceSetRxrHostname()));
|
||||||
connect(spinRxrTCPPort, SIGNAL(valueChanged(int)), this,
|
connect(spinRxrTCPPort, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetRxrTCPPort(int)));
|
SLOT(SetRxrTCPPort(int)));
|
||||||
connect(spinRxrUDPPort, SIGNAL(valueChanged(int)), this,
|
connect(spinRxrUDPPort, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetRxrUDPPort(int)));
|
SLOT(SetRxrUDPPort(int)));
|
||||||
connect(dispRxrUDPIP, SIGNAL(editingFinished()), this, SLOT(SetRxrUDPIP()));
|
connect(dispRxrUDPIP, SIGNAL(editingFinished()), this, SLOT(SetRxrUDPIP()));
|
||||||
|
connect(dispRxrUDPIP, SIGNAL(returnPressed()), this,
|
||||||
|
SLOT(ForceSetRxrUDPIP()));
|
||||||
connect(dispRxrUDPMAC, SIGNAL(editingFinished()), this,
|
connect(dispRxrUDPMAC, SIGNAL(editingFinished()), this,
|
||||||
SLOT(SetRxrUDPMAC()));
|
SLOT(SetRxrUDPMAC()));
|
||||||
|
connect(dispRxrUDPMAC, SIGNAL(returnPressed()), this,
|
||||||
|
SLOT(ForceSetRxrUDPMAC()));
|
||||||
connect(spinRxrZMQPort, SIGNAL(valueChanged(int)), this,
|
connect(spinRxrZMQPort, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetRxrZMQPort(int)));
|
SLOT(SetRxrZMQPort(int)));
|
||||||
connect(dispRxrZMQIP, SIGNAL(editingFinished()), this, SLOT(SetRxrZMQIP()));
|
connect(dispRxrZMQIP, SIGNAL(editingFinished()), this, SLOT(SetRxrZMQIP()));
|
||||||
|
connect(dispRxrZMQIP, SIGNAL(returnPressed()), this,
|
||||||
|
SLOT(ForceSetRxrZMQIP()));
|
||||||
|
|
||||||
// roi
|
// roi
|
||||||
if (tab_roi->isEnabled()) {
|
if (tab_roi->isEnabled()) {
|
||||||
@ -421,27 +433,41 @@ void qTabAdvanced::SetStopPort(int port) {
|
|||||||
&qTabAdvanced::GetStopPort)
|
&qTabAdvanced::GetStopPort)
|
||||||
}
|
}
|
||||||
|
|
||||||
void qTabAdvanced::SetDetectorUDPIP() {
|
void qTabAdvanced::SetDetectorUDPIP(bool force) {
|
||||||
|
// return forces modification (inconsistency from command line)
|
||||||
|
if (dispDetectorUDPIP->isModified() || force) {
|
||||||
|
dispDetectorUDPIP->setModified(false);
|
||||||
std::string s = dispDetectorUDPIP->text().toAscii().constData();
|
std::string s = dispDetectorUDPIP->text().toAscii().constData();
|
||||||
LOG(logINFO) << "Setting Detector UDP IP:" << s;
|
LOG(logINFO) << "Setting Detector UDP IP:" << s;
|
||||||
try {
|
try {
|
||||||
det->setSourceUDPIP(sls::IpAddr{s}, {comboDetector->currentIndex()});
|
det->setSourceUDPIP(sls::IpAddr{s},
|
||||||
|
{comboDetector->currentIndex()});
|
||||||
}
|
}
|
||||||
CATCH_HANDLE("Could not set Detector UDP IP.",
|
CATCH_HANDLE("Could not set Detector UDP IP.",
|
||||||
"qTabAdvanced::SetDetectorUDPIP", this,
|
"qTabAdvanced::SetDetectorUDPIP", this,
|
||||||
&qTabAdvanced::GetDetectorUDPIP)
|
&qTabAdvanced::GetDetectorUDPIP)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void qTabAdvanced::SetDetectorUDPMAC() {
|
void qTabAdvanced::ForceSetDetectorUDPIP() { SetDetectorUDPIP(true); };
|
||||||
|
|
||||||
|
void qTabAdvanced::SetDetectorUDPMAC(bool force) {
|
||||||
|
// return forces modification (inconsistency from command line)
|
||||||
|
if (dispDetectorUDPMAC->isModified() || force) {
|
||||||
|
dispDetectorUDPMAC->setModified(false);
|
||||||
std::string s = dispDetectorUDPMAC->text().toAscii().constData();
|
std::string s = dispDetectorUDPMAC->text().toAscii().constData();
|
||||||
LOG(logINFO) << "Setting Detector UDP MAC:" << s;
|
LOG(logINFO) << "Setting Detector UDP MAC:" << s;
|
||||||
try {
|
try {
|
||||||
det->setSourceUDPMAC(sls::MacAddr{s}, {comboDetector->currentIndex()});
|
det->setSourceUDPMAC(sls::MacAddr{s},
|
||||||
|
{comboDetector->currentIndex()});
|
||||||
}
|
}
|
||||||
CATCH_HANDLE("Could not set Detector UDP MAC.",
|
CATCH_HANDLE("Could not set Detector UDP MAC.",
|
||||||
"qTabAdvanced::SetDetectorUDPMAC", this,
|
"qTabAdvanced::SetDetectorUDPMAC", this,
|
||||||
&qTabAdvanced::GetDetectorUDPMAC)
|
&qTabAdvanced::GetDetectorUDPMAC)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabAdvanced::ForceSetDetectorUDPMAC() { SetDetectorUDPMAC(true); }
|
||||||
|
|
||||||
void qTabAdvanced::SetCltZMQPort(int port) {
|
void qTabAdvanced::SetCltZMQPort(int port) {
|
||||||
LOG(logINFO) << "Setting Client ZMQ Port:" << port;
|
LOG(logINFO) << "Setting Client ZMQ Port:" << port;
|
||||||
@ -453,28 +479,43 @@ void qTabAdvanced::SetCltZMQPort(int port) {
|
|||||||
&qTabAdvanced::GetCltZMQPort)
|
&qTabAdvanced::GetCltZMQPort)
|
||||||
}
|
}
|
||||||
|
|
||||||
void qTabAdvanced::SetCltZMQIP() {
|
void qTabAdvanced::SetCltZMQIP(bool force) {
|
||||||
|
// return forces modification (inconsistency from command line)
|
||||||
|
if (dispZMQIP->isModified() || force) {
|
||||||
|
dispZMQIP->setModified(false);
|
||||||
std::string s = dispZMQIP->text().toAscii().constData();
|
std::string s = dispZMQIP->text().toAscii().constData();
|
||||||
LOG(logINFO) << "Setting Client ZMQ IP:" << s;
|
LOG(logINFO) << "Setting Client ZMQ IP:" << s;
|
||||||
try {
|
try {
|
||||||
det->setClientZmqIp(sls::IpAddr{s}, {comboDetector->currentIndex()});
|
det->setClientZmqIp(sls::IpAddr{s},
|
||||||
|
{comboDetector->currentIndex()});
|
||||||
|
}
|
||||||
|
CATCH_HANDLE("Could not set Client ZMQ IP.",
|
||||||
|
"qTabAdvanced::SetCltZMQIP", this,
|
||||||
|
&qTabAdvanced::GetCltZMQIP)
|
||||||
}
|
}
|
||||||
CATCH_HANDLE("Could not set Client ZMQ IP.", "qTabAdvanced::SetCltZMQIP",
|
|
||||||
this, &qTabAdvanced::GetCltZMQIP)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void qTabAdvanced::SetRxrHostname() {
|
void qTabAdvanced::ForceSetCltZMQIP() { SetCltZMQIP(true); }
|
||||||
std::string s = dispZMQIP->text().toAscii().constData();
|
|
||||||
|
void qTabAdvanced::SetRxrHostname(bool force) {
|
||||||
|
// return forces modification (inconsistency from command line)
|
||||||
|
if (dispRxrHostname->isModified() || force) {
|
||||||
|
dispRxrHostname->setModified(false);
|
||||||
|
std::string s = dispRxrHostname->text().toAscii().constData();
|
||||||
LOG(logINFO) << "Setting Receiver Hostname:" << s;
|
LOG(logINFO) << "Setting Receiver Hostname:" << s;
|
||||||
try {
|
try {
|
||||||
det->setRxHostname(s, {comboDetector->currentIndex()});
|
det->setRxHostname(s, {comboDetector->currentIndex()});
|
||||||
}
|
}
|
||||||
CATCH_HANDLE("Could not set Client ZMQ IP.", "qTabAdvanced::SetRxrHostname",
|
CATCH_HANDLE("Could not set Client ZMQ IP.",
|
||||||
this, &qTabAdvanced::GetRxrHostname)
|
"qTabAdvanced::SetRxrHostname", this,
|
||||||
|
&qTabAdvanced::GetRxrHostname)
|
||||||
|
|
||||||
// update all network widgets (receiver mainly)
|
// update all network widgets (receiver mainly)
|
||||||
SetDetector();
|
SetDetector();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabAdvanced::ForceSetRxrHostname() { SetRxrHostname(true); }
|
||||||
|
|
||||||
void qTabAdvanced::SetRxrTCPPort(int port) {
|
void qTabAdvanced::SetRxrTCPPort(int port) {
|
||||||
LOG(logINFO) << "Setting Receiver TCP Port:" << port;
|
LOG(logINFO) << "Setting Receiver TCP Port:" << port;
|
||||||
@ -496,18 +537,28 @@ void qTabAdvanced::SetRxrUDPPort(int port) {
|
|||||||
&qTabAdvanced::GetRxrUDPPort)
|
&qTabAdvanced::GetRxrUDPPort)
|
||||||
}
|
}
|
||||||
|
|
||||||
void qTabAdvanced::SetRxrUDPIP() {
|
void qTabAdvanced::SetRxrUDPIP(bool force) {
|
||||||
|
// return forces modification (inconsistency from command line)
|
||||||
|
if (dispRxrUDPIP->isModified() || force) {
|
||||||
|
dispRxrUDPIP->setModified(false);
|
||||||
std::string s = dispRxrUDPIP->text().toAscii().constData();
|
std::string s = dispRxrUDPIP->text().toAscii().constData();
|
||||||
LOG(logINFO) << "Setting Receiver UDP IP:" << s;
|
LOG(logINFO) << "Setting Receiver UDP IP:" << s;
|
||||||
try {
|
try {
|
||||||
det->setDestinationUDPIP(sls::IpAddr{s},
|
det->setDestinationUDPIP(sls::IpAddr{s},
|
||||||
{comboDetector->currentIndex()});
|
{comboDetector->currentIndex()});
|
||||||
}
|
}
|
||||||
CATCH_HANDLE("Could not set Receiver UDP IP.", "qTabAdvanced::SetRxrUDPIP",
|
CATCH_HANDLE("Could not set Receiver UDP IP.",
|
||||||
this, &qTabAdvanced::GetRxrUDPIP)
|
"qTabAdvanced::SetRxrUDPIP", this,
|
||||||
|
&qTabAdvanced::GetRxrUDPIP)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void qTabAdvanced::SetRxrUDPMAC() {
|
void qTabAdvanced::ForceSetRxrUDPIP() { SetRxrUDPIP(true); }
|
||||||
|
|
||||||
|
void qTabAdvanced::SetRxrUDPMAC(bool force) {
|
||||||
|
// return forces modification (inconsistency from command line)
|
||||||
|
if (dispRxrUDPMAC->isModified() || force) {
|
||||||
|
dispRxrUDPMAC->setModified(false);
|
||||||
std::string s = dispRxrUDPMAC->text().toAscii().constData();
|
std::string s = dispRxrUDPMAC->text().toAscii().constData();
|
||||||
LOG(logINFO) << "Setting Receiver UDP MAC:" << s;
|
LOG(logINFO) << "Setting Receiver UDP MAC:" << s;
|
||||||
try {
|
try {
|
||||||
@ -518,6 +569,9 @@ void qTabAdvanced::SetRxrUDPMAC() {
|
|||||||
"qTabAdvanced::SetRxrUDPMAC", this,
|
"qTabAdvanced::SetRxrUDPMAC", this,
|
||||||
&qTabAdvanced::GetRxrUDPMAC)
|
&qTabAdvanced::GetRxrUDPMAC)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabAdvanced::ForceSetRxrUDPMAC() { SetRxrUDPMAC(true); }
|
||||||
|
|
||||||
void qTabAdvanced::SetRxrZMQPort(int port) {
|
void qTabAdvanced::SetRxrZMQPort(int port) {
|
||||||
LOG(logINFO) << "Setting Receiver ZMQ Port:" << port;
|
LOG(logINFO) << "Setting Receiver ZMQ Port:" << port;
|
||||||
@ -529,15 +583,22 @@ void qTabAdvanced::SetRxrZMQPort(int port) {
|
|||||||
&qTabAdvanced::GetRxrZMQPort)
|
&qTabAdvanced::GetRxrZMQPort)
|
||||||
}
|
}
|
||||||
|
|
||||||
void qTabAdvanced::SetRxrZMQIP() {
|
void qTabAdvanced::SetRxrZMQIP(bool force) {
|
||||||
|
// return forces modification (inconsistency from command line)
|
||||||
|
if (dispRxrZMQIP->isModified() || force) {
|
||||||
|
dispRxrZMQIP->setModified(false);
|
||||||
std::string s = dispRxrZMQIP->text().toAscii().constData();
|
std::string s = dispRxrZMQIP->text().toAscii().constData();
|
||||||
LOG(logINFO) << "Setting Receiver ZMQ IP:" << s;
|
LOG(logINFO) << "Setting Receiver ZMQ IP:" << s;
|
||||||
try {
|
try {
|
||||||
det->setRxZmqIP(sls::IpAddr{s}, {comboDetector->currentIndex()});
|
det->setRxZmqIP(sls::IpAddr{s}, {comboDetector->currentIndex()});
|
||||||
}
|
}
|
||||||
CATCH_HANDLE("Could not set Receiver ZMQ IP.", "qTabAdvanced::SetRxrZMQIP",
|
CATCH_HANDLE("Could not set Receiver ZMQ IP.",
|
||||||
this, &qTabAdvanced::GetRxrZMQIP)
|
"qTabAdvanced::SetRxrZMQIP", this,
|
||||||
|
&qTabAdvanced::GetRxrZMQIP)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabAdvanced::ForceSetRxrZMQIP() { SetRxrZMQIP(true); }
|
||||||
|
|
||||||
void qTabAdvanced::GetROI() {
|
void qTabAdvanced::GetROI() {
|
||||||
LOG(logDEBUG) << "Getting ROI";
|
LOG(logDEBUG) << "Getting ROI";
|
||||||
@ -575,7 +636,7 @@ void qTabAdvanced::SetROI() {
|
|||||||
|
|
||||||
void qTabAdvanced::GetAllTrimbits() {
|
void qTabAdvanced::GetAllTrimbits() {
|
||||||
LOG(logDEBUG) << "Getting all trimbits value";
|
LOG(logDEBUG) << "Getting all trimbits value";
|
||||||
disconnect(spinSetAllTrimbits, SIGNAL(editingFinished()), this,
|
disconnect(spinSetAllTrimbits, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetAllTrimbits()));
|
SLOT(SetAllTrimbits()));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -584,7 +645,7 @@ void qTabAdvanced::GetAllTrimbits() {
|
|||||||
}
|
}
|
||||||
CATCH_DISPLAY("Could not get all trimbits.", "qTabAdvanced::GetAllTrimbits")
|
CATCH_DISPLAY("Could not get all trimbits.", "qTabAdvanced::GetAllTrimbits")
|
||||||
|
|
||||||
connect(spinSetAllTrimbits, SIGNAL(editingFinished()), this,
|
connect(spinSetAllTrimbits, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetAllTrimbits()));
|
SLOT(SetAllTrimbits()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,6 +54,8 @@ void qTabDataOutput::Initialization() {
|
|||||||
SLOT(GetOutputDir()));
|
SLOT(GetOutputDir()));
|
||||||
connect(dispOutputDir, SIGNAL(editingFinished()), this,
|
connect(dispOutputDir, SIGNAL(editingFinished()), this,
|
||||||
SLOT(SetOutputDir()));
|
SLOT(SetOutputDir()));
|
||||||
|
connect(dispOutputDir, SIGNAL(returnPressed()), this,
|
||||||
|
SLOT(ForceSetOutputDir()));
|
||||||
connect(btnOutputBrowse, SIGNAL(clicked()), this, SLOT(BrowseOutputDir()));
|
connect(btnOutputBrowse, SIGNAL(clicked()), this, SLOT(BrowseOutputDir()));
|
||||||
connect(comboFileFormat, SIGNAL(currentIndexChanged(int)), this,
|
connect(comboFileFormat, SIGNAL(currentIndexChanged(int)), this,
|
||||||
SLOT(SetFileFormat(int)));
|
SLOT(SetFileFormat(int)));
|
||||||
@ -69,7 +71,7 @@ void qTabDataOutput::Initialization() {
|
|||||||
SLOT(EnableRateCorrection()));
|
SLOT(EnableRateCorrection()));
|
||||||
connect(btnGroupRate, SIGNAL(buttonClicked(int)), this,
|
connect(btnGroupRate, SIGNAL(buttonClicked(int)), this,
|
||||||
SLOT(SetRateCorrection()));
|
SLOT(SetRateCorrection()));
|
||||||
connect(spinCustomDeadTime, SIGNAL(editingFinished()), this,
|
connect(spinCustomDeadTime, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetRateCorrection()));
|
SLOT(SetRateCorrection()));
|
||||||
}
|
}
|
||||||
// flags, speed
|
// flags, speed
|
||||||
@ -169,7 +171,10 @@ void qTabDataOutput::BrowseOutputDir() {
|
|||||||
dispOutputDir->setText(directory);
|
dispOutputDir->setText(directory);
|
||||||
}
|
}
|
||||||
|
|
||||||
void qTabDataOutput::SetOutputDir() {
|
void qTabDataOutput::SetOutputDir(bool force) {
|
||||||
|
// return forces modification (inconsistency from command line)
|
||||||
|
if (dispOutputDir->isModified() || force) {
|
||||||
|
dispOutputDir->setModified(false);
|
||||||
QString path = dispOutputDir->text();
|
QString path = dispOutputDir->text();
|
||||||
LOG(logDEBUG) << "Setting output directory to "
|
LOG(logDEBUG) << "Setting output directory to "
|
||||||
<< path.toAscii().constData();
|
<< path.toAscii().constData();
|
||||||
@ -197,6 +202,9 @@ void qTabDataOutput::SetOutputDir() {
|
|||||||
&qTabDataOutput::GetOutputDir)
|
&qTabDataOutput::GetOutputDir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabDataOutput::ForceSetOutputDir() { SetOutputDir(true); };
|
||||||
|
|
||||||
void qTabDataOutput::GetFileFormat() {
|
void qTabDataOutput::GetFileFormat() {
|
||||||
LOG(logDEBUG) << "Getting File Format";
|
LOG(logDEBUG) << "Getting File Format";
|
||||||
@ -288,7 +296,7 @@ void qTabDataOutput::GetRateCorrection() {
|
|||||||
SLOT(EnableRateCorrection()));
|
SLOT(EnableRateCorrection()));
|
||||||
disconnect(btnGroupRate, SIGNAL(buttonClicked(int)), this,
|
disconnect(btnGroupRate, SIGNAL(buttonClicked(int)), this,
|
||||||
SLOT(SetRateCorrection()));
|
SLOT(SetRateCorrection()));
|
||||||
disconnect(spinCustomDeadTime, SIGNAL(editingFinished()), this,
|
disconnect(spinCustomDeadTime, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetRateCorrection()));
|
SLOT(SetRateCorrection()));
|
||||||
try {
|
try {
|
||||||
spinCustomDeadTime->setValue(-1);
|
spinCustomDeadTime->setValue(-1);
|
||||||
@ -305,7 +313,7 @@ void qTabDataOutput::GetRateCorrection() {
|
|||||||
connect(chkRate, SIGNAL(toggled(bool)), this, SLOT(EnableRateCorrection()));
|
connect(chkRate, SIGNAL(toggled(bool)), this, SLOT(EnableRateCorrection()));
|
||||||
connect(btnGroupRate, SIGNAL(buttonClicked(int)), this,
|
connect(btnGroupRate, SIGNAL(buttonClicked(int)), this,
|
||||||
SLOT(SetRateCorrection()));
|
SLOT(SetRateCorrection()));
|
||||||
connect(spinCustomDeadTime, SIGNAL(editingFinished()), this,
|
connect(spinCustomDeadTime, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetRateCorrection()));
|
SLOT(SetRateCorrection()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ void qTabDeveloper::Initialization() {
|
|||||||
SLOT(Refresh()));
|
SLOT(Refresh()));
|
||||||
connect(comboHV, SIGNAL(currentIndexChanged(int)), this,
|
connect(comboHV, SIGNAL(currentIndexChanged(int)), this,
|
||||||
SLOT(SetHighVoltage()));
|
SLOT(SetHighVoltage()));
|
||||||
connect(spinHV, SIGNAL(editingFinished()), this, SLOT(SetHighVoltage()));
|
connect(spinHV, SIGNAL(valueChanged(int)), this, SLOT(SetHighVoltage()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void qTabDeveloper::PopulateDetectors() {
|
void qTabDeveloper::PopulateDetectors() {
|
||||||
@ -312,7 +312,7 @@ void qTabDeveloper::GetHighVoltage() {
|
|||||||
if (!comboHV->isVisible() && !spinHV->isVisible())
|
if (!comboHV->isVisible() && !spinHV->isVisible())
|
||||||
return;
|
return;
|
||||||
LOG(logDEBUG) << "Getting High Voltage";
|
LOG(logDEBUG) << "Getting High Voltage";
|
||||||
disconnect(spinHV, SIGNAL(editingFinished()), this, SLOT(SetHighVoltage()));
|
disconnect(spinHV, SIGNAL(valueChanged(int)), this, SLOT(SetHighVoltage()));
|
||||||
disconnect(comboHV, SIGNAL(currentIndexChanged(int)), this,
|
disconnect(comboHV, SIGNAL(currentIndexChanged(int)), this,
|
||||||
SLOT(SetHighVoltage()));
|
SLOT(SetHighVoltage()));
|
||||||
try {
|
try {
|
||||||
@ -359,7 +359,7 @@ void qTabDeveloper::GetHighVoltage() {
|
|||||||
}
|
}
|
||||||
CATCH_DISPLAY("Could not get high voltage.",
|
CATCH_DISPLAY("Could not get high voltage.",
|
||||||
"qTabDeveloper::GetHighVoltage")
|
"qTabDeveloper::GetHighVoltage")
|
||||||
connect(spinHV, SIGNAL(editingFinished()), this, SLOT(SetHighVoltage()));
|
connect(spinHV, SIGNAL(valueChanged(int)), this, SLOT(SetHighVoltage()));
|
||||||
connect(comboHV, SIGNAL(currentIndexChanged(int)), this,
|
connect(comboHV, SIGNAL(currentIndexChanged(int)), this,
|
||||||
SLOT(SetHighVoltage()));
|
SLOT(SetHighVoltage()));
|
||||||
}
|
}
|
||||||
|
@ -129,6 +129,8 @@ void qTabMeasurement::Initialization() {
|
|||||||
}
|
}
|
||||||
connect(chkFile, SIGNAL(toggled(bool)), this, SLOT(SetFileWrite(bool)));
|
connect(chkFile, SIGNAL(toggled(bool)), this, SLOT(SetFileWrite(bool)));
|
||||||
connect(dispFileName, SIGNAL(editingFinished()), this, SLOT(SetFileName()));
|
connect(dispFileName, SIGNAL(editingFinished()), this, SLOT(SetFileName()));
|
||||||
|
connect(dispFileName, SIGNAL(returnPressed()), this,
|
||||||
|
SLOT(ForceSetFileName()));
|
||||||
connect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(SetRunIndex(int)));
|
connect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(SetRunIndex(int)));
|
||||||
if (startingFnumImplemented) {
|
if (startingFnumImplemented) {
|
||||||
connect(spinStartingFrameNumber, SIGNAL(valueChanged(int)), this,
|
connect(spinStartingFrameNumber, SIGNAL(valueChanged(int)), this,
|
||||||
@ -723,8 +725,12 @@ void qTabMeasurement::GetFileName() {
|
|||||||
connect(dispFileName, SIGNAL(editingFinished()), this, SLOT(SetFileName()));
|
connect(dispFileName, SIGNAL(editingFinished()), this, SLOT(SetFileName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void qTabMeasurement::SetFileName() {
|
void qTabMeasurement::SetFileName(bool force) {
|
||||||
std::string val = std::string(dispFileName->text().toAscii().constData());
|
// return forces modification (inconsistency from command line)
|
||||||
|
if (dispFileName->isModified() || force) {
|
||||||
|
dispFileName->setModified(false);
|
||||||
|
std::string val =
|
||||||
|
std::string(dispFileName->text().toAscii().constData());
|
||||||
LOG(logINFO) << "Setting File Name Prefix:" << val;
|
LOG(logINFO) << "Setting File Name Prefix:" << val;
|
||||||
try {
|
try {
|
||||||
det->setFileNamePrefix(val);
|
det->setFileNamePrefix(val);
|
||||||
@ -735,6 +741,9 @@ void qTabMeasurement::SetFileName() {
|
|||||||
|
|
||||||
emit FileNameChangedSignal(dispFileName->text());
|
emit FileNameChangedSignal(dispFileName->text());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabMeasurement::ForceSetFileName() { SetFileName(true); }
|
||||||
|
|
||||||
void qTabMeasurement::GetRunIndex() {
|
void qTabMeasurement::GetRunIndex() {
|
||||||
LOG(logDEBUG) << "Getting Acquisition File index";
|
LOG(logDEBUG) << "Getting Acquisition File index";
|
||||||
|
@ -87,9 +87,9 @@ void qTabPlot::Initialization() {
|
|||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
connect(comboTimeGapUnit, SIGNAL(currentIndexChanged(int)), this,
|
connect(comboTimeGapUnit, SIGNAL(currentIndexChanged(int)), this,
|
||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
connect(spinTimeGap, SIGNAL(editingFinished()), this,
|
connect(spinTimeGap, SIGNAL(valueChanged(double)), this,
|
||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
connect(spinNthFrame, SIGNAL(editingFinished()), this,
|
connect(spinNthFrame, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
|
|
||||||
// navigation buttons for options
|
// navigation buttons for options
|
||||||
@ -174,17 +174,17 @@ void qTabPlot::Initialization() {
|
|||||||
connect(chkXMax, SIGNAL(toggled(bool)), this, SLOT(SetXRange()));
|
connect(chkXMax, SIGNAL(toggled(bool)), this, SLOT(SetXRange()));
|
||||||
connect(chkYMin, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
connect(chkYMin, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
||||||
connect(chkYMax, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
connect(chkYMax, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
||||||
connect(dispXMin, SIGNAL(editingFinished()), this, SLOT(SetXRange()));
|
connect(dispXMin, SIGNAL(editingFinished()), this, SLOT(isXMinModified()));
|
||||||
connect(dispXMax, SIGNAL(editingFinished()), this, SLOT(SetXRange()));
|
connect(dispXMax, SIGNAL(editingFinished()), this, SLOT(isXMaxModified()));
|
||||||
connect(dispYMin, SIGNAL(editingFinished()), this, SLOT(SetYRange()));
|
connect(dispYMin, SIGNAL(editingFinished()), this, SLOT(isYMinModified()));
|
||||||
connect(dispYMax, SIGNAL(editingFinished()), this, SLOT(SetYRange()));
|
connect(dispYMax, SIGNAL(editingFinished()), this, SLOT(isYMaxModified()));
|
||||||
connect(chkAspectRatio, SIGNAL(toggled(bool)), this,
|
connect(chkAspectRatio, SIGNAL(toggled(bool)), this,
|
||||||
SLOT(CheckAspectRatio()));
|
SLOT(CheckAspectRatio()));
|
||||||
|
|
||||||
connect(chkZMin, SIGNAL(toggled(bool)), this, SLOT(SetZRange()));
|
connect(chkZMin, SIGNAL(toggled(bool)), this, SLOT(SetZRange()));
|
||||||
connect(chkZMax, SIGNAL(toggled(bool)), this, SLOT(SetZRange()));
|
connect(chkZMax, SIGNAL(toggled(bool)), this, SLOT(SetZRange()));
|
||||||
connect(dispZMin, SIGNAL(editingFinished()), this, SLOT(SetZRange()));
|
connect(dispZMin, SIGNAL(editingFinished()), this, SLOT(isZMinModified()));
|
||||||
connect(dispZMax, SIGNAL(editingFinished()), this, SLOT(SetZRange()));
|
connect(dispZMax, SIGNAL(editingFinished()), this, SLOT(isZMaxModified()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void qTabPlot::Select1DPlot(bool enable) {
|
void qTabPlot::Select1DPlot(bool enable) {
|
||||||
@ -389,6 +389,48 @@ void qTabPlot::SetTitles() {
|
|||||||
SLOT(SetTitles()));
|
SLOT(SetTitles()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void qTabPlot::isXMinModified() {
|
||||||
|
if (dispXMin->isModified()) {
|
||||||
|
dispXMin->setModified(false);
|
||||||
|
SetXRange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabPlot::isXMaxModified() {
|
||||||
|
if (dispXMax->isModified()) {
|
||||||
|
dispXMax->setModified(false);
|
||||||
|
SetXRange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabPlot::isYMinModified() {
|
||||||
|
if (dispYMin->isModified()) {
|
||||||
|
dispYMin->setModified(false);
|
||||||
|
SetYRange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabPlot::isYMaxModified() {
|
||||||
|
if (dispYMax->isModified()) {
|
||||||
|
dispYMax->setModified(false);
|
||||||
|
SetYRange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabPlot::isZMinModified() {
|
||||||
|
if (dispZMin->isModified()) {
|
||||||
|
dispZMin->setModified(false);
|
||||||
|
SetZRange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void qTabPlot::isZMaxModified() {
|
||||||
|
if (dispZMax->isModified()) {
|
||||||
|
dispZMax->setModified(false);
|
||||||
|
SetZRange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void qTabPlot::SetXRange() {
|
void qTabPlot::SetXRange() {
|
||||||
LOG(logDEBUG) << "Enable X axis range";
|
LOG(logDEBUG) << "Enable X axis range";
|
||||||
|
|
||||||
@ -452,10 +494,14 @@ void qTabPlot::MaintainAspectRatio(int dimension) {
|
|||||||
disconnect(chkXMax, SIGNAL(toggled(bool)), this, SLOT(SetXRange()));
|
disconnect(chkXMax, SIGNAL(toggled(bool)), this, SLOT(SetXRange()));
|
||||||
disconnect(chkYMin, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
disconnect(chkYMin, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
||||||
disconnect(chkYMax, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
disconnect(chkYMax, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
||||||
disconnect(dispXMin, SIGNAL(editingFinished()), this, SLOT(SetXRange()));
|
disconnect(dispXMin, SIGNAL(editingFinished()), this,
|
||||||
disconnect(dispXMax, SIGNAL(editingFinished()), this, SLOT(SetXRange()));
|
SLOT(isXMinModified()));
|
||||||
disconnect(dispYMin, SIGNAL(editingFinished()), this, SLOT(SetYRange()));
|
disconnect(dispXMax, SIGNAL(editingFinished()), this,
|
||||||
disconnect(dispYMax, SIGNAL(editingFinished()), this, SLOT(SetYRange()));
|
SLOT(isXMaxModified()));
|
||||||
|
disconnect(dispYMin, SIGNAL(editingFinished()), this,
|
||||||
|
SLOT(isYMinModified()));
|
||||||
|
disconnect(dispYMax, SIGNAL(editingFinished()), this,
|
||||||
|
SLOT(isYMaxModified()));
|
||||||
|
|
||||||
// check all, fill all
|
// check all, fill all
|
||||||
chkXMin->setChecked(true);
|
chkXMin->setChecked(true);
|
||||||
@ -550,10 +596,10 @@ void qTabPlot::MaintainAspectRatio(int dimension) {
|
|||||||
connect(chkXMax, SIGNAL(toggled(bool)), this, SLOT(SetXRange()));
|
connect(chkXMax, SIGNAL(toggled(bool)), this, SLOT(SetXRange()));
|
||||||
connect(chkYMin, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
connect(chkYMin, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
||||||
connect(chkYMax, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
connect(chkYMax, SIGNAL(toggled(bool)), this, SLOT(SetYRange()));
|
||||||
connect(dispXMin, SIGNAL(editingFinished()), this, SLOT(SetXRange()));
|
connect(dispXMin, SIGNAL(editingFinished()), this, SLOT(isXMinModified()));
|
||||||
connect(dispXMax, SIGNAL(editingFinished()), this, SLOT(SetXRange()));
|
connect(dispXMax, SIGNAL(editingFinished()), this, SLOT(isXMaxModified()));
|
||||||
connect(dispYMin, SIGNAL(editingFinished()), this, SLOT(SetYRange()));
|
connect(dispYMin, SIGNAL(editingFinished()), this, SLOT(isYMinModified()));
|
||||||
connect(dispYMax, SIGNAL(editingFinished()), this, SLOT(SetYRange()));
|
connect(dispYMax, SIGNAL(editingFinished()), this, SLOT(isYMaxModified()));
|
||||||
|
|
||||||
bool isRange[4]{true, true, true, true};
|
bool isRange[4]{true, true, true, true};
|
||||||
plot->SetXYRangeChanged(true, ranges, isRange);
|
plot->SetXYRangeChanged(true, ranges, isRange);
|
||||||
@ -583,9 +629,9 @@ void qTabPlot::GetStreamingFrequency() {
|
|||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
disconnect(comboTimeGapUnit, SIGNAL(currentIndexChanged(int)), this,
|
disconnect(comboTimeGapUnit, SIGNAL(currentIndexChanged(int)), this,
|
||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
disconnect(spinTimeGap, SIGNAL(editingFinished()), this,
|
disconnect(spinTimeGap, SIGNAL(valueChanged(double)), this,
|
||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
disconnect(spinNthFrame, SIGNAL(editingFinished()), this,
|
disconnect(spinNthFrame, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
try {
|
try {
|
||||||
int freq = det->getRxZmqFrequency().tsquash(
|
int freq = det->getRxZmqFrequency().tsquash(
|
||||||
@ -621,9 +667,9 @@ void qTabPlot::GetStreamingFrequency() {
|
|||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
connect(comboTimeGapUnit, SIGNAL(currentIndexChanged(int)), this,
|
connect(comboTimeGapUnit, SIGNAL(currentIndexChanged(int)), this,
|
||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
connect(spinTimeGap, SIGNAL(editingFinished()), this,
|
connect(spinTimeGap, SIGNAL(valueChanged(double)), this,
|
||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
connect(spinNthFrame, SIGNAL(editingFinished()), this,
|
connect(spinNthFrame, SIGNAL(valueChanged(int)), this,
|
||||||
SLOT(SetStreamingFrequency()));
|
SLOT(SetStreamingFrequency()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Binary file not shown.
@ -901,12 +901,13 @@ int setPeriod(int64_t val) {
|
|||||||
LOG(logERROR, ("Invalid period: %lld ns\n", val));
|
LOG(logERROR, ("Invalid period: %lld ns\n", val));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
val *= (1E-9 * systemFrequency);
|
|
||||||
if (burstMode == BURST_OFF) {
|
if (burstMode == BURST_OFF) {
|
||||||
LOG(logINFO, ("Setting period %lld ns [Continuous mode]\n", val));
|
LOG(logINFO, ("Setting period %lld ns [Continuous mode]\n", val));
|
||||||
|
val *= (1E-9 * systemFrequency);
|
||||||
set64BitReg(val, SET_PERIOD_LSB_REG, SET_PERIOD_MSB_REG);
|
set64BitReg(val, SET_PERIOD_LSB_REG, SET_PERIOD_MSB_REG);
|
||||||
} else {
|
} else {
|
||||||
LOG(logINFO, ("Setting period %lld ns [Burst mode]\n", val));
|
LOG(logINFO, ("Setting period %lld ns [Burst mode]\n", val));
|
||||||
|
val *= (1E-9 * systemFrequency);
|
||||||
set64BitReg(val, ASIC_INT_PERIOD_LSB_REG, ASIC_INT_PERIOD_MSB_REG);
|
set64BitReg(val, ASIC_INT_PERIOD_LSB_REG, ASIC_INT_PERIOD_MSB_REG);
|
||||||
}
|
}
|
||||||
// validate for tolerance
|
// validate for tolerance
|
||||||
|
@ -46,8 +46,8 @@
|
|||||||
#define DEFAULT_CURRENT_SOURCE (0)
|
#define DEFAULT_CURRENT_SOURCE (0)
|
||||||
#define DEFAULT_TIMING_SOURCE (TIMING_INTERNAL)
|
#define DEFAULT_TIMING_SOURCE (TIMING_INTERNAL)
|
||||||
|
|
||||||
#define DEFAULT_READOUT_C0 (8) //(108333336) // rdo_clk, 108 MHz
|
#define DEFAULT_READOUT_C0 (6) //(144444448) // rdo_clk, 144 MHz
|
||||||
#define DEFAULT_READOUT_C1 (8) //(108333336) // rdo_x2_clk, 108 MHz
|
#define DEFAULT_READOUT_C1 (6) //(144444448) // rdo_x2_clk, 144 MHz
|
||||||
#define DEFAULT_SYSTEM_C0 (5) //(144444448) // run_clk, 144 MHz
|
#define DEFAULT_SYSTEM_C0 (5) //(144444448) // run_clk, 144 MHz
|
||||||
#define DEFAULT_SYSTEM_C1 (10) //(72222224) // chip_clk, 72 MHz
|
#define DEFAULT_SYSTEM_C1 (10) //(72222224) // chip_clk, 72 MHz
|
||||||
#define DEFAULT_SYSTEM_C2 (5) //(144444448) // sync_clk, 144 MHz
|
#define DEFAULT_SYSTEM_C2 (5) //(144444448) // sync_clk, 144 MHz
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
#define APIGUI 0x200804
|
#define APIGUI 0x200804
|
||||||
#define APICTB 0x200810
|
#define APICTB 0x200810
|
||||||
#define APIGOTTHARD 0x200810
|
#define APIGOTTHARD 0x200810
|
||||||
#define APIGOTTHARD2 0x200810
|
|
||||||
#define APIJUNGFRAU 0x200810
|
#define APIJUNGFRAU 0x200810
|
||||||
#define APIMOENCH 0x200810
|
#define APIMOENCH 0x200810
|
||||||
#define APIEIGER 0x200831
|
#define APIEIGER 0x200831
|
||||||
#define APIMYTHEN3 0x200901
|
#define APIMYTHEN3 0x200901
|
||||||
|
#define APIGOTTHARD2 0x200902
|
||||||
|
Loading…
x
Reference in New Issue
Block a user