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
1. Topics Concerning
====================
@ -41,8 +42,6 @@ SLS Detector Package 5.0.0 released on xx.xx.2020 (Major Release)
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
incorrect after callback, expect undefined behavior.
5. Scans
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
@ -124,7 +122,7 @@ SLS Detector Package 5.0.0 released on xx.xx.2020 (Major Release)
is now
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
destination is then configured automatically. If the detector is not
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
cannot find the udp ip to get the udp mac.
Gui
---
@ -226,11 +223,8 @@ 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
-1 sets it to library defaults.
2.
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
registers. Locking has been implemented in server shared memory to resolve.
4. Firmware Requirements
========================
@ -269,11 +265,11 @@ SLS Detector Package 5.0.0 released on xx.xx.2020 (Major Release)
Moench
======
Compatible version : 10.05.2020 (v1.0)
Compatible version : 05.10.2020 (v1.0)
Ctb
===
Compatible version : 10.05.2019 (v1.0)
Compatible version : 05.10.2020 (v1.0)
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
#include "sls/Detector.h"
#include "qDefs.h"
#include "sls/Detector.h"
#include "ui_form_plot.h"
#include <mutex>
@ -63,7 +63,7 @@ class qDrawPlot : public QWidget, private Ui::PlotObject {
signals:
void AcquireFinishedSignal();
void AbortSignal();
void AbortSignal(QString);
void UpdateSignal();
private:

View File

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

View File

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

View File

@ -672,18 +672,15 @@ void qDrawPlot::AcquireThread() {
// handle it
if (!mess.empty()) {
LOG(logERROR) << "Acquisition Finished with an exception: " << mess;
qDefs::ExceptionMessage("Acquire unsuccessful.", mess,
"qDrawPlot::AcquireFinished");
// qDefs::ExceptionMessage("Acquire unsuccessful.", mess,
// "qDrawPlot::AcquireFinished");
try {
det->stopDetector();
}
CATCH_DISPLAY("Could not stop detector acquisition.",
"qDrawPlot::AcquireFinished");
try {
det->stopReceiver();
} catch (...) {
;
}
CATCH_DISPLAY("Could not stop receiver.", "qDrawPlot::AcquireFinished");
emit AbortSignal();
emit AbortSignal(QString(mess.c_str()));
}
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";
qDefs::ExceptionMessage("Acquire unsuccessful.",
exmsg.toAscii().constData(),
"qDrawPlot::AcquireFinished");
isAcquisitionStopped = true;
AcquireFinished();
}

View File

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