mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-06 10:00:40 +02:00
a HUGE number of changes in measurement tab, and changes probes to be still disabled until #frames>1 and set cycles to 1 if probes >1
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@219 af1100a4-978c-4157-bff7-07162d2ba061
This commit is contained in:
parent
d6dccef65c
commit
daae091945
@ -423,7 +423,19 @@
|
|||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string><nobr>The data are accumulated over several (frames) pump-cycles. Set cycles to 1.</nobr><br> <b>Available only in Expert Mode.</b><br>#probes#</string>
|
<string><nobr>
|
||||||
|
The data are accumulated over several (frames) pump cycles.
|
||||||
|
</nobr>
|
||||||
|
<br>
|
||||||
|
<nobr> <b>
|
||||||
|
Enabled only in Expert Mode and if Number of Frames > 1.
|
||||||
|
</b></nobr>
|
||||||
|
<br>
|
||||||
|
<nobr>Setting Number of Probes will reset Number of Triggers to 1.
|
||||||
|
</nobr>
|
||||||
|
<br>
|
||||||
|
#probes#
|
||||||
|
</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Number of Probes:</string>
|
<string>Number of Probes:</string>
|
||||||
@ -442,7 +454,18 @@
|
|||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string><nobr>The data are accumulated over several (frames) pump-cycles. Set cycles to 1.</nobr><br> <b>Available only in Expert Mode.</b><br>#probes#
|
<string><nobr>
|
||||||
|
The data are accumulated over several (frames) pump cycles.
|
||||||
|
</nobr>
|
||||||
|
<br>
|
||||||
|
<nobr> <b>
|
||||||
|
Enabled only in Expert Mode and if Number of Frames > 1.
|
||||||
|
</b></nobr>
|
||||||
|
<br>
|
||||||
|
<nobr>Setting Number of Probes will reset Number of Triggers to 1.
|
||||||
|
</nobr>
|
||||||
|
<br>
|
||||||
|
#probes#
|
||||||
</string>
|
</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="statusTip">
|
<property name="statusTip">
|
||||||
|
@ -87,21 +87,16 @@ private:
|
|||||||
void SetupTimingMode();
|
void SetupTimingMode();
|
||||||
|
|
||||||
/** Sets up all the slots and signals
|
/** Sets up all the slots and signals
|
||||||
* @param timingChange only some of the signals are disconnected when timing mode is changed
|
|
||||||
* This method is to reconnect them again.
|
|
||||||
*/
|
*/
|
||||||
void Initialization(int timingChange=0);
|
void Initialization();
|
||||||
|
|
||||||
/** Disconnects all the slots and signals (which depend on timing mode)
|
|
||||||
* to retrieve all the parameters from client.
|
|
||||||
* This is done only when Timing mode is changed
|
|
||||||
*/
|
|
||||||
void DeInitialization();
|
|
||||||
|
|
||||||
/** Enables/Disables all the widgets
|
/** Enables/Disables all the widgets
|
||||||
*/
|
*/
|
||||||
void Enable(bool enable);
|
void Enable(bool enable);
|
||||||
|
|
||||||
|
/** Validates before enabling or disabling probes */
|
||||||
|
void EnableProbes();
|
||||||
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
/** Sets the timing mode
|
/** Sets the timing mode
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
#define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui"
|
#define SVNURL "file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui"
|
||||||
//#define SVNREPPATH ""
|
//#define SVNREPPATH ""
|
||||||
#define SVNREPUUID "af1100a4-978c-4157-bff7-07162d2ba061"
|
#define SVNREPUUID "af1100a4-978c-4157-bff7-07162d2ba061"
|
||||||
//#define SVNREV 0x200
|
//#define SVNREV 0x218
|
||||||
//#define SVNKIND ""
|
//#define SVNKIND ""
|
||||||
//#define SVNSCHED ""
|
//#define SVNSCHED ""
|
||||||
#define SVNAUTH "l_maliakal_d"
|
#define SVNAUTH "l_maliakal_d"
|
||||||
#define SVNREV 0x200
|
#define SVNREV 0x218
|
||||||
#define SVNDATE 0x20130711
|
#define SVNDATE 0x20130807
|
||||||
//
|
//
|
||||||
|
@ -49,15 +49,48 @@ qTabMeasurement::~qTabMeasurement(){
|
|||||||
void qTabMeasurement::SetupWidgetWindow(){
|
void qTabMeasurement::SetupWidgetWindow(){
|
||||||
//Number of measurements
|
//Number of measurements
|
||||||
spinNumMeasurements->setValue((int)myDet->setTimer(slsDetectorDefs::MEASUREMENTS_NUMBER,-1));
|
spinNumMeasurements->setValue((int)myDet->setTimer(slsDetectorDefs::MEASUREMENTS_NUMBER,-1));
|
||||||
|
//Number of frames
|
||||||
//Timer to update the progress bar
|
spinNumFrames->setValue((int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,-1));
|
||||||
progressTimer = new QTimer(this);
|
|
||||||
//btnStartStop->setStyleSheet("color:green");
|
|
||||||
//Exp Time
|
//Exp Time
|
||||||
qDefs::timeUnit unit;
|
qDefs::timeUnit unit;
|
||||||
double time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::ACQUISITION_TIME,-1)*(1E-9))));
|
double time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::ACQUISITION_TIME,-1)*(1E-9))));
|
||||||
spinExpTime->setValue(time);
|
spinExpTime->setValue(time);
|
||||||
comboExpUnit->setCurrentIndex((int)unit);
|
comboExpUnit->setCurrentIndex((int)unit);
|
||||||
|
//period
|
||||||
|
time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::FRAME_PERIOD,-1)*(1E-9))));
|
||||||
|
spinPeriod->setValue(time);
|
||||||
|
comboPeriodUnit->setCurrentIndex((int)unit);
|
||||||
|
//Number of Triggers
|
||||||
|
spinNumTriggers->setValue((int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,-1));
|
||||||
|
//delay
|
||||||
|
time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::DELAY_AFTER_TRIGGER,-1)*(1E-9))));
|
||||||
|
spinDelay->setValue(time);
|
||||||
|
comboDelayUnit->setCurrentIndex((int)unit);
|
||||||
|
//gates
|
||||||
|
spinNumGates->setValue((int)myDet->setTimer(slsDetectorDefs::GATES_NUMBER,-1));
|
||||||
|
//probes
|
||||||
|
spinNumProbes->setValue((int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,-1));
|
||||||
|
//File Name
|
||||||
|
dispFileName->setText(QString(myDet->getFileName().c_str()));
|
||||||
|
//File Index
|
||||||
|
spinIndex->setValue(myDet->getFileIndex());
|
||||||
|
//only initially
|
||||||
|
lblProgressIndex->setText(QString::number(0));
|
||||||
|
//ly initially
|
||||||
|
progressBar->setValue(0);
|
||||||
|
//file write enabled/disabled
|
||||||
|
chkFile->setChecked(myDet->enableWriteToFile());
|
||||||
|
dispFileName->setEnabled(myDet->enableWriteToFile());
|
||||||
|
|
||||||
|
|
||||||
|
//creating the icons for the buttons
|
||||||
|
iconStart = new QIcon(":/icons/images/start.png");
|
||||||
|
iconStop = new QIcon(":/icons/images/stop.png");
|
||||||
|
|
||||||
|
|
||||||
|
//Timer to update the progress bar
|
||||||
|
progressTimer = new QTimer(this);
|
||||||
|
|
||||||
//Hide the error message
|
//Hide the error message
|
||||||
red = QPalette();
|
red = QPalette();
|
||||||
red.setColor(QPalette::Active,QPalette::WindowText,Qt::red);
|
red.setColor(QPalette::Active,QPalette::WindowText,Qt::red);
|
||||||
@ -67,25 +100,7 @@ void qTabMeasurement::SetupWidgetWindow(){
|
|||||||
QString("<nobr><font color=\"red\"><b>Acquisition Period</b> should be"
|
QString("<nobr><font color=\"red\"><b>Acquisition Period</b> should be"
|
||||||
" greater than or equal to <b>Exposure Time</b>.</font></nobr>");
|
" greater than or equal to <b>Exposure Time</b>.</font></nobr>");
|
||||||
|
|
||||||
//File Name
|
|
||||||
dispFileName->setText(QString(myDet->getFileName().c_str()));
|
|
||||||
//File Index
|
|
||||||
spinIndex->setValue(myDet->getFileIndex());
|
|
||||||
//only initially
|
|
||||||
lblProgressIndex->setText(QString::number(0));
|
|
||||||
//ly initially
|
|
||||||
progressBar->setValue(0);
|
|
||||||
|
|
||||||
//file write enabled/disabled
|
|
||||||
chkFile->setChecked(myDet->enableWriteToFile());
|
|
||||||
dispFileName->setEnabled(myDet->enableWriteToFile());
|
|
||||||
|
|
||||||
//creating the icons for the buttons
|
|
||||||
iconStart = new QIcon(":/icons/images/start.png");
|
|
||||||
iconStop = new QIcon(":/icons/images/stop.png");
|
|
||||||
|
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::SetupWidgetWindow");
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::SetupWidgetWindow");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -94,17 +109,9 @@ void qTabMeasurement::SetupWidgetWindow(){
|
|||||||
|
|
||||||
void qTabMeasurement::SetExpertMode(bool enable){
|
void qTabMeasurement::SetExpertMode(bool enable){
|
||||||
expertMode = enable;
|
expertMode = enable;
|
||||||
lblNumProbes->setEnabled(enable);
|
|
||||||
spinNumProbes->setEnabled(enable);
|
|
||||||
//Number of Probes
|
|
||||||
if((enable)&&(myDet->getDetectorsType()==slsDetectorDefs::MYTHEN)){
|
|
||||||
int val = (int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,-1);
|
|
||||||
spinNumProbes->setValue(val);
|
|
||||||
#ifdef VERBOSE
|
|
||||||
cout << "Getting number of probes : " << val << endl;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::SetExpertMode");
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::SetExpertMode");
|
||||||
|
|
||||||
|
EnableProbes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -163,8 +170,8 @@ void qTabMeasurement::SetupTimingMode(){
|
|||||||
// then the timing mode is 'None'.
|
// then the timing mode is 'None'.
|
||||||
// This is for the inexperienced user
|
// This is for the inexperienced user
|
||||||
if(mode==slsDetectorDefs::AUTO_TIMING){
|
if(mode==slsDetectorDefs::AUTO_TIMING){
|
||||||
int frames = (int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,-1);
|
int frames = spinNumFrames->value();
|
||||||
int triggers = (int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,-1);
|
int triggers = spinNumTriggers->value();
|
||||||
if((frames==1)&&(triggers==1)){
|
if((frames==1)&&(triggers==1)){
|
||||||
comboTimingMode->setCurrentIndex((int)None);
|
comboTimingMode->setCurrentIndex((int)None);
|
||||||
SetTimingMode((int)None);
|
SetTimingMode((int)None);
|
||||||
@ -206,24 +213,21 @@ void qTabMeasurement::SetupTimingMode(){
|
|||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::Initialization(int timingChange){
|
void qTabMeasurement::Initialization(){
|
||||||
//These signals are connected only at start up. The others are reinitialized when changing timing mode
|
//Number of Measurements
|
||||||
if(!timingChange){
|
connect(spinNumMeasurements,SIGNAL(valueChanged(int)), this, SLOT(setNumMeasurements(int)));
|
||||||
//Number of Measurements
|
//File Name
|
||||||
connect(spinNumMeasurements,SIGNAL(valueChanged(int)), this, SLOT(setNumMeasurements(int)));
|
connect(dispFileName, SIGNAL(textChanged(const QString&)),this, SLOT(setFileName(const QString&)));
|
||||||
//File Name
|
//File Index
|
||||||
connect(dispFileName, SIGNAL(textChanged(const QString&)),this, SLOT(setFileName(const QString&)));
|
connect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
||||||
//File Index
|
//Start/Stop Acquisition
|
||||||
connect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
connect(btnStartStop, SIGNAL(clicked()), this, SLOT(startStopAcquisition()));
|
||||||
//Start/Stop Acquisition
|
//Timing Mode
|
||||||
connect(btnStartStop, SIGNAL(clicked()), this, SLOT(startStopAcquisition()));
|
connect(comboTimingMode, SIGNAL(currentIndexChanged(int)), this, SLOT(SetTimingMode(int)));//
|
||||||
//Timing Mode
|
//progress bar
|
||||||
connect(comboTimingMode, SIGNAL(currentIndexChanged(int)), this, SLOT(SetTimingMode(int)));//
|
connect(progressTimer, SIGNAL(timeout()), this, SLOT(UpdateProgress()));
|
||||||
//progress bar
|
//enable write to file
|
||||||
connect(progressTimer, SIGNAL(timeout()), this, SLOT(UpdateProgress()));
|
connect(chkFile, SIGNAL(toggled(bool)), this, SLOT(EnableFileWrite(bool)));
|
||||||
//enable write to file
|
|
||||||
connect(chkFile, SIGNAL(toggled(bool)), this, SLOT(EnableFileWrite(bool)));
|
|
||||||
}
|
|
||||||
//Number of Frames
|
//Number of Frames
|
||||||
connect(spinNumFrames,SIGNAL(valueChanged(int)), this, SLOT(setNumFrames(int)));
|
connect(spinNumFrames,SIGNAL(valueChanged(int)), this, SLOT(setNumFrames(int)));
|
||||||
//Exposure Time
|
//Exposure Time
|
||||||
@ -247,37 +251,10 @@ void qTabMeasurement::Initialization(int timingChange){
|
|||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::DeInitialization(){
|
|
||||||
//Number of Frames
|
|
||||||
disconnect(spinNumFrames,SIGNAL(valueChanged(int)), this, SLOT(setNumFrames(int)));
|
|
||||||
//Exposure Time
|
|
||||||
disconnect(spinExpTime,SIGNAL(valueChanged(double)), this, SLOT(setExposureTime()));//..myplot
|
|
||||||
disconnect(comboExpUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setExposureTime()));
|
|
||||||
//Frame Period between exposures
|
|
||||||
disconnect(spinPeriod,SIGNAL(valueChanged(double)), this, SLOT(setAcquisitionPeriod()));//..myplot
|
|
||||||
disconnect(comboPeriodUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setAcquisitionPeriod()));
|
|
||||||
//Number of Triggers
|
|
||||||
disconnect(spinNumTriggers,SIGNAL(valueChanged(int)), this, SLOT(setNumTriggers(int)));
|
|
||||||
//Delay After Trigger
|
|
||||||
disconnect(spinDelay,SIGNAL(valueChanged(double)), this, SLOT(setDelay()));
|
|
||||||
disconnect(comboDelayUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setDelay()));
|
|
||||||
//Number of Gates
|
|
||||||
disconnect(spinNumGates,SIGNAL(valueChanged(int)), this, SLOT(setNumGates(int)));
|
|
||||||
//Number of Probes
|
|
||||||
disconnect(spinNumProbes,SIGNAL(valueChanged(int)), this, SLOT(setNumProbes(int)));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::Enable(bool enable){
|
void qTabMeasurement::Enable(bool enable){
|
||||||
frameTimeResolved->setEnabled(enable);
|
frameTimeResolved->setEnabled(enable);
|
||||||
frameNotTimeResolved->setEnabled(enable);
|
frameNotTimeResolved->setEnabled(enable);
|
||||||
|
|
||||||
//Enable this always
|
|
||||||
//if(!enable) btnStartStop->setEnabled(true);
|
|
||||||
|
|
||||||
//shortcut each time, else it doesnt work a second time
|
//shortcut each time, else it doesnt work a second time
|
||||||
btnStartStop->setShortcut(QApplication::translate("TabMeasurementObject", "Shift+Space", 0, QApplication::UnicodeUTF8));
|
btnStartStop->setShortcut(QApplication::translate("TabMeasurementObject", "Shift+Space", 0, QApplication::UnicodeUTF8));
|
||||||
}
|
}
|
||||||
@ -286,28 +263,6 @@ void qTabMeasurement::Enable(bool enable){
|
|||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::setFileName(const QString& fName){
|
|
||||||
myDet->setFileName(fName.toAscii().data());
|
|
||||||
#ifdef VERBOSE
|
|
||||||
cout << "Setting File name to " << myDet->getFileName() << endl;
|
|
||||||
#endif
|
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setFileName");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
void qTabMeasurement::setRunIndex(int index){
|
|
||||||
myDet->setFileIndex(index);
|
|
||||||
#ifdef VERBOSE
|
|
||||||
cout << "Setting File Index to " << myDet->getFileIndex() << endl;
|
|
||||||
#endif
|
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setRunIndex");
|
|
||||||
}
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::startStopAcquisition(){
|
void qTabMeasurement::startStopAcquisition(){
|
||||||
if(btnStartStop->isChecked()){
|
if(btnStartStop->isChecked()){
|
||||||
|
|
||||||
@ -349,14 +304,12 @@ void qTabMeasurement::startStopAcquisition(){
|
|||||||
myDet->stopAcquisition();
|
myDet->stopAcquisition();
|
||||||
/* commented out to prevent undefined state
|
/* commented out to prevent undefined state
|
||||||
myDet->waitForReceiverReadToFinish();
|
myDet->waitForReceiverReadToFinish();
|
||||||
|
|
||||||
UpdateProgress();
|
UpdateProgress();
|
||||||
//spin index
|
//spin index
|
||||||
disconnect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
disconnect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
||||||
spinIndex->setValue(myDet->getFileIndex());
|
spinIndex->setValue(myDet->getFileIndex());
|
||||||
connect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
connect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
||||||
progressTimer->stop();
|
progressTimer->stop();
|
||||||
|
|
||||||
btnStartStop->setText("Start");
|
btnStartStop->setText("Start");
|
||||||
btnStartStop->setIcon(*iconStart);
|
btnStartStop->setIcon(*iconStart);
|
||||||
btnStartStop->setChecked(false);
|
btnStartStop->setChecked(false);
|
||||||
@ -370,23 +323,18 @@ void qTabMeasurement::startStopAcquisition(){
|
|||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::UpdateFinished(){
|
void qTabMeasurement::UpdateFinished(){
|
||||||
//if(btnStartStop->isChecked()){
|
UpdateProgress();
|
||||||
|
disconnect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
||||||
|
spinIndex->setValue(myDet->getFileIndex());
|
||||||
|
connect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
||||||
|
progressTimer->stop();
|
||||||
|
|
||||||
UpdateProgress();
|
disconnect(btnStartStop,SIGNAL(clicked()),this,SLOT(startStopAcquisition()));
|
||||||
disconnect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
btnStartStop->setText("Start");
|
||||||
spinIndex->setValue(myDet->getFileIndex());
|
btnStartStop->setIcon(*iconStart);
|
||||||
connect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
btnStartStop->setChecked(false);
|
||||||
progressTimer->stop();
|
Enable(1);
|
||||||
|
connect(btnStartStop,SIGNAL(clicked()),this,SLOT(startStopAcquisition()));
|
||||||
disconnect(btnStartStop,SIGNAL(clicked()),this,SLOT(startStopAcquisition()));
|
|
||||||
btnStartStop->setText("Start");
|
|
||||||
btnStartStop->setIcon(*iconStart);
|
|
||||||
btnStartStop->setChecked(false);
|
|
||||||
Enable(1);
|
|
||||||
connect(btnStartStop,SIGNAL(clicked()),this,SLOT(startStopAcquisition()));
|
|
||||||
|
|
||||||
|
|
||||||
//}
|
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::UpdateFinished");
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::UpdateFinished");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -413,11 +361,48 @@ void qTabMeasurement::UpdateProgress(){
|
|||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::setNumMeasurements(int val){
|
void qTabMeasurement::setFileName(const QString& fName){
|
||||||
myDet->setTimer(slsDetectorDefs::MEASUREMENTS_NUMBER,val);
|
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Setting Number of Measurements to " << (int)myDet->setTimer(slsDetectorDefs::MEASUREMENTS_NUMBER,-1) << endl;
|
cout << "Setting File name to " << fName.toAscii().constData() << endl;
|
||||||
#endif
|
#endif
|
||||||
|
myDet->setFileName(fName.toAscii().data());
|
||||||
|
|
||||||
|
disconnect(dispFileName, SIGNAL(textChanged(const QString&)),this, SLOT(setFileName(const QString&)));
|
||||||
|
dispFileName->setText(QString(myDet->getFileName().c_str()));
|
||||||
|
connect(dispFileName, SIGNAL(textChanged(const QString&)),this, SLOT(setFileName(const QString&)));
|
||||||
|
|
||||||
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setFileName");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void qTabMeasurement::setRunIndex(int index){
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Setting File Index to " << index << endl;
|
||||||
|
#endif
|
||||||
|
myDet->setFileIndex(index);
|
||||||
|
|
||||||
|
disconnect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
||||||
|
spinIndex->setValue(myDet->getFileIndex());
|
||||||
|
connect(spinIndex, SIGNAL(valueChanged(int)), this, SLOT(setRunIndex(int)));
|
||||||
|
|
||||||
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setRunIndex");
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
void qTabMeasurement::setNumMeasurements(int val){
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Setting Number of Measurements to " << val << endl;
|
||||||
|
#endif
|
||||||
|
myDet->setTimer(slsDetectorDefs::MEASUREMENTS_NUMBER,val);
|
||||||
|
|
||||||
|
disconnect(spinNumMeasurements,SIGNAL(valueChanged(int)), this, SLOT(setNumMeasurements(int)));
|
||||||
|
spinNumMeasurements->setValue((int)myDet->setTimer(slsDetectorDefs::MEASUREMENTS_NUMBER,-1));
|
||||||
|
connect(spinNumMeasurements,SIGNAL(valueChanged(int)), this, SLOT(setNumMeasurements(int)));
|
||||||
|
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setNumMeasurements");
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setNumMeasurements");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -426,11 +411,18 @@ void qTabMeasurement::setNumMeasurements(int val){
|
|||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::setNumFrames(int val){
|
void qTabMeasurement::setNumFrames(int val){
|
||||||
myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,val);
|
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Setting number of frames to " << (int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,-1) << endl;
|
cout << "Setting number of frames to " << val << endl;
|
||||||
#endif
|
#endif
|
||||||
|
myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,val);
|
||||||
|
|
||||||
|
disconnect(spinNumFrames,SIGNAL(valueChanged(int)), this, SLOT(setNumFrames(int)));
|
||||||
|
spinNumFrames->setValue((int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,-1));
|
||||||
|
connect(spinNumFrames,SIGNAL(valueChanged(int)), this, SLOT(setNumFrames(int)));
|
||||||
|
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setNumFrames");
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setNumFrames");
|
||||||
|
|
||||||
|
EnableProbes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -438,17 +430,28 @@ void qTabMeasurement::setNumFrames(int val){
|
|||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::setExposureTime(){
|
void qTabMeasurement::setExposureTime(){
|
||||||
double exptimeNS;
|
|
||||||
//Get the value of timer in ns
|
//Get the value of timer in ns
|
||||||
exptimeNS = qDefs::getNSTime((qDefs::timeUnit)comboExpUnit->currentIndex(),spinExpTime->value());
|
double exptimeNS = qDefs::getNSTime((qDefs::timeUnit)comboExpUnit->currentIndex(),spinExpTime->value());
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Setting acquisition time to " << exptimeNS << " clocks" << "/" << spinExpTime->value() << qDefs::getUnitString((qDefs::timeUnit)comboExpUnit->currentIndex()) << endl;
|
cout << "Setting acquisition time to " << exptimeNS << " clocks" << "/" << spinExpTime->value() << qDefs::getUnitString((qDefs::timeUnit)comboExpUnit->currentIndex()) << endl;
|
||||||
#endif
|
#endif
|
||||||
myDet->setTimer(slsDetectorDefs::ACQUISITION_TIME,(int64_t)exptimeNS);
|
myDet->setTimer(slsDetectorDefs::ACQUISITION_TIME,(int64_t)exptimeNS);
|
||||||
|
|
||||||
|
//updating value set
|
||||||
|
disconnect(spinExpTime,SIGNAL(valueChanged(double)), this, SLOT(setExposureTime()));
|
||||||
|
disconnect(comboExpUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setExposureTime()));
|
||||||
|
qDefs::timeUnit unit;
|
||||||
|
double time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::ACQUISITION_TIME,-1)*(1E-9))));
|
||||||
|
spinExpTime->setValue(time);
|
||||||
|
comboExpUnit->setCurrentIndex((int)unit);
|
||||||
|
connect(spinExpTime,SIGNAL(valueChanged(double)), this, SLOT(setExposureTime()));
|
||||||
|
connect(comboExpUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setExposureTime()));
|
||||||
|
|
||||||
|
//could be different if it didnt work
|
||||||
|
exptimeNS = qDefs::getNSTime((qDefs::timeUnit)comboExpUnit->currentIndex(),spinExpTime->value());
|
||||||
|
|
||||||
if(lblPeriod->isEnabled()){
|
if(lblPeriod->isEnabled()){
|
||||||
double acqtimeNS;
|
double acqtimeNS = qDefs::getNSTime((qDefs::timeUnit)comboPeriodUnit->currentIndex(),spinPeriod->value());
|
||||||
acqtimeNS = qDefs::getNSTime((qDefs::timeUnit)comboPeriodUnit->currentIndex(),spinPeriod->value());
|
|
||||||
if(exptimeNS>acqtimeNS) {
|
if(exptimeNS>acqtimeNS) {
|
||||||
spinPeriod->setToolTip(errPeriodTip);
|
spinPeriod->setToolTip(errPeriodTip);
|
||||||
lblPeriod->setToolTip(errPeriodTip);
|
lblPeriod->setToolTip(errPeriodTip);
|
||||||
@ -470,16 +473,27 @@ void qTabMeasurement::setExposureTime(){
|
|||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::setAcquisitionPeriod(){
|
void qTabMeasurement::setAcquisitionPeriod(){
|
||||||
double acqtimeNS;
|
|
||||||
//Get the value of timer in ns
|
//Get the value of timer in ns
|
||||||
acqtimeNS = qDefs::getNSTime((qDefs::timeUnit)comboPeriodUnit->currentIndex(),spinPeriod->value());
|
double acqtimeNS = qDefs::getNSTime((qDefs::timeUnit)comboPeriodUnit->currentIndex(),spinPeriod->value());
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Setting frame period between exposures to " << acqtimeNS << " clocks"<< "/" << spinPeriod->value() << qDefs::getUnitString((qDefs::timeUnit)comboPeriodUnit->currentIndex()) << endl;
|
cout << "Setting frame period between exposures to " << acqtimeNS << " clocks"<< "/" << spinPeriod->value() << qDefs::getUnitString((qDefs::timeUnit)comboPeriodUnit->currentIndex()) << endl;
|
||||||
#endif
|
#endif
|
||||||
myDet->setTimer(slsDetectorDefs::FRAME_PERIOD,(int64_t)acqtimeNS);
|
myDet->setTimer(slsDetectorDefs::FRAME_PERIOD,(int64_t)acqtimeNS);
|
||||||
|
|
||||||
double exptimeNS;
|
//updating value set
|
||||||
exptimeNS = qDefs::getNSTime((qDefs::timeUnit)comboExpUnit->currentIndex(),spinExpTime->value());
|
disconnect(spinPeriod,SIGNAL(valueChanged(double)), this, SLOT(setAcquisitionPeriod()));
|
||||||
|
disconnect(comboPeriodUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setAcquisitionPeriod()));
|
||||||
|
qDefs::timeUnit unit;
|
||||||
|
double time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::FRAME_PERIOD,-1)*(1E-9))));
|
||||||
|
spinPeriod->setValue(time);
|
||||||
|
comboPeriodUnit->setCurrentIndex((int)unit);
|
||||||
|
connect(spinPeriod,SIGNAL(valueChanged(double)), this, SLOT(setAcquisitionPeriod()));
|
||||||
|
connect(comboPeriodUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setAcquisitionPeriod()));
|
||||||
|
|
||||||
|
//could be different if it didnt work
|
||||||
|
acqtimeNS = qDefs::getNSTime((qDefs::timeUnit)comboPeriodUnit->currentIndex(),spinPeriod->value());
|
||||||
|
|
||||||
|
double exptimeNS = qDefs::getNSTime((qDefs::timeUnit)comboExpUnit->currentIndex(),spinExpTime->value());
|
||||||
if(exptimeNS>acqtimeNS){
|
if(exptimeNS>acqtimeNS){
|
||||||
spinPeriod->setToolTip(errPeriodTip);
|
spinPeriod->setToolTip(errPeriodTip);
|
||||||
lblPeriod->setToolTip(errPeriodTip);
|
lblPeriod->setToolTip(errPeriodTip);
|
||||||
@ -503,10 +517,15 @@ void qTabMeasurement::setAcquisitionPeriod(){
|
|||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::setNumTriggers(int val){
|
void qTabMeasurement::setNumTriggers(int val){
|
||||||
myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,val);
|
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Setting number of triggers to " << (int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,-1) << endl;
|
cout << "Setting number of triggers to " << val << endl;
|
||||||
#endif
|
#endif
|
||||||
|
myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,val);
|
||||||
|
|
||||||
|
disconnect(spinNumTriggers,SIGNAL(valueChanged(int)), this, SLOT(setNumTriggers(int)));
|
||||||
|
spinNumTriggers->setValue((int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,-1));
|
||||||
|
connect(spinNumTriggers,SIGNAL(valueChanged(int)), this, SLOT(setNumTriggers(int)));
|
||||||
|
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setNumTriggers");
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setNumTriggers");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -515,13 +534,24 @@ void qTabMeasurement::setNumTriggers(int val){
|
|||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::setDelay(){
|
void qTabMeasurement::setDelay(){
|
||||||
double exptimeNS;
|
|
||||||
//Get the value of timer in ns
|
//Get the value of timer in ns
|
||||||
exptimeNS = qDefs::getNSTime((qDefs::timeUnit)comboDelayUnit->currentIndex(),spinDelay->value());
|
double exptimeNS = qDefs::getNSTime((qDefs::timeUnit)comboDelayUnit->currentIndex(),spinDelay->value());
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Setting delay after trigger to " << exptimeNS << " clocks" << "/" << spinDelay->value() << qDefs::getUnitString((qDefs::timeUnit)comboDelayUnit->currentIndex()) << endl;
|
cout << "Setting delay after trigger to " << exptimeNS << " clocks" << "/" << spinDelay->value() << qDefs::getUnitString((qDefs::timeUnit)comboDelayUnit->currentIndex()) << endl;
|
||||||
#endif
|
#endif
|
||||||
myDet->setTimer(slsDetectorDefs::DELAY_AFTER_TRIGGER,(int64_t)exptimeNS);
|
myDet->setTimer(slsDetectorDefs::DELAY_AFTER_TRIGGER,(int64_t)exptimeNS);
|
||||||
|
|
||||||
|
//updating value set
|
||||||
|
disconnect(spinDelay,SIGNAL(valueChanged(double)), this, SLOT(setDelay()));
|
||||||
|
disconnect(comboDelayUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setDelay()));
|
||||||
|
qDefs::timeUnit unit;
|
||||||
|
double time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::DELAY_AFTER_TRIGGER,-1)*(1E-9))));
|
||||||
|
spinDelay->setValue(time);
|
||||||
|
comboDelayUnit->setCurrentIndex((int)unit);
|
||||||
|
connect(spinDelay,SIGNAL(valueChanged(double)), this, SLOT(setDelay()));
|
||||||
|
connect(comboDelayUnit,SIGNAL(currentIndexChanged(int)), this, SLOT(setDelay()));
|
||||||
|
|
||||||
|
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setDelay");
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setDelay");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -530,10 +560,15 @@ void qTabMeasurement::setDelay(){
|
|||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::setNumGates(int val){
|
void qTabMeasurement::setNumGates(int val){
|
||||||
myDet->setTimer(slsDetectorDefs::GATES_NUMBER,val);
|
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Setting number of gates to " << (int)myDet->setTimer(slsDetectorDefs::GATES_NUMBER,-1) << endl;
|
cout << "Setting number of gates to " << val << endl;
|
||||||
#endif
|
#endif
|
||||||
|
myDet->setTimer(slsDetectorDefs::GATES_NUMBER,val);
|
||||||
|
|
||||||
|
disconnect(spinNumGates,SIGNAL(valueChanged(int)), this, SLOT(setNumGates(int)));
|
||||||
|
spinNumGates->setValue((int)myDet->setTimer(slsDetectorDefs::GATES_NUMBER,-1));
|
||||||
|
connect(spinNumGates,SIGNAL(valueChanged(int)), this, SLOT(setNumGates(int)));
|
||||||
|
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setNumGates");
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setNumGates");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -542,10 +577,24 @@ void qTabMeasurement::setNumGates(int val){
|
|||||||
|
|
||||||
|
|
||||||
void qTabMeasurement::setNumProbes(int val){
|
void qTabMeasurement::setNumProbes(int val){
|
||||||
myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,val);
|
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Setting number of frames to " << (int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,-1) << endl;
|
cout << "Setting number of probes to " << val << endl;
|
||||||
#endif
|
#endif
|
||||||
|
myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,val);
|
||||||
|
|
||||||
|
disconnect(spinNumProbes,SIGNAL(valueChanged(int)), this, SLOT(setNumProbes(int)));
|
||||||
|
spinNumProbes->setValue((int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,-1));
|
||||||
|
connect(spinNumProbes,SIGNAL(valueChanged(int)), this, SLOT(setNumProbes(int)));
|
||||||
|
|
||||||
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setNumProbes");
|
||||||
|
|
||||||
|
//Setting number of probes should reset number of triggers to 1, need to check if enabled, cuz its updated when refresh
|
||||||
|
if((spinNumProbes->isEnabled()) && (val > 0) && (spinNumTriggers->value() != 1)){
|
||||||
|
qDefs::Message(qDefs::INFORMATION,"<nobr>Number of Triggers has been reset to 1.</nobr><br>"
|
||||||
|
"<nobr>This is mandatory to use probes.</nobr>","qTabMeasurement::setNumProbes");
|
||||||
|
cout << "Resetting Number of triggers to 1" << endl;
|
||||||
|
spinNumTriggers->setValue(1);
|
||||||
|
}
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setNumProbes");
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::setNumProbes");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -570,13 +619,13 @@ void qTabMeasurement::SetTimingMode(int mode){
|
|||||||
switch(mode){
|
switch(mode){
|
||||||
case None://Exposure Time
|
case None://Exposure Time
|
||||||
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
|
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
|
||||||
setNumFrames(1);
|
spinNumTriggers->setValue(1);
|
||||||
setNumTriggers(1);
|
spinNumFrames->setValue(1);
|
||||||
if(myDet->setExternalCommunicationMode(slsDetectorDefs::AUTO_TIMING)==slsDetectorDefs::AUTO_TIMING)
|
if(myDet->setExternalCommunicationMode(slsDetectorDefs::AUTO_TIMING)==slsDetectorDefs::AUTO_TIMING)
|
||||||
success = true;
|
success = true;
|
||||||
break;
|
break;
|
||||||
case Auto://#Frames, ExpTime, Period
|
case Auto://#Frames, ExpTime, Period
|
||||||
setNumTriggers(1);
|
spinNumTriggers->setValue(1);
|
||||||
lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true);
|
lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true);
|
||||||
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
|
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
|
||||||
lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true);
|
lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true);
|
||||||
@ -593,14 +642,14 @@ void qTabMeasurement::SetTimingMode(int mode){
|
|||||||
success = true;
|
success = true;
|
||||||
break;
|
break;
|
||||||
case Trigger_Frame://ExpTime, #Triggers
|
case Trigger_Frame://ExpTime, #Triggers
|
||||||
setNumFrames(1);
|
spinNumFrames->setValue(1);
|
||||||
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
|
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
|
||||||
lblNumTriggers->setEnabled(true); spinNumTriggers->setEnabled(true);
|
lblNumTriggers->setEnabled(true); spinNumTriggers->setEnabled(true);
|
||||||
if(myDet->setExternalCommunicationMode(slsDetectorDefs::TRIGGER_FRAME)==slsDetectorDefs::TRIGGER_FRAME)
|
if(myDet->setExternalCommunicationMode(slsDetectorDefs::TRIGGER_FRAME)==slsDetectorDefs::TRIGGER_FRAME)
|
||||||
success = true;
|
success = true;
|
||||||
break;
|
break;
|
||||||
case Trigger_Readout://#Frames, ExpTime, Period, Delay
|
case Trigger_Readout://#Frames, ExpTime, Period, Delay
|
||||||
setNumTriggers(1);
|
spinNumTriggers->setValue(1);
|
||||||
lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true);
|
lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true);
|
||||||
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
|
lblExpTime->setEnabled(true); spinExpTime->setEnabled(true); comboExpUnit->setEnabled(true);
|
||||||
lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true);
|
lblPeriod->setEnabled(true); spinPeriod->setEnabled(true); comboPeriodUnit->setEnabled(true);
|
||||||
@ -609,7 +658,7 @@ void qTabMeasurement::SetTimingMode(int mode){
|
|||||||
success = true;
|
success = true;
|
||||||
break;
|
break;
|
||||||
case Gated://#Frames, #Gates
|
case Gated://#Frames, #Gates
|
||||||
setNumTriggers(1);
|
spinNumTriggers->setValue(1);
|
||||||
lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true);
|
lblNumFrames->setEnabled(true); spinNumFrames->setEnabled(true);
|
||||||
lblNumGates->setEnabled(true); spinNumGates->setEnabled(true);
|
lblNumGates->setEnabled(true); spinNumGates->setEnabled(true);
|
||||||
if(myDet->setExternalCommunicationMode(slsDetectorDefs::GATE_FIX_NUMBER)==slsDetectorDefs::GATE_FIX_NUMBER)
|
if(myDet->setExternalCommunicationMode(slsDetectorDefs::GATE_FIX_NUMBER)==slsDetectorDefs::GATE_FIX_NUMBER)
|
||||||
@ -625,7 +674,7 @@ void qTabMeasurement::SetTimingMode(int mode){
|
|||||||
success = true;
|
success = true;
|
||||||
break;
|
break;
|
||||||
case Trigger_Window://#Triggers
|
case Trigger_Window://#Triggers
|
||||||
setNumFrames(1);
|
spinNumFrames->setValue(1);
|
||||||
lblNumTriggers->setEnabled(true); spinNumTriggers->setEnabled(true);
|
lblNumTriggers->setEnabled(true); spinNumTriggers->setEnabled(true);
|
||||||
if(myDet->setExternalCommunicationMode(slsDetectorDefs::TRIGGER_WINDOW)==slsDetectorDefs::TRIGGER_WINDOW)
|
if(myDet->setExternalCommunicationMode(slsDetectorDefs::TRIGGER_WINDOW)==slsDetectorDefs::TRIGGER_WINDOW)
|
||||||
success = true;
|
success = true;
|
||||||
@ -642,53 +691,18 @@ void qTabMeasurement::SetTimingMode(int mode){
|
|||||||
"Please check the external flags."
|
"Please check the external flags."
|
||||||
"\n\nSetting the following defaults:\nTiming Mode \t: None\n"
|
"\n\nSetting the following defaults:\nTiming Mode \t: None\n"
|
||||||
"Number of Frames \t: 1\nNumber of Triggers \t: 1","qTabMeasurement::SetTimingMode");
|
"Number of Frames \t: 1\nNumber of Triggers \t: 1","qTabMeasurement::SetTimingMode");
|
||||||
|
spinNumFrames->setValue(1);
|
||||||
|
spinNumTriggers->setValue(1);
|
||||||
comboTimingMode->setCurrentIndex((int)None);
|
comboTimingMode->setCurrentIndex((int)None);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//Number of Probes
|
|
||||||
if((expertMode)&&(myDet->getDetectorsType()==slsDetectorDefs::MYTHEN)){
|
|
||||||
lblNumProbes->setEnabled(true); spinNumProbes->setEnabled(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//To disconnect all the signals before changing their values
|
|
||||||
DeInitialization();
|
|
||||||
|
|
||||||
|
|
||||||
double time;
|
|
||||||
int val;
|
|
||||||
qDefs::timeUnit unit;
|
|
||||||
//Number of Frames
|
|
||||||
if(lblNumFrames->isEnabled()){
|
|
||||||
val = (int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,-1);
|
|
||||||
spinNumFrames->setValue(val);
|
|
||||||
#ifdef VERBOSE
|
|
||||||
cout << "Getting number of frames : " << val <<endl;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
//Exposure Time
|
|
||||||
if(lblExpTime->isEnabled()){
|
|
||||||
time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::ACQUISITION_TIME,-1)*(1E-9))));
|
|
||||||
#ifdef VERBOSE
|
|
||||||
cout << "Getting acquisition time : " << time << qDefs::getUnitString(unit) << endl;
|
|
||||||
#endif
|
|
||||||
spinExpTime->setValue(time);
|
|
||||||
comboExpUnit->setCurrentIndex((int)unit);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Frame Period between exposures
|
//Frame Period between exposures
|
||||||
|
double exptimeNS,acqtimeNS;
|
||||||
|
double time;
|
||||||
|
qDefs::timeUnit unit;
|
||||||
if(lblPeriod->isEnabled()){
|
if(lblPeriod->isEnabled()){
|
||||||
time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::FRAME_PERIOD,-1)*(1E-9))));
|
|
||||||
#ifdef VERBOSE
|
|
||||||
cout << "Getting frame period between exposures : " << time << qDefs::getUnitString(unit) << endl;
|
|
||||||
#endif
|
|
||||||
spinPeriod->setValue(time);
|
|
||||||
comboPeriodUnit->setCurrentIndex((int)unit);
|
|
||||||
|
|
||||||
double exptimeNS,acqtimeNS;
|
|
||||||
exptimeNS = qDefs::getNSTime((qDefs::timeUnit)comboExpUnit->currentIndex(),spinExpTime->value());
|
exptimeNS = qDefs::getNSTime((qDefs::timeUnit)comboExpUnit->currentIndex(),spinExpTime->value());
|
||||||
acqtimeNS = qDefs::getNSTime((qDefs::timeUnit)comboPeriodUnit->currentIndex(),spinPeriod->value());
|
acqtimeNS = qDefs::getNSTime((qDefs::timeUnit)comboPeriodUnit->currentIndex(),spinPeriod->value());
|
||||||
if(exptimeNS>acqtimeNS) {
|
if(exptimeNS>acqtimeNS) {
|
||||||
@ -712,46 +726,9 @@ void qTabMeasurement::SetTimingMode(int mode){
|
|||||||
lblPeriod->setText("Acquisition Period:");
|
lblPeriod->setText("Acquisition Period:");
|
||||||
}
|
}
|
||||||
|
|
||||||
//Number of Triggers
|
|
||||||
if(lblNumTriggers->isEnabled()){
|
|
||||||
val = (int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,-1);
|
|
||||||
spinNumTriggers->setValue(val);
|
|
||||||
#ifdef VERBOSE
|
|
||||||
cout << "Getting number of triggers : " << val <<endl;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
//Delay After Trigger
|
|
||||||
if(lblDelay->isEnabled()){
|
|
||||||
time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::DELAY_AFTER_TRIGGER,-1)*(1E-9))));
|
|
||||||
#ifdef VERBOSE
|
|
||||||
cout << "Getting delay after trigger : " << time << qDefs::getUnitString(unit) << endl;
|
|
||||||
#endif
|
|
||||||
spinDelay->setValue(time);
|
|
||||||
comboDelayUnit->setCurrentIndex((int)unit);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Number of Gates
|
|
||||||
if(lblNumGates->isEnabled()){
|
|
||||||
val = (int)myDet->setTimer(slsDetectorDefs::GATES_NUMBER,-1);
|
|
||||||
spinNumGates->setValue(val);
|
|
||||||
#ifdef VERBOSE
|
|
||||||
cout << "Getting number of gates : " << val << endl;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// Number of Probes
|
|
||||||
if(lblNumProbes->isEnabled()){
|
|
||||||
val = (int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,-1);
|
|
||||||
spinNumProbes->setValue(val);
|
|
||||||
#ifdef VERBOSE
|
|
||||||
cout << "Getting number of probes : " << val << endl;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
//To reconnect all the signals after changing their values
|
|
||||||
Initialization(1);
|
|
||||||
|
|
||||||
|
//Check if Number of Probes should be enabled
|
||||||
|
EnableProbes();
|
||||||
|
|
||||||
// to let qdrawplot know that triggers or frames are used
|
// to let qdrawplot know that triggers or frames are used
|
||||||
myPlot->setFrameEnabled(lblNumFrames->isEnabled());
|
myPlot->setFrameEnabled(lblNumFrames->isEnabled());
|
||||||
@ -776,6 +753,11 @@ void qTabMeasurement::EnableFileWrite(bool enable){
|
|||||||
dispFileName->setEnabled(enable);
|
dispFileName->setEnabled(enable);
|
||||||
if(enable) setFileName(dispFileName->text());
|
if(enable) setFileName(dispFileName->text());
|
||||||
myPlot->SetEnableFileWrite(enable);
|
myPlot->SetEnableFileWrite(enable);
|
||||||
|
|
||||||
|
disconnect(chkFile, SIGNAL(toggled(bool)), this, SLOT(EnableFileWrite(bool)));
|
||||||
|
chkFile->setChecked(myDet->enableWriteToFile());
|
||||||
|
connect(chkFile, SIGNAL(toggled(bool)), this, SLOT(EnableFileWrite(bool)));
|
||||||
|
|
||||||
qDefs::checkErrorMessage(myDet,"qTabMeasurement::EnableFileWrite");
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::EnableFileWrite");
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -790,23 +772,76 @@ void qTabMeasurement::Refresh(){
|
|||||||
if(!myPlot->isRunning()){
|
if(!myPlot->isRunning()){
|
||||||
|
|
||||||
//Number of measurements
|
//Number of measurements
|
||||||
|
spinNumMeasurements->setValue((int)myDet->setTimer(slsDetectorDefs::MEASUREMENTS_NUMBER,-1));
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Getting number of measurements" << endl;
|
cout << "Getting number of measurements" << endl;
|
||||||
#endif
|
#endif
|
||||||
spinNumMeasurements->setValue((int)myDet->setTimer(slsDetectorDefs::MEASUREMENTS_NUMBER,-1));
|
|
||||||
|
|
||||||
|
//Number of frames
|
||||||
|
spinNumFrames->setValue((int)myDet->setTimer(slsDetectorDefs::FRAME_NUMBER,-1));
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Getting number of frames" << endl;
|
||||||
|
#endif
|
||||||
|
//Exp Time
|
||||||
|
qDefs::timeUnit unit;
|
||||||
|
double time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::ACQUISITION_TIME,-1)*(1E-9))));
|
||||||
|
spinExpTime->setValue(time);
|
||||||
|
comboExpUnit->setCurrentIndex((int)unit);
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Getting Exposure time" << endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//period
|
||||||
|
time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::FRAME_PERIOD,-1)*(1E-9))));
|
||||||
|
spinPeriod->setValue(time);
|
||||||
|
comboPeriodUnit->setCurrentIndex((int)unit);
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Getting Acquisition Period" << endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//Number of Triggers
|
||||||
|
spinNumTriggers->setValue((int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,-1));
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Getting number of triggers" << endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//delay
|
||||||
|
time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::DELAY_AFTER_TRIGGER,-1)*(1E-9))));
|
||||||
|
spinDelay->setValue(time);
|
||||||
|
comboDelayUnit->setCurrentIndex((int)unit);
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Getting delay after trigger" << endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//gates
|
||||||
|
spinNumGates->setValue((int)myDet->setTimer(slsDetectorDefs::GATES_NUMBER,-1));
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Getting number of gates" << endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//probes
|
||||||
|
spinNumProbes->setValue((int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,-1));
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Getting number of probes" << endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
//File Name
|
//File Name
|
||||||
#ifdef VERBOSE
|
|
||||||
cout << "Getting file name" << endl;
|
|
||||||
#endif
|
|
||||||
dispFileName->setText(QString(myDet->getFileName().c_str()));
|
dispFileName->setText(QString(myDet->getFileName().c_str()));
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Getting file name prefix" << endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
//File Index
|
//File Index
|
||||||
|
spinIndex->setValue(myDet->getFileIndex());
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
cout << "Getting file index" << endl;
|
cout << "Getting file index" << endl;
|
||||||
#endif
|
#endif
|
||||||
spinIndex->setValue(myDet->getFileIndex());
|
|
||||||
|
//file write enabled/disabled
|
||||||
|
chkFile->setChecked(myDet->enableWriteToFile());
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Getting file write enable" << endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
//progress label index
|
//progress label index
|
||||||
if(myDet->getFrameIndex()==-1)
|
if(myDet->getFrameIndex()==-1)
|
||||||
@ -814,7 +849,7 @@ void qTabMeasurement::Refresh(){
|
|||||||
else
|
else
|
||||||
lblProgressIndex->setText(QString::number(myDet->getFrameIndex()));
|
lblProgressIndex->setText(QString::number(myDet->getFrameIndex()));
|
||||||
|
|
||||||
//Timing mode
|
//Timing mode - will also check if exptime>acq period and also enableprobes()
|
||||||
SetupTimingMode();
|
SetupTimingMode();
|
||||||
|
|
||||||
// to let qdrawplot know that triggers or frames are used
|
// to let qdrawplot know that triggers or frames are used
|
||||||
@ -830,4 +865,34 @@ void qTabMeasurement::Refresh(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
void qTabMeasurement::EnableProbes(){
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Validating if probes should be enabled" << endl;
|
||||||
|
#endif
|
||||||
|
//enabled only in expert mode and if #Frames > 1
|
||||||
|
if((expertMode)&&(myDet->getDetectorsType()==slsDetectorDefs::MYTHEN)&&(spinNumFrames->value()>1)){
|
||||||
|
lblNumProbes->setEnabled(true);
|
||||||
|
spinNumProbes->setEnabled(true);
|
||||||
|
disconnect(spinNumProbes,SIGNAL(valueChanged(int)), this, SLOT(setNumProbes(int)));
|
||||||
|
spinNumProbes->setValue((int)myDet->setTimer(slsDetectorDefs::PROBES_NUMBER,-1));
|
||||||
|
connect(spinNumProbes,SIGNAL(valueChanged(int)), this, SLOT(setNumProbes(int)));
|
||||||
|
#ifdef VERBOSE
|
||||||
|
cout << "Getting number of probes : " << spinNumProbes->value() << endl;
|
||||||
|
#endif
|
||||||
|
//ensure that #triggers is reset
|
||||||
|
setNumProbes(spinNumProbes->value());
|
||||||
|
|
||||||
|
qDefs::checkErrorMessage(myDet,"qTabMeasurement::EnableProbes");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
cout << "Probes not enabled" << endl;
|
||||||
|
spinNumProbes->setValue(0);
|
||||||
|
lblNumProbes->setEnabled(false);
|
||||||
|
spinNumProbes->setEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user