From 7aaf95a565bd0d56d13c0404f8b022f1ae9cfa70 Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Tue, 5 Dec 2017 15:37:34 +0100 Subject: [PATCH] -1 in getadc fixed in gui as well --- slsDetectorGui/include/qTabDeveloper.h | 3 +- slsDetectorGui/src/qTabDeveloper.cpp | 31 ++++++++----------- .../slsDetector/slsDetectorCommand.cpp | 9 ++++-- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/slsDetectorGui/include/qTabDeveloper.h b/slsDetectorGui/include/qTabDeveloper.h index c37e18b77..10fc334aa 100644 --- a/slsDetectorGui/include/qTabDeveloper.h +++ b/slsDetectorGui/include/qTabDeveloper.h @@ -17,6 +17,7 @@ class multiSlsDetector; #include #include #include +#include #include #include #include @@ -101,7 +102,7 @@ private: QLabel *lblAdcs[20]; MyDoubleSpinBox *spinDacs[20]; QLabel *lblDacsmV[20]; - QDoubleSpinBox *spinAdcs[20]; + QLineEdit *spinAdcs[20]; QLabel *lblHV; QComboBox *comboHV; QTimer *adcTimer; diff --git a/slsDetectorGui/src/qTabDeveloper.cpp b/slsDetectorGui/src/qTabDeveloper.cpp index 655e3d950..65c6b6a99 100644 --- a/slsDetectorGui/src/qTabDeveloper.cpp +++ b/slsDetectorGui/src/qTabDeveloper.cpp @@ -295,11 +295,8 @@ void qTabDeveloper::CreateADCWidgets(){ for(int i=0;isetMaximum(10000); - spinAdcs[i]->setMinimum(-1); - if(NUM_ADC_WIDGETS) - spinAdcs[i]->setSuffix(0x00b0+QString("C")); + spinAdcs[i] = new QLineEdit(boxAdcs); + spinAdcs[i]->setReadOnly(true); adcLayout->addWidget(lblAdcs[i],(int)(i/2),((i%2)==0)?1:4); adcLayout->addWidget(spinAdcs[i],(int)(i/2),((i%2)==0)?2:5); @@ -522,25 +519,23 @@ void qTabDeveloper::RefreshAdcs(){ for(int i=0;igetADC(getSLSIndex(i+NUM_DAC_WIDGETS),-1); - if(value == -1) - spinAdcs[i]->setValue(value); - else { - printf("value:%f\n",value/1000); - spinAdcs[i]->setValue(value/1000.00); - } + double value = (double)myDet->getADC(getSLSIndex(i+NUM_DAC_WIDGETS),-1); + if(value == -1) + spinAdcs[i]->setText(QString("Different values")); + else { + if(detType == slsDetectorDefs::EIGER || detType == slsDetectorDefs::JUNGFRAU) + value/=1000.00; + spinAdcs[i]->setText(QString::number(value,'f',2)+0x00b0+QString("C")); } - else - spinAdcs[i]->setValue((double)myDet->getADC(getSLSIndex(i+NUM_DAC_WIDGETS),-1)); } //specific detector else{ + double value = (double)det->getADC(getSLSIndex(i+NUM_DAC_WIDGETS)); + if(detType == slsDetectorDefs::EIGER || detType == slsDetectorDefs::JUNGFRAU) - spinAdcs[i]->setValue((double)det->getADC(getSLSIndex(i+NUM_DAC_WIDGETS))/1000.00); - else - spinAdcs[i]->setValue((double)det->getADC(getSLSIndex(i+NUM_DAC_WIDGETS))); + value/=1000.00; + spinAdcs[i]->setText(QString::number(value,'f',2)+0x00b0+QString("C")); } } diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index e797b9832..b949e465d 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -5245,8 +5245,13 @@ string slsDetectorCommand::cmdADC(int narg, char *args[], int action) { myDet->setOnline(ONLINE_FLAG); #ifdef DACS_INT - if (myDet->getDetectorsType() == EIGER || myDet->getDetectorsType() == JUNGFRAU) - sprintf(answer,"%.2f",(double)myDet->getADC(adc)/1000.00); + if (myDet->getDetectorsType() == EIGER || myDet->getDetectorsType() == JUNGFRAU){ + int val = myDet->getADC(adc); + if (val == -1) + sprintf(answer,"%d",val); + else + sprintf(answer,"%.2f", (double)val/1000.000); + } else sprintf(answer,"%d",myDet->getADC(adc)); #else sprintf(answer,"%f",myDet->getADC(adc));