mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-12 12:57:13 +02:00
merging refactor (replacing)
This commit is contained in:
848
slsDetectorGui/src/qTabDeveloper.cpp
Normal file → Executable file
848
slsDetectorGui/src/qTabDeveloper.cpp
Normal file → Executable file
@ -1,90 +1,58 @@
|
||||
/*
|
||||
* qTabDeveloper.cpp
|
||||
*
|
||||
* Created on: May 10, 2012
|
||||
* Author: l_maliakal_d
|
||||
*/
|
||||
#include "qTabDeveloper.h"
|
||||
#include "qDetectorMain.h"
|
||||
//Project Class Headers
|
||||
#include "slsDetector.h"
|
||||
|
||||
#include "multiSlsDetector.h"
|
||||
//Qt Include Headers
|
||||
|
||||
#include <QDoubleValidator>
|
||||
#include <QSpacerItem>
|
||||
#include <QString>
|
||||
#include <QDoubleValidator>
|
||||
//C++ Include Headers
|
||||
#include<iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
int qTabDeveloper::NUM_DAC_WIDGETS(0);
|
||||
int qTabDeveloper::NUM_ADC_WIDGETS(0);
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
#include <iostream>
|
||||
|
||||
|
||||
qTabDeveloper::qTabDeveloper(qDetectorMain *parent,multiSlsDetector*& detector):
|
||||
thisParent(parent),
|
||||
myDet(detector),
|
||||
det(0),
|
||||
boxDacs(0),
|
||||
boxAdcs(0),
|
||||
lblHV(0),
|
||||
comboHV(0),
|
||||
adcTimer(0),
|
||||
dacLayout(0){
|
||||
for(int i=0;i<20;i++) {
|
||||
lblDacs[i]=0;
|
||||
lblAdcs[i]=0;
|
||||
spinDacs[i]=0;
|
||||
spinAdcs[i]=0;
|
||||
lblDacsmV[i]=0;
|
||||
}
|
||||
qTabDeveloper::qTabDeveloper(QWidget *parent, multiSlsDetector *detector) : QWidget(parent),
|
||||
myDet(detector),
|
||||
detType(slsDetectorDefs::GENERIC),
|
||||
numDACWidgets(0),
|
||||
numADCWidgets(0),
|
||||
boxDacs(0),
|
||||
boxAdcs(0),
|
||||
lblHV(0),
|
||||
comboHV(0),
|
||||
dacLayout(0),
|
||||
comboDetector(0) {
|
||||
|
||||
|
||||
lblDacs.clear();
|
||||
lblAdcs.clear();
|
||||
spinDacs.clear();
|
||||
spinAdcs.clear();
|
||||
lblDacsmV.clear();
|
||||
|
||||
SetupWidgetWindow();
|
||||
Initialization();
|
||||
FILE_LOG(logDEBUG) << "Developer ready";
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
qTabDeveloper::~qTabDeveloper() {
|
||||
delete myDet;
|
||||
if(det) delete det;
|
||||
if(thisParent) delete thisParent;
|
||||
if (myDet)
|
||||
delete myDet;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
void qTabDeveloper::SetupWidgetWindow() {
|
||||
//Detector Type
|
||||
detType=myDet->getDetectorsType();
|
||||
detType = myDet->getDetectorTypeAsEnum();
|
||||
|
||||
//palette
|
||||
red = QPalette();
|
||||
red.setColor(QPalette::Active,QPalette::WindowText,Qt::red);
|
||||
|
||||
red.setColor(QPalette::Active, QPalette::WindowText, Qt::red);
|
||||
|
||||
//the number of dacs and adcs
|
||||
switch(detType){
|
||||
case slsDetectorDefs::MYTHEN:
|
||||
NUM_DAC_WIDGETS = 6;
|
||||
NUM_ADC_WIDGETS = 0;
|
||||
dacNames.push_back("v Trimbit:");
|
||||
dacNames.push_back("v Threshold:");
|
||||
dacNames.push_back("v Shaper1:");
|
||||
dacNames.push_back("v Shaper2:");
|
||||
dacNames.push_back("v Calibration:");
|
||||
dacNames.push_back("v Preamp:");
|
||||
break;
|
||||
switch (detType) {
|
||||
case slsDetectorDefs::EIGER:
|
||||
NUM_DAC_WIDGETS = 17;
|
||||
NUM_ADC_WIDGETS = 6;
|
||||
numDACWidgets = 17;
|
||||
numADCWidgets = 6;
|
||||
|
||||
dacNames.push_back("v SvP:");
|
||||
dacNames.push_back("v SvN");
|
||||
@ -112,10 +80,10 @@ void qTabDeveloper::SetupWidgetWindow() {
|
||||
adcNames.push_back("Temperature FPGA:");
|
||||
|
||||
break;
|
||||
case slsDetectorDefs::PROPIX:
|
||||
|
||||
case slsDetectorDefs::GOTTHARD:
|
||||
NUM_DAC_WIDGETS = 8;
|
||||
NUM_ADC_WIDGETS = 2;
|
||||
numDACWidgets = 8;
|
||||
numADCWidgets = 2;
|
||||
dacNames.push_back("v Reference:");
|
||||
dacNames.push_back("v Cascode n:");
|
||||
dacNames.push_back("v Cascode p:");
|
||||
@ -129,28 +97,10 @@ void qTabDeveloper::SetupWidgetWindow() {
|
||||
adcNames.push_back("Temperature FPGA:");
|
||||
|
||||
break;
|
||||
case slsDetectorDefs::MOENCH:
|
||||
NUM_DAC_WIDGETS = 8;
|
||||
NUM_ADC_WIDGETS = 2;
|
||||
dacNames.push_back("v Dac 0:");
|
||||
dacNames.push_back("v Dac 1:");
|
||||
dacNames.push_back("v Dac 2:");
|
||||
dacNames.push_back("v Dac 3:");
|
||||
dacNames.push_back("v Dac 4:");
|
||||
dacNames.push_back("v Dac 5:");
|
||||
dacNames.push_back("v Dac 6:");
|
||||
dacNames.push_back("i Dac 7:");
|
||||
|
||||
adcNames.push_back("Temperature ADC:");
|
||||
adcNames.push_back("Temperature FPGA:");
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case slsDetectorDefs::JUNGFRAU:
|
||||
case slsDetectorDefs::JUNGFRAUCTB:
|
||||
NUM_DAC_WIDGETS = 8;
|
||||
NUM_ADC_WIDGETS = 1;
|
||||
numDACWidgets = 8;
|
||||
numADCWidgets = 1;
|
||||
dacNames.push_back("v vb comp:");
|
||||
dacNames.push_back("v vdd prot:");
|
||||
dacNames.push_back("v vin com:");
|
||||
@ -164,51 +114,154 @@ void qTabDeveloper::SetupWidgetWindow() {
|
||||
|
||||
break;
|
||||
|
||||
case slsDetectorDefs::MOENCH:
|
||||
|
||||
numDACWidgets = 8;
|
||||
numADCWidgets = 0;
|
||||
dacNames.push_back("v Dac 0:");
|
||||
dacNames.push_back("v Dac 1:");
|
||||
dacNames.push_back("v Dac 2:");
|
||||
dacNames.push_back("v Dac 3:");
|
||||
dacNames.push_back("v Dac 4:");
|
||||
dacNames.push_back("v Dac 5:");
|
||||
dacNames.push_back("v Dac 6:");
|
||||
dacNames.push_back("i Dac 7:");
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
cout << "ERROR: Unknown detector type: " + myDet->slsDetectorBase::getDetectorType(detType) << endl;
|
||||
qDefs::Message(qDefs::CRITICAL,string("Unknown detector type:")+myDet->slsDetectorBase::getDetectorType(detType),"qTabDeveloper::SetupWidgetWindow");
|
||||
FILE_LOG(logERROR) << "Unknown detector type: " + myDet->getDetectorTypeAsString();
|
||||
qDefs::Message(qDefs::CRITICAL, std::string("Unknown detector type:") + myDet->getDetectorTypeAsString(), "qTabDeveloper::SetupWidgetWindow");
|
||||
exit(-1);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
//layout
|
||||
setFixedWidth(765);
|
||||
setFixedHeight(20+50+(NUM_DAC_WIDGETS/2)*35);
|
||||
//setHeight(340);
|
||||
setFixedHeight(20 + 50 + (numDACWidgets / 2) * 35);
|
||||
|
||||
scroll = new QScrollArea;
|
||||
//scroll->setFrameShape(QFrame::NoFrame);
|
||||
QScrollArea* scroll = new QScrollArea;
|
||||
scroll->setWidget(this);
|
||||
scroll->setWidgetResizable(true);
|
||||
|
||||
layout = new QGridLayout(scroll);
|
||||
layout->setContentsMargins(20,10,10,5);
|
||||
QGridLayout *layout = new QGridLayout(scroll);
|
||||
layout->setContentsMargins(20, 10, 10, 5);
|
||||
setLayout(layout);
|
||||
|
||||
//readout
|
||||
comboDetector = new QComboBox(this);
|
||||
//comboDetector->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
|
||||
comboDetector->addItem("All");
|
||||
//add detectors
|
||||
for(int i=1;i<myDet->getNumberOfDetectors()+1;i++)
|
||||
comboDetector->addItem(QString(myDet->getHostname(i-1).c_str()));
|
||||
for (int i = 1; i < myDet->getNumberOfDetectors() + 1; ++i)
|
||||
comboDetector->addItem(QString(myDet->getHostname(i - 1).c_str()));
|
||||
comboDetector->setCurrentIndex(0);
|
||||
|
||||
|
||||
//dacs
|
||||
boxDacs = new QGroupBox("Dacs",this);
|
||||
boxDacs->setFixedHeight(25+(NUM_DAC_WIDGETS/2)*35);
|
||||
CreateDACWidgets();
|
||||
|
||||
//HV for gotthard
|
||||
if ((detType==slsDetectorDefs::GOTTHARD) ||
|
||||
(detType==slsDetectorDefs::PROPIX) ||
|
||||
(detType==slsDetectorDefs::MOENCH)){
|
||||
boxDacs->setFixedHeight(boxDacs->height()+35);
|
||||
// hv for gotthard, jungfrau, moench
|
||||
if ((detType == slsDetectorDefs::GOTTHARD) ||
|
||||
(detType == slsDetectorDefs::JUNGFRAU) ||
|
||||
(detType == slsDetectorDefs::MOENCH)) {
|
||||
CreateHVWidget();
|
||||
|
||||
lblHV = new QLabel("High Voltage",boxDacs);
|
||||
comboHV = new QComboBox(boxDacs);
|
||||
}
|
||||
layout->addWidget(comboDetector, 0, 0);
|
||||
layout->addWidget(boxDacs, 1, 0);
|
||||
|
||||
//adcs
|
||||
if (numADCWidgets) {
|
||||
CreateADCWidgets();
|
||||
layout->addWidget(boxAdcs, 2, 0);
|
||||
}
|
||||
|
||||
qDefs::checkErrorMessage(myDet, "qTabDeveloper::SetupWidgetWindow");
|
||||
}
|
||||
|
||||
|
||||
void qTabDeveloper::Initialization() {
|
||||
connect(comboDetector, SIGNAL(currentIndexChanged(int)), this, SLOT(Refresh()));
|
||||
|
||||
// dacs
|
||||
for (int i = 0; i < numDACWidgets; ++i)
|
||||
connect(spinDacs[i], SIGNAL(editingFinished(int)), this, SLOT(SetDacValues(int)));
|
||||
|
||||
// hv
|
||||
if (comboHV) {
|
||||
connect(comboHV, SIGNAL(currentIndexChanged(int)), this, SLOT(SetHighVoltage()));
|
||||
} else {
|
||||
connect(spinHV, SIGNAL(valueChanged(int)), this, SLOT(SetHighVoltage()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void qTabDeveloper::CreateDACWidgets() {
|
||||
boxDacs = new QGroupBox("Dacs", this);
|
||||
boxDacs->setFixedHeight(25 + (numDACWidgets / 2) * 35);
|
||||
dacLayout = new QGridLayout(boxDacs);
|
||||
|
||||
for (int i = 0; i < numDACWidgets; ++i) {
|
||||
lblDacs[i] = new QLabel(QString(dacNames[i].c_str()), boxDacs);
|
||||
spinDacs[i] = new MyDoubleSpinBox(i, boxDacs);
|
||||
spinDacs[i]->setMinimum(-1);
|
||||
spinDacs[i]->setMaximum(10000);
|
||||
lblDacsmV[i] = new QLabel("", boxDacs);
|
||||
|
||||
dacLayout->addWidget(lblDacs[i], (int)(i / 2), ((i % 2) == 0) ? 1 : 5);
|
||||
dacLayout->addWidget(spinDacs[i], (int)(i / 2), ((i % 2) == 0) ? 2 : 6);
|
||||
dacLayout->addWidget(lblDacsmV[i], (int)(i / 2), ((i % 2) == 0) ? 3 : 7);
|
||||
if (!(i % 2)) {
|
||||
dacLayout->addItem(new QSpacerItem(20, 20, QSizePolicy::Fixed, QSizePolicy::Fixed), (int)(i / 2), 0);
|
||||
dacLayout->addItem(new QSpacerItem(60, 20, QSizePolicy::Fixed, QSizePolicy::Fixed), (int)(i / 2), 4);
|
||||
dacLayout->addItem(new QSpacerItem(20, 20, QSizePolicy::Fixed, QSizePolicy::Fixed), (int)(i / 2), 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void qTabDeveloper::CreateADCWidgets() {
|
||||
int rows = numADCWidgets / 2;
|
||||
if (numADCWidgets % 2)
|
||||
rows++;
|
||||
setFixedHeight(20 + (50 + (numDACWidgets / 2) * 35) + (50 + rows * 35));
|
||||
boxAdcs = new QGroupBox("ADCs", this);
|
||||
boxAdcs->setFixedHeight(25 + rows * 35);
|
||||
|
||||
QGridLayout *adcLayout = new QGridLayout(boxAdcs);
|
||||
|
||||
for (int i = 0; i < numADCWidgets; ++i) {
|
||||
lblAdcs[i] = new QLabel(QString(adcNames[i].c_str()), boxAdcs);
|
||||
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);
|
||||
if (!(i % 2)) {
|
||||
adcLayout->addItem(new QSpacerItem(20, 20, QSizePolicy::Fixed, QSizePolicy::Fixed), (int)(i / 2), 0);
|
||||
adcLayout->addItem(new QSpacerItem(60, 20, QSizePolicy::Fixed, QSizePolicy::Fixed), (int)(i / 2), 3);
|
||||
adcLayout->addItem(new QSpacerItem(20, 20, QSizePolicy::Fixed, QSizePolicy::Fixed), (int)(i / 2), 6);
|
||||
}
|
||||
}
|
||||
|
||||
//to make the adcs at the bottom most
|
||||
if (detType != slsDetectorDefs::EIGER) {
|
||||
int diff = 340 - height();
|
||||
setFixedHeight(340);
|
||||
layout->setVerticalSpacing(diff / 2);
|
||||
}
|
||||
}
|
||||
|
||||
void qTabDeveloper::CreateHVWidget() {
|
||||
boxDacs->setFixedHeight(boxDacs->height() + 35);
|
||||
lblHV = new QLabel("High Voltage", boxDacs);
|
||||
dacLayout->addWidget(lblHV, (int)(numDACWidgets / 2), 1);
|
||||
|
||||
comboHV = nullptr;
|
||||
spinHV = nullptr;
|
||||
|
||||
// drop down with specific values
|
||||
if (detType == slsDetectorDefs::GOTTHARD) {
|
||||
comboHV = new QComboBox(boxDacs);
|
||||
comboHV->addItem("0");
|
||||
comboHV->addItem("90");
|
||||
comboHV->addItem("110");
|
||||
@ -217,415 +270,306 @@ void qTabDeveloper::SetupWidgetWindow() {
|
||||
comboHV->addItem("180");
|
||||
comboHV->addItem("200");
|
||||
tipHV = "<nobr>Set high voltage to 0, 90, 110, 120, 150 or 200V.</nobr>";
|
||||
lblHV->setToolTip(tipHV);
|
||||
comboHV->setToolTip(tipHV);
|
||||
dacLayout->addWidget(lblHV,(int)(NUM_DAC_WIDGETS/2),1);
|
||||
dacLayout->addWidget(comboHV,(int)(NUM_DAC_WIDGETS/2),2);
|
||||
connect(comboHV, SIGNAL(currentIndexChanged(int)), this, SLOT(SetHighVoltage()));
|
||||
}
|
||||
layout->addWidget(comboDetector,0,0);
|
||||
layout->addWidget(boxDacs,1,0);
|
||||
|
||||
//adcs
|
||||
if(NUM_ADC_WIDGETS) {
|
||||
int rows = NUM_ADC_WIDGETS/2;
|
||||
if (NUM_ADC_WIDGETS%2)rows++;
|
||||
setFixedHeight(20+(50+(NUM_DAC_WIDGETS/2)*35)+(50+rows*35));
|
||||
boxAdcs = new QGroupBox("ADCs",this);
|
||||
boxAdcs->setFixedHeight(25+rows*35);
|
||||
layout->addWidget(boxAdcs,2,0);
|
||||
CreateADCWidgets();
|
||||
//to make the adcs at the bottom most
|
||||
if (detType!=slsDetectorDefs::EIGER) {
|
||||
int diff = 340-height();
|
||||
setFixedHeight(340);
|
||||
layout->setVerticalSpacing(diff/2);
|
||||
}
|
||||
//timer to check adcs
|
||||
/*adcTimer = new QTimer(this); adc timer disabled, display adcs only when refreshing developer tab */
|
||||
dacLayout->addWidget(comboHV, (int)(numDACWidgets / 2), 2);
|
||||
}
|
||||
|
||||
qDefs::checkErrorMessage(myDet,"qTabDeveloper::SetupWidgetWindow");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
void qTabDeveloper::Initialization(){
|
||||
/*if(NUM_ADC_WIDGETS) connect(adcTimer, SIGNAL(timeout()), this, SLOT(RefreshAdcs()));*/
|
||||
|
||||
for(int i=0;i<NUM_DAC_WIDGETS;i++)
|
||||
connect(spinDacs[i], SIGNAL(editingFinished(int)), this, SLOT(SetDacValues(int)));
|
||||
|
||||
connect(comboDetector, SIGNAL(currentIndexChanged(int)), this, SLOT(Refresh()));
|
||||
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
void qTabDeveloper::CreateDACWidgets(){
|
||||
dacLayout = new QGridLayout(boxDacs);
|
||||
|
||||
for(int i=0;i<NUM_DAC_WIDGETS;i++){
|
||||
lblDacs[i] = new QLabel(QString(dacNames[i].c_str()),boxDacs);
|
||||
spinDacs[i] = new MyDoubleSpinBox(i,boxDacs);
|
||||
// jungfrau, moench (range of values)
|
||||
else {
|
||||
spinHV = new QSpinBox(boxDacs);
|
||||
spinDacs[i]->setMinimum(-1);
|
||||
spinDacs[i]->setMaximum(10000);
|
||||
lblDacsmV[i]= new QLabel("",boxDacs);
|
||||
|
||||
|
||||
dacLayout->addWidget(lblDacs[i],(int)(i/2),((i%2)==0)?1:5);
|
||||
dacLayout->addWidget(spinDacs[i],(int)(i/2),((i%2)==0)?2:6);
|
||||
dacLayout->addWidget(lblDacsmV[i],(int)(i/2),((i%2)==0)?3:7);
|
||||
if(!(i%2)){
|
||||
dacLayout->addItem(new QSpacerItem(20,20,QSizePolicy::Fixed,QSizePolicy::Fixed),(int)(i/2),0);
|
||||
dacLayout->addItem(new QSpacerItem(60,20,QSizePolicy::Fixed,QSizePolicy::Fixed),(int)(i/2),4);
|
||||
dacLayout->addItem(new QSpacerItem(20,20,QSizePolicy::Fixed,QSizePolicy::Fixed),(int)(i/2),8);
|
||||
}
|
||||
spinDacs[i]->setMaximum(200);
|
||||
tipHV = "<nobr>Set high voltage to 0 or 60 - 200V</nobr>";
|
||||
spinHV->setToolTip(tipHV);
|
||||
dacLayout->addWidget(spinHV, (int)(numDACWidgets / 2), 2);
|
||||
}
|
||||
lblHV->setToolTip(tipHV);
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
void qTabDeveloper::SetDacValues(int id) {
|
||||
FILE_LOG(logINFO) << "Setting dac:" << dacNames[id] << " : " << spinDacs[id]->value();
|
||||
|
||||
int moduleId = comboDetector->currentIndex() - 1;
|
||||
|
||||
void qTabDeveloper::CreateADCWidgets(){
|
||||
QGridLayout *adcLayout = new QGridLayout(boxAdcs);
|
||||
|
||||
for(int i=0;i<NUM_ADC_WIDGETS;i++){
|
||||
lblAdcs[i] = new QLabel(QString(adcNames[i].c_str()),boxAdcs);
|
||||
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);
|
||||
if(!(i%2)){
|
||||
adcLayout->addItem(new QSpacerItem(20,20,QSizePolicy::Fixed,QSizePolicy::Fixed),(int)(i/2),0);
|
||||
adcLayout->addItem(new QSpacerItem(60,20,QSizePolicy::Fixed,QSizePolicy::Fixed),(int)(i/2),3);
|
||||
adcLayout->addItem(new QSpacerItem(20,20,QSizePolicy::Fixed,QSizePolicy::Fixed),(int)(i/2),6);
|
||||
}
|
||||
}
|
||||
myDet->setDAC(spinDacs[id]->value(),getSLSIndex(id), 0, moduleId);
|
||||
lblDacsmV[id]->setText(QString("%1mV").arg(myDet->setDAC(-1, getSLSIndex(id), 1, moduleId),-10));
|
||||
qDefs::checkErrorMessage(myDet, moduleId, "qTabDeveloper::SetDacValues");
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
void qTabDeveloper::SetDacValues(int id){
|
||||
#ifdef VERBOSE
|
||||
cout << "Setting dac:" << dacNames[id] << " : " << spinDacs[id]->value() << endl;
|
||||
#endif
|
||||
|
||||
int detid = comboDetector->currentIndex();
|
||||
if(detid)
|
||||
det = myDet->getSlsDetector(detid-1);
|
||||
|
||||
//all detectors
|
||||
if(!detid){
|
||||
myDet->setDAC((dacs_t)spinDacs[id]->value(),getSLSIndex(id),0);
|
||||
lblDacsmV[id]->setText(QString("%1mV").arg(myDet->setDAC(-1,getSLSIndex(id),1),-10));
|
||||
qDefs::checkErrorMessage(myDet,"qTabDeveloper::SetDacValues");
|
||||
}
|
||||
//specific detector
|
||||
else{
|
||||
det->setDAC((dacs_t)spinDacs[id]->value(),getSLSIndex(id),0);
|
||||
lblDacsmV[id]->setText(QString("%1mV").arg(det->setDAC(-1,getSLSIndex(id),1),-10));
|
||||
qDefs::checkErrorMessage(det,"qTabDeveloper::SetDacValues");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
void qTabDeveloper::SetHighVoltage(){
|
||||
#ifdef VERBOSE
|
||||
cout << "Setting high voltage:" << comboHV->currentText().toAscii().constData() << endl;
|
||||
#endif
|
||||
|
||||
int detid = comboDetector->currentIndex();
|
||||
if(detid)
|
||||
det = myDet->getSlsDetector(detid-1);
|
||||
|
||||
int highvoltage = comboHV->currentText().toInt();
|
||||
int ret;
|
||||
|
||||
//all detectors
|
||||
if(!detid){
|
||||
ret = myDet->setDAC(highvoltage,slsDetectorDefs::HV_POT,0);
|
||||
qDefs::checkErrorMessage(myDet,"qTabDeveloper::SetHighVoltage");
|
||||
}
|
||||
//specific detector
|
||||
else{
|
||||
ret = det->setDAC(highvoltage,slsDetectorDefs::HV_POT,0);
|
||||
qDefs::checkErrorMessage(det,"qTabDeveloper::SetHighVoltage");
|
||||
}
|
||||
void qTabDeveloper::SetHighVoltage() {
|
||||
int highvoltage = (comboHV ? comboHV->currentText().toInt() : spinHV->value());
|
||||
FILE_LOG(logINFO) << "Setting high voltage:" << highvoltage;
|
||||
|
||||
auto moduleId = comboDetector->currentIndex() - 1;
|
||||
int ret = det->setDAC(highvoltage,slsDetectorDefs::HIGH_VOLTAGE, 0, moduleId);
|
||||
qDefs::checkErrorMessage(myDet, moduleId, "qTabDeveloper::SetHighVoltage");
|
||||
|
||||
//error
|
||||
if(ret != highvoltage){
|
||||
qDefs::Message(qDefs::CRITICAL,"High Voltage could not be set to this value.","qTabDeveloper::SetHighVoltage");
|
||||
if (ret != highvoltage && highvoltage != -1) {
|
||||
qDefs::Message(qDefs::CRITICAL, "High Voltage could not be set to this value.", "qTabDeveloper::SetHighVoltage");
|
||||
FILE_LOG(logERROR) << "Could not set High voltage";
|
||||
lblHV->setPalette(red);
|
||||
lblHV->setText("High Voltage:*");
|
||||
QString errTip = tipHV+QString("<br><br><font color=\"red\"><nobr>High Voltage could not be set. The return value is ")+
|
||||
QString::number(ret)+ QString("</nobr></font>");
|
||||
QString errTip = tipHV + QString("<br><br><font color=\"red\"><nobr>High Voltage could not be set. The return value is ") +
|
||||
QString::number(ret) + QString("</nobr></font>");
|
||||
lblHV->setToolTip(errTip);
|
||||
comboHV->setToolTip(errTip);
|
||||
}else{
|
||||
if (comboHV)
|
||||
comboHV->setToolTip(errTip);
|
||||
else
|
||||
spinHV->setToolTip(errTip);
|
||||
} else {
|
||||
lblHV->setPalette(lblDacs[0]->palette());
|
||||
lblHV->setText("High Voltage:");
|
||||
lblHV->setToolTip(tipHV);
|
||||
comboHV->setToolTip(tipHV);
|
||||
if (comboHV)
|
||||
comboHV->setToolTip(tipHV);
|
||||
else
|
||||
spinHV->setToolTip(errTip);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
slsDetectorDefs::dacIndex qTabDeveloper::getSLSIndex(int index) {
|
||||
switch (detType) {
|
||||
|
||||
|
||||
slsDetectorDefs::dacIndex qTabDeveloper::getSLSIndex(int index){
|
||||
switch(detType){
|
||||
case slsDetectorDefs::MYTHEN:
|
||||
switch(index){
|
||||
case 0: return slsDetectorDefs::TRIMBIT_SIZE;
|
||||
case 1: return slsDetectorDefs::THRESHOLD;
|
||||
case 2: return slsDetectorDefs::SHAPER1;
|
||||
case 3: return slsDetectorDefs::SHAPER2;
|
||||
case 4: return slsDetectorDefs::CALIBRATION_PULSE;
|
||||
case 5: return slsDetectorDefs::PREAMP;
|
||||
case slsDetectorDefs::EIGER:
|
||||
switch (index) {
|
||||
case 0:
|
||||
return slsDetectorDefs::E_SvP;
|
||||
case 1:
|
||||
return slsDetectorDefs::E_SvN;
|
||||
case 2:
|
||||
return slsDetectorDefs::E_Vrf;
|
||||
case 3:
|
||||
return slsDetectorDefs::E_Vrs;
|
||||
case 4:
|
||||
return slsDetectorDefs::E_Vtr;
|
||||
case 5:
|
||||
return slsDetectorDefs::E_Vtgstv;
|
||||
case 6:
|
||||
return slsDetectorDefs::E_cal;
|
||||
case 7:
|
||||
return slsDetectorDefs::E_Vcp;
|
||||
case 8:
|
||||
return slsDetectorDefs::E_Vcn;
|
||||
case 9:
|
||||
return slsDetectorDefs::E_Vis;
|
||||
case 10:
|
||||
return slsDetectorDefs::E_rxb_lb;
|
||||
case 11:
|
||||
return slsDetectorDefs::E_rxb_rb;
|
||||
case 12:
|
||||
return slsDetectorDefs::E_Vcmp_ll;
|
||||
case 13:
|
||||
return slsDetectorDefs::E_Vcmp_lr;
|
||||
case 14:
|
||||
return slsDetectorDefs::E_Vcmp_rl;
|
||||
case 15:
|
||||
return slsDetectorDefs::E_Vcmp_rr;
|
||||
case 16:
|
||||
return slsDetectorDefs::THRESHOLD;
|
||||
case 17:
|
||||
return slsDetectorDefs::TEMPERATURE_FPGAEXT;
|
||||
case 18:
|
||||
return slsDetectorDefs::TEMPERATURE_10GE;
|
||||
case 19:
|
||||
return slsDetectorDefs::TEMPERATURE_DCDC;
|
||||
case 20:
|
||||
return slsDetectorDefs::TEMPERATURE_SODL;
|
||||
case 21:
|
||||
return slsDetectorDefs::TEMPERATURE_SODR;
|
||||
case 22:
|
||||
return slsDetectorDefs::TEMPERATURE_FPGA;
|
||||
default:
|
||||
qDefs::Message(qDefs::CRITICAL,"Unknown DAC/ADC Index. Weird Error Index:"+ index,"qTabDeveloper::getSLSIndex");
|
||||
qDefs::Message(qDefs::CRITICAL, "Unknown DAC/ADC Index. Weird Error Index:" + index, "qTabDeveloper::getSLSIndex");
|
||||
Refresh();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case slsDetectorDefs::EIGER:
|
||||
switch(index){
|
||||
case 0: return slsDetectorDefs::E_SvP;
|
||||
case 1: return slsDetectorDefs::E_SvN;
|
||||
case 2: return slsDetectorDefs::E_Vrf;
|
||||
case 3: return slsDetectorDefs::E_Vrs;
|
||||
case 4: return slsDetectorDefs::E_Vtr;
|
||||
case 5: return slsDetectorDefs::E_Vtgstv;
|
||||
case 6: return slsDetectorDefs::E_cal;
|
||||
case 7: return slsDetectorDefs::E_Vcp;
|
||||
case 8: return slsDetectorDefs::E_Vcn;
|
||||
case 9: return slsDetectorDefs::E_Vis;
|
||||
case 10:return slsDetectorDefs::E_rxb_lb;
|
||||
case 11:return slsDetectorDefs::E_rxb_rb;
|
||||
case 12:return slsDetectorDefs::E_Vcmp_ll;
|
||||
case 13:return slsDetectorDefs::E_Vcmp_lr;
|
||||
case 14:return slsDetectorDefs::E_Vcmp_rl;
|
||||
case 15:return slsDetectorDefs::E_Vcmp_rr;
|
||||
case 16:return slsDetectorDefs::THRESHOLD;
|
||||
case 17:return slsDetectorDefs::TEMPERATURE_FPGAEXT;
|
||||
case 18:return slsDetectorDefs::TEMPERATURE_10GE;
|
||||
case 19:return slsDetectorDefs::TEMPERATURE_DCDC;
|
||||
case 20:return slsDetectorDefs::TEMPERATURE_SODL;
|
||||
case 21:return slsDetectorDefs::TEMPERATURE_SODR;
|
||||
case 22:return slsDetectorDefs::TEMPERATURE_FPGA;
|
||||
default:
|
||||
qDefs::Message(qDefs::CRITICAL,"Unknown DAC/ADC Index. Weird Error Index:"+ index,"qTabDeveloper::getSLSIndex");
|
||||
Refresh();
|
||||
break;
|
||||
}
|
||||
case slsDetectorDefs::GOTTHARD:
|
||||
switch (index) {
|
||||
case 0:
|
||||
return slsDetectorDefs::G_VREF_DS;
|
||||
case 1:
|
||||
return slsDetectorDefs::G_VCASCN_PB;
|
||||
case 2:
|
||||
return slsDetectorDefs::G_VCASCP_PB;
|
||||
case 3:
|
||||
return slsDetectorDefs::G_VOUT_CM;
|
||||
case 4:
|
||||
return slsDetectorDefs::G_VCASC_OUT;
|
||||
case 5:
|
||||
return slsDetectorDefs::G_VIN_CM;
|
||||
case 6:
|
||||
return slsDetectorDefs::G_VREF_COMP;
|
||||
case 7:
|
||||
return slsDetectorDefs::G_IB_TESTC;
|
||||
case 8:
|
||||
return slsDetectorDefs::TEMPERATURE_ADC;
|
||||
case 9:
|
||||
return slsDetectorDefs::TEMPERATURE_FPGA;
|
||||
default:
|
||||
qDefs::Message(qDefs::CRITICAL, "Unknown DAC/ADC Index. Weird Error Index:" + index, "qTabDeveloper::getSLSIndex");
|
||||
Refresh();
|
||||
break;
|
||||
case slsDetectorDefs::MOENCH:
|
||||
switch(index){
|
||||
case 0: return slsDetectorDefs::V_DAC0;
|
||||
case 1: return slsDetectorDefs::V_DAC1;
|
||||
case 2: return slsDetectorDefs::V_DAC2;
|
||||
case 3: return slsDetectorDefs::V_DAC3;
|
||||
case 4: return slsDetectorDefs::V_DAC4;
|
||||
case 5: return slsDetectorDefs::V_DAC5;
|
||||
case 6: return slsDetectorDefs::V_DAC6;
|
||||
case 7: return slsDetectorDefs::V_DAC7;
|
||||
case 8: return slsDetectorDefs::TEMPERATURE_ADC;
|
||||
case 9:return slsDetectorDefs::TEMPERATURE_FPGA;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
qDefs::Message(qDefs::CRITICAL,"Unknown DAC/ADC Index. Weird Error. Index:"+ index,"qTabDeveloper::getSLSIndex");
|
||||
Refresh();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case slsDetectorDefs::PROPIX:
|
||||
case slsDetectorDefs::GOTTHARD:
|
||||
switch(index){
|
||||
case 0: return slsDetectorDefs::G_VREF_DS;
|
||||
case 1: return slsDetectorDefs::G_VCASCN_PB;
|
||||
case 2: return slsDetectorDefs::G_VCASCP_PB;
|
||||
case 3: return slsDetectorDefs::G_VOUT_CM;
|
||||
case 4: return slsDetectorDefs::G_VCASC_OUT;
|
||||
case 5: return slsDetectorDefs::G_VIN_CM;
|
||||
case 6: return slsDetectorDefs::G_VREF_COMP;
|
||||
case 7: return slsDetectorDefs::G_IB_TESTC;
|
||||
case 8: return slsDetectorDefs::TEMPERATURE_ADC;
|
||||
case 9:return slsDetectorDefs::TEMPERATURE_FPGA;
|
||||
default:
|
||||
qDefs::Message(qDefs::CRITICAL,"Unknown DAC/ADC Index. Weird Error Index:"+ index,"qTabDeveloper::getSLSIndex");
|
||||
Refresh();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case slsDetectorDefs::JUNGFRAU:
|
||||
case slsDetectorDefs::JUNGFRAUCTB:
|
||||
case slsDetectorDefs::JUNGFRAU:
|
||||
if (index >= 0 && index <= 7) {
|
||||
return (slsDetectorDefs::dacIndex)index;
|
||||
}
|
||||
if (index == 8) {
|
||||
return slsDetectorDefs::TEMPERATURE_ADC;
|
||||
} else {
|
||||
qDefs::Message(qDefs::CRITICAL, "Unknown DAC/ADC Index. Weird Error Index:" + index, "qTabDeveloper::getSLSIndex");
|
||||
Refresh();
|
||||
}
|
||||
break;
|
||||
case slsDetectorDefs::MOENCH:
|
||||
if (index >= 0 && index <= 7) {
|
||||
return (slsDetectorDefs::dacIndex)index;
|
||||
} else {
|
||||
qDefs::Message(qDefs::CRITICAL, "Unknown DAC/ADC Index. Weird Error Index:" + index, "qTabDeveloper::getSLSIndex");
|
||||
Refresh();
|
||||
}
|
||||
break;
|
||||
|
||||
switch(index){
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
return (slsDetectorDefs::dacIndex)index;
|
||||
break;
|
||||
case 8: return slsDetectorDefs::TEMPERATURE_ADC;
|
||||
default:
|
||||
qDefs::Message(qDefs::CRITICAL,"Unknown DAC/ADC Index. Weird Error Index:"+ index,"qTabDeveloper::getSLSIndex");
|
||||
Refresh();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
cout << "Unknown detector type:" + myDet->slsDetectorBase::getDetectorType(detType) << endl;
|
||||
qDefs::Message(qDefs::CRITICAL,string("Unknown detector type:")+myDet->slsDetectorBase::getDetectorType(detType),"qTabDeveloper::getSLSIndex");
|
||||
qDefs::checkErrorMessage(myDet,"qTabDeveloper::getSLSIndex");
|
||||
exit(-1);
|
||||
break;
|
||||
default:
|
||||
FILE_LOG(logERROR) << "Unknown detector type:" + myDet->getDetectorTypeAsString();
|
||||
qDefs::Message(qDefs::CRITICAL, std::string("Unknown detector type:") + myDet->getDetectorTypeAsString(), "qTabDeveloper::getSLSIndex");
|
||||
qDefs::checkErrorMessage(myDet, "qTabDeveloper::getSLSIndex");
|
||||
exit(-1);
|
||||
break;
|
||||
}
|
||||
return slsDetectorDefs::HUMIDITY;
|
||||
return (slsDetectorDefs::dacIndex)0;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
void qTabDeveloper::RefreshAdcs() {
|
||||
FILE_LOG(logDEBUG) << "Updating ADCs";
|
||||
|
||||
auto moduleId = comboDetector->currentIndex() - 1;
|
||||
|
||||
void qTabDeveloper::RefreshAdcs(){
|
||||
if(!thisParent->isCurrentlyTabDeveloper())
|
||||
return;
|
||||
for (int i = 0; i < numADCWidgets; ++i) {
|
||||
|
||||
#ifdef VERYVERBOSE
|
||||
cout << "Updating ADCs" <<endl;
|
||||
#endif
|
||||
/*adcTimer->stop();*/
|
||||
|
||||
int detid = comboDetector->currentIndex();
|
||||
if(detid)
|
||||
det = myDet->getSlsDetector(detid-1);
|
||||
|
||||
for(int i=0;i<NUM_ADC_WIDGETS;i++){
|
||||
//all detectors
|
||||
if(!detid){
|
||||
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 || detType == slsDetectorDefs::JUNGFRAUCTB)
|
||||
value/=1000.00;
|
||||
spinAdcs[i]->setText(QString::number(value,'f',2)+0x00b0+QString("C"));
|
||||
}
|
||||
}
|
||||
//specific detector
|
||||
else{
|
||||
double value = (double)det->getADC(getSLSIndex(i+NUM_DAC_WIDGETS));
|
||||
|
||||
if(detType == slsDetectorDefs::EIGER || detType == slsDetectorDefs::JUNGFRAU || detType == slsDetectorDefs::JUNGFRAUCTB)
|
||||
value/=1000.00;
|
||||
spinAdcs[i]->setText(QString::number(value,'f',2)+0x00b0+QString("C"));
|
||||
double value = (double)myDet->getADC(getSLSIndex(i + numDACWidgets), moduleId);
|
||||
if (value == -1 && moduleId == -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"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*adcTimer->start(ADC_TIMEOUT);*/
|
||||
qDefs::checkErrorMessage(myDet,"qTabDeveloper::RefreshAdcs");
|
||||
qDefs::checkErrorMessage(myDet, "qTabDeveloper::RefreshAdcs");
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
void qTabDeveloper::Refresh() {
|
||||
FILE_LOG(logDEBUG) << "**Updating Developer Tab\n";
|
||||
|
||||
auto moduleId = comboDetector->currentIndex() - 1;
|
||||
|
||||
void qTabDeveloper::Refresh(){
|
||||
#ifdef VERBOSE
|
||||
cout << endl << "**Updating Developer Tab" << endl;
|
||||
#endif
|
||||
|
||||
|
||||
int detid = comboDetector->currentIndex();
|
||||
if(detid)
|
||||
det = myDet->getSlsDetector(detid-1);
|
||||
|
||||
|
||||
//dacs
|
||||
#ifdef VERBOSE
|
||||
cout << "Getting DACs" << NUM_DAC_WIDGETS <<endl;
|
||||
#endif
|
||||
for(int i=0;i<NUM_DAC_WIDGETS;i++){
|
||||
//all detectors
|
||||
if(!detid){
|
||||
spinDacs[i]->setValue((double)myDet->setDAC(-1,getSLSIndex(i),0));
|
||||
lblDacsmV[i]->setText(QString("%1mV").arg(myDet->setDAC(-1,getSLSIndex(i),1),-10));
|
||||
}
|
||||
//specific detector
|
||||
else{
|
||||
spinDacs[i]->setValue((double)det->setDAC(-1,getSLSIndex(i),0));
|
||||
lblDacsmV[i]->setText(QString("%1mV").arg(det->setDAC(-1,getSLSIndex(i),1),-10));
|
||||
}
|
||||
// dacs
|
||||
FILE_LOG(logDEBUG) << "Getting DACs";
|
||||
for (int i = 0; i < numDACWidgets; ++i) {
|
||||
spinDacs[i]->setValue(myDet->setDAC(-1, getSLSIndex(i), 0, moduleId));
|
||||
lblDacsmV[i]->setText(QString("%1mV").arg(myDet->setDAC(-1, getSLSIndex(i), 1, moduleId), -10));
|
||||
}
|
||||
|
||||
|
||||
//adcs
|
||||
if(NUM_ADC_WIDGETS) RefreshAdcs();
|
||||
if (numADCWidgets)
|
||||
RefreshAdcs();
|
||||
|
||||
//gotthard -high voltage
|
||||
if((detType == slsDetectorDefs::GOTTHARD) ||
|
||||
(detType == slsDetectorDefs::PROPIX) ||
|
||||
(detType == slsDetectorDefs::MOENCH)){
|
||||
disconnect(comboHV, SIGNAL(currentIndexChanged(int)), this, SLOT(SetHighVoltage()));
|
||||
if ((detType == slsDetectorDefs::GOTTHARD) ||
|
||||
(detType == slsDetectorDefs::JUNGFRAU) ||
|
||||
(detType == slsDetectorDefs::MOENCH)) {
|
||||
|
||||
if (comboHV)
|
||||
disconnect(comboHV, SIGNAL(currentIndexChanged(int)), this, SLOT(SetHighVoltage()));
|
||||
else
|
||||
disconnect(spinHV, SIGNAL(valueChanged(int)), this, SLOT(SetHighVoltage()));
|
||||
|
||||
//default should be correct
|
||||
lblHV->setPalette(lblDacs[0]->palette());
|
||||
lblHV->setText("High Voltage:");
|
||||
lblHV->setToolTip(tipHV);
|
||||
comboHV->setToolTip(tipHV);
|
||||
//getting hv value
|
||||
int ret;
|
||||
if(!detid) ret = (int)myDet->setDAC(-1,slsDetectorDefs::HV_POT,0);
|
||||
else ret = (int)det->setDAC(-1,slsDetectorDefs::HV_POT,0);
|
||||
if (comboHV)
|
||||
comboHV->setToolTip(tipHV);
|
||||
else
|
||||
spinHV->setToolTip(tipHV);
|
||||
|
||||
switch(ret){
|
||||
case 0: comboHV->setCurrentIndex(0);break;
|
||||
case 90: comboHV->setCurrentIndex(1);break;
|
||||
case 110: comboHV->setCurrentIndex(2);break;
|
||||
case 120: comboHV->setCurrentIndex(3);break;
|
||||
case 150: comboHV->setCurrentIndex(4);break;
|
||||
case 180: comboHV->setCurrentIndex(5);break;
|
||||
case 200: comboHV->setCurrentIndex(6);break;
|
||||
default: comboHV->setCurrentIndex(0);//error
|
||||
lblHV->setPalette(red);
|
||||
lblHV->setText("High Voltage:*");
|
||||
QString errTip = tipHV+QString("<br><br><font color=\"red\"><nobr>High Voltage could not be set. The return value is ")+
|
||||
QString::number(ret)+ QString("</nobr></font>");
|
||||
lblHV->setToolTip(errTip);
|
||||
comboHV->setToolTip(errTip);
|
||||
break;
|
||||
//getting hv value
|
||||
int ret = myDet->setDAC(-1, slsDetectorDefs::HIGH_VOLTAGE, 0, moduleId);
|
||||
|
||||
bool error = false;
|
||||
if (spinHV) {
|
||||
if (ret != 0 && ret < 60 && ret > 200)
|
||||
error = true;
|
||||
else
|
||||
spinHV->setValue(ret);
|
||||
} else {
|
||||
switch (ret) {
|
||||
case 0:
|
||||
comboHV->setCurrentIndex(0);
|
||||
break;
|
||||
case 90:
|
||||
comboHV->setCurrentIndex(1);
|
||||
break;
|
||||
case 110:
|
||||
comboHV->setCurrentIndex(2);
|
||||
break;
|
||||
case 120:
|
||||
comboHV->setCurrentIndex(3);
|
||||
break;
|
||||
case 150:
|
||||
comboHV->setCurrentIndex(4);
|
||||
break;
|
||||
case 180:
|
||||
comboHV->setCurrentIndex(5);
|
||||
break;
|
||||
case 200:
|
||||
comboHV->setCurrentIndex(6);
|
||||
break;
|
||||
default:
|
||||
comboHV->setCurrentIndex(0); //error
|
||||
error = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
connect(comboHV, SIGNAL(currentIndexChanged(int)), this, SLOT(SetHighVoltage()));
|
||||
if (error) {
|
||||
lblHV->setPalette(red);
|
||||
lblHV->setText("High Voltage:*");
|
||||
QString errTip = tipHV + QString("<br><br><font color=\"red\"><nobr>High Voltage could not be set. The return value is ") +
|
||||
QString::number(ret) + QString("</nobr></font>");
|
||||
lblHV->setToolTip(errTip);
|
||||
if (comboHV)
|
||||
comboHV->setToolTip(errTip);
|
||||
else
|
||||
spinHV->setToolTip(errTip);
|
||||
} else {
|
||||
lblHV->setPalette(lblDacs[0]->palette());
|
||||
lblHV->setText("High Voltage:");
|
||||
lblHV->setToolTip(tipHV);
|
||||
if (comboHV)
|
||||
comboHV->setToolTip(tipHV);
|
||||
else
|
||||
spinHV->setToolTip(errTip);
|
||||
}
|
||||
if (comboHV)
|
||||
connect(comboHV, SIGNAL(currentIndexChanged(int)), this, SLOT(SetHighVoltage()));
|
||||
else
|
||||
connect(spinHV, SIGNAL(valueChanged(int)), this, SLOT(SetHighVoltage()));
|
||||
}
|
||||
|
||||
#ifdef VERBOSE
|
||||
cout << "**Updated Developer Tab" << endl << endl;
|
||||
#endif
|
||||
FILE_LOG(logDEBUG) << "**Updated Developer Tab";
|
||||
|
||||
qDefs::checkErrorMessage(myDet,"qTabDeveloper::Refresh");
|
||||
qDefs::checkErrorMessage(myDet, "qTabDeveloper::Refresh");
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user