Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer

This commit is contained in:
maliakal_d 2020-11-17 19:23:36 +01:00
commit e852158b83
28 changed files with 31 additions and 34 deletions

View File

@ -10,6 +10,7 @@ SLS Detector Package 5.0.0 released on xx.xx.2020 (Major Release)
5. Download, Documentation & Support 5. Download, Documentation & Support
1. Topics Concerning 1. Topics Concerning
==================== ====================
@ -41,8 +42,6 @@ SLS Detector Package 5.0.0 released on xx.xx.2020 (Major Release)
2. New Features 2. New Features
=============== ===============
@ -93,7 +92,6 @@ SLS Detector Package 5.0.0 released on xx.xx.2020 (Major Release)
will only print and skip image to free it in memory. If address is will only print and skip image to free it in memory. If address is
incorrect after callback, expect undefined behavior. incorrect after callback, expect undefined behavior.
5. Scans 5. Scans
One can do scans for dacs or trimbits. Trimbits are only for Eiger or One can do scans for dacs or trimbits. Trimbits are only for Eiger or
Mythen3. Set it scan mode and then acquire using blocking or non blocking Mythen3. Set it scan mode and then acquire using blocking or non blocking
@ -124,7 +122,7 @@ SLS Detector Package 5.0.0 released on xx.xx.2020 (Major Release)
is now is now
sls_detector_get dac vcmp_ll sls_detector_get dac vcmp_ll
10. UDP Configuration 10. UDP Configuration
Once all the udp details are set in the detector, the detector's Once all the udp details are set in the detector, the detector's
destination is then configured automatically. If the detector is not destination is then configured automatically. If the detector is not
configured, it will fail when acquiring. If any of these parameters configured, it will fail when acquiring. If any of these parameters
@ -213,7 +211,6 @@ SLS Detector Package 5.0.0 released on xx.xx.2020 (Major Release)
requested for the udp mac. This helps when changing pc and the receiver requested for the udp mac. This helps when changing pc and the receiver
cannot find the udp ip to get the udp mac. cannot find the udp ip to get the udp mac.
Gui Gui
--- ---
@ -226,9 +223,6 @@ SLS Detector Package 5.0.0 released on xx.xx.2020 (Major Release)
please ensure this is set back to default to get every zmq packet. Setting it to please ensure this is set back to default to get every zmq packet. Setting it to
-1 sets it to library defaults. -1 sets it to library defaults.
2.
3. Resolved Issues 3. Resolved Issues
@ -242,6 +236,8 @@ SLS Detector Package 5.0.0 released on xx.xx.2020 (Major Release)
of server. This is due to both servers accessing the same link to get to FEB of server. This is due to both servers accessing the same link to get to FEB
registers. Locking has been implemented in server shared memory to resolve. registers. Locking has been implemented in server shared memory to resolve.
4. Firmware Requirements 4. Firmware Requirements
======================== ========================
@ -269,11 +265,11 @@ SLS Detector Package 5.0.0 released on xx.xx.2020 (Major Release)
Moench Moench
====== ======
Compatible version : 10.05.2020 (v1.0) Compatible version : 05.10.2020 (v1.0)
Ctb Ctb
=== ===
Compatible version : 10.05.2019 (v1.0) Compatible version : 05.10.2020 (v1.0)
Detector Upgrade Detector Upgrade

View File

@ -1 +0,0 @@
../slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer

View File

@ -0,0 +1 @@
../slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServerv5.0.0

View File

@ -1 +0,0 @@
../slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer

View File

@ -0,0 +1 @@
../slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServerv5.0.0

View File

@ -1 +0,0 @@
../slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer

View File

@ -0,0 +1 @@
../slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServerv5.0.0

View File

@ -1 +0,0 @@
../slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer

View File

@ -0,0 +1 @@
../slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServerv5.0.0

View File

@ -1 +0,0 @@
../slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer

View File

@ -0,0 +1 @@
../slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServerv5.0.0

View File

@ -1 +0,0 @@
../slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer

View File

@ -0,0 +1 @@
../slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServerv5.0.0

View File

@ -1 +0,0 @@
../slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer

View File

@ -0,0 +1 @@
../slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServerv5.0.0

View File

@ -1,6 +1,6 @@
#pragma once #pragma once
#include "sls/Detector.h"
#include "qDefs.h" #include "qDefs.h"
#include "sls/Detector.h"
#include "ui_form_plot.h" #include "ui_form_plot.h"
#include <mutex> #include <mutex>
@ -63,7 +63,7 @@ class qDrawPlot : public QWidget, private Ui::PlotObject {
signals: signals:
void AcquireFinishedSignal(); void AcquireFinishedSignal();
void AbortSignal(); void AbortSignal(QString);
void UpdateSignal(); void UpdateSignal();
private: private:

View File

@ -16,7 +16,7 @@ class qTabMeasurement : public QWidget, private Ui::TabMeasurementObject {
public slots: public slots:
void AcquireFinished(); void AcquireFinished();
void AbortAcquire(); void AbortAcquire(QString exmsg);
private slots: private slots:
void SetTimingMode(int val); void SetTimingMode(int val);

View File

@ -270,7 +270,8 @@ void qDetectorMain::Initialization() {
// Plotting // Plotting
connect(plot, SIGNAL(AcquireFinishedSignal()), tabMeasurement, connect(plot, SIGNAL(AcquireFinishedSignal()), tabMeasurement,
SLOT(AcquireFinished())); SLOT(AcquireFinished()));
connect(plot, SIGNAL(AbortSignal()), tabMeasurement, SLOT(AbortAcquire())); connect(plot, SIGNAL(AbortSignal(QString)), tabMeasurement,
SLOT(AbortAcquire(QString)));
// menubar // menubar
// Modes Menu // Modes Menu

View File

@ -672,18 +672,15 @@ void qDrawPlot::AcquireThread() {
// handle it // handle it
if (!mess.empty()) { if (!mess.empty()) {
LOG(logERROR) << "Acquisition Finished with an exception: " << mess; LOG(logERROR) << "Acquisition Finished with an exception: " << mess;
qDefs::ExceptionMessage("Acquire unsuccessful.", mess, // qDefs::ExceptionMessage("Acquire unsuccessful.", mess,
"qDrawPlot::AcquireFinished"); // "qDrawPlot::AcquireFinished");
try { try {
det->stopDetector(); det->stopDetector();
}
CATCH_DISPLAY("Could not stop detector acquisition.",
"qDrawPlot::AcquireFinished");
try {
det->stopReceiver(); det->stopReceiver();
} catch (...) {
;
} }
CATCH_DISPLAY("Could not stop receiver.", "qDrawPlot::AcquireFinished"); emit AbortSignal(QString(mess.c_str()));
emit AbortSignal();
} }
LOG(logDEBUG) << "End of Acquisition Finished"; LOG(logDEBUG) << "End of Acquisition Finished";
} }

View File

@ -948,8 +948,11 @@ void qTabMeasurement::AcquireFinished() {
} }
} }
void qTabMeasurement::AbortAcquire() { void qTabMeasurement::AbortAcquire(QString exmsg) {
LOG(logINFORED) << "Abort Acquire"; LOG(logINFORED) << "Abort Acquire";
qDefs::ExceptionMessage("Acquire unsuccessful.",
exmsg.toAscii().constData(),
"qDrawPlot::AcquireFinished");
isAcquisitionStopped = true; isAcquisitionStopped = true;
AcquireFinished(); AcquireFinished();
} }

View File

@ -1079,13 +1079,13 @@ int DetectorImpl::acquire() {
} }
} }
startProcessingThread(receiver);
// start receiver // start receiver
if (receiver) { if (receiver) {
Parallel(&Module::startReceiver, {}); Parallel(&Module::startReceiver, {});
} }
startProcessingThread(receiver);
// start and read all // start and read all
try { try {
Parallel(&Module::startAndReadAll, {}); Parallel(&Module::startAndReadAll, {});
@ -1126,7 +1126,7 @@ int DetectorImpl::acquire() {
(end.tv_nsec - begin.tv_nsec) / 1000000000.0) (end.tv_nsec - begin.tv_nsec) / 1000000000.0)
<< " seconds"; << " seconds";
} catch (...) { } catch (...) {
if (dataProcessingThread.joinable()){ if (dataProcessingThread.joinable()) {
setJoinThreadFlag(true); setJoinThreadFlag(true);
dataProcessingThread.join(); dataProcessingThread.join();
} }