mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-22 01:27:59 +02:00
enabling 10Gbe for eiger, advanced settings and also mV for dacs for all detectors
This commit is contained in:
@ -74,7 +74,15 @@ void qTabAdvanced::SetupWidgetWindow(){
|
||||
detType = myDet->getDetectorsType();
|
||||
switch(detType){
|
||||
case slsDetectorDefs::MYTHEN: isEnergy = true; isAngular = true; break;
|
||||
case slsDetectorDefs::EIGER: isEnergy = true; isAngular = false; break;
|
||||
case slsDetectorDefs::EIGER:
|
||||
isEnergy = true;
|
||||
isAngular = false;
|
||||
lblIP->setEnabled(true);
|
||||
lblMAC->setEnabled(true);
|
||||
dispIP->setEnabled(true);
|
||||
dispMAC->setEnabled(true);
|
||||
boxRxr->setEnabled(true);
|
||||
break;
|
||||
case slsDetectorDefs::MOENCH:
|
||||
isEnergy = false;
|
||||
isAngular = false;
|
||||
@ -223,7 +231,7 @@ void qTabAdvanced::Initialization(){
|
||||
connect(spinStopPort, SIGNAL(valueChanged(int)), this, SLOT(SetStopPort(int)));
|
||||
connect(comboOnline, SIGNAL(currentIndexChanged(int)), this, SLOT(SetOnline(int)));
|
||||
|
||||
if((detType==slsDetectorDefs::GOTTHARD) || (detType==slsDetectorDefs::MOENCH)){
|
||||
if((detType==slsDetectorDefs::GOTTHARD) || (detType==slsDetectorDefs::MOENCH) || (detType==slsDetectorDefs::EIGER)){
|
||||
|
||||
//network
|
||||
connect(spinTCPPort, SIGNAL(valueChanged(int)), this, SLOT(SetRxrTCPPort(int)));
|
||||
@ -241,6 +249,8 @@ void qTabAdvanced::Initialization(){
|
||||
|
||||
|
||||
//roi
|
||||
|
||||
|
||||
connect(btnClearRoi, SIGNAL(clicked()), this, SLOT(clearROIinDetector()));
|
||||
connect(btnGetRoi, SIGNAL(clicked()), this, SLOT(updateROIList()));
|
||||
connect(btnSetRoi, SIGNAL(clicked()), this, SLOT(setROI()));
|
||||
@ -297,7 +307,7 @@ void qTabAdvanced::SetThreshold(){
|
||||
#ifdef VERBOSE
|
||||
cout << "Setting Threshold DACu:" << spinThreshold->value() << endl;
|
||||
#endif
|
||||
spinThreshold->setValue((double)myDet->setDAC((dacs_t)spinThreshold->value(),slsDetectorDefs::THRESHOLD));
|
||||
spinThreshold->setValue((double)myDet->setDAC((dacs_t)spinThreshold->value(),slsDetectorDefs::THRESHOLD,0));
|
||||
qDefs::checkErrorMessage(myDet,"qTabAdvanced::SetThreshold");
|
||||
}
|
||||
|
||||
@ -1122,7 +1132,7 @@ void qTabAdvanced::Refresh(){
|
||||
|
||||
|
||||
//threshold
|
||||
double threshold = (double)myDet->setDAC(-1,slsDetectorDefs::THRESHOLD);
|
||||
double threshold = (double)myDet->setDAC(-1,slsDetectorDefs::THRESHOLD,0);
|
||||
#ifdef VERBOSE
|
||||
cout << "Getting Threshold DACu : " << threshold << endl;
|
||||
#endif
|
||||
@ -1168,7 +1178,7 @@ void qTabAdvanced::Refresh(){
|
||||
#ifdef VERBOSE
|
||||
cout << "Getting Receiver Network Information" << endl;
|
||||
#endif
|
||||
if ((detType==slsDetectorDefs::GOTTHARD) || (detType==slsDetectorDefs::MOENCH)){
|
||||
if ((detType==slsDetectorDefs::GOTTHARD) || (detType==slsDetectorDefs::MOENCH)|| (detType==slsDetectorDefs::EIGER)){
|
||||
//disconnect
|
||||
disconnect(spinTCPPort, SIGNAL(valueChanged(int)), this, SLOT(SetRxrTCPPort(int)));
|
||||
disconnect(spinUDPPort, SIGNAL(valueChanged(int)), this, SLOT(SetRxrUDPPort(int)));
|
||||
|
@ -29,6 +29,7 @@ qTabDataOutput::qTabDataOutput(QWidget *parent,multiSlsDetector*& detector):
|
||||
QWidget(parent),myDet(detector){
|
||||
setupUi(this);
|
||||
SetupWidgetWindow();
|
||||
Refresh();
|
||||
}
|
||||
|
||||
|
||||
@ -54,6 +55,9 @@ void qTabDataOutput::SetupWidgetWindow(){
|
||||
if((detType == slsDetectorDefs::MYTHEN)||(detType == slsDetectorDefs::GOTTHARD))
|
||||
chkAngular->setEnabled(true);
|
||||
|
||||
if(detType == slsDetectorDefs::EIGER)
|
||||
chkTenGiga->setEnabled(true);
|
||||
|
||||
/** error message **/
|
||||
red = QPalette();
|
||||
red.setColor(QPalette::Active,QPalette::WindowText,Qt::red);
|
||||
@ -157,6 +161,8 @@ void qTabDataOutput::Initialization(){
|
||||
connect(chkDiscardBad, SIGNAL(toggled(bool)), this, SLOT(DiscardBadChannels()));
|
||||
//compression
|
||||
connect(chkCompression, SIGNAL(toggled(bool)), this, SLOT(SetCompression(bool)));
|
||||
//10GbE
|
||||
connect(chkTenGiga, SIGNAL(toggled(bool)), this, SLOT(EnableTenGigabitEthernet(bool)));
|
||||
}
|
||||
|
||||
|
||||
@ -735,6 +741,27 @@ void qTabDataOutput::SetCompression(bool enable){
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
void qTabDataOutput::EnableTenGigabitEthernet(bool enable,int get){
|
||||
#ifdef VERBOSE
|
||||
cout << endl << "Enabling/Disabling 10GbE" << endl;
|
||||
#endif
|
||||
disconnect(chkTenGiga, SIGNAL(toggled(bool)), this, SLOT(EnableTenGigabitEthernet(bool)));
|
||||
int ret;
|
||||
if(get)
|
||||
ret = myDet->enableTenGigabitEthernet(-1);
|
||||
else
|
||||
ret = myDet->enableTenGigabitEthernet(enable);
|
||||
if(ret > 0) chkTenGiga->setChecked(true);
|
||||
else chkTenGiga->setChecked(false);
|
||||
connect(chkTenGiga, SIGNAL(toggled(bool)), this, SLOT(EnableTenGigabitEthernet(bool)));
|
||||
|
||||
qDefs::checkErrorMessage(myDet,"qTabDataOutput::EnableTenGigabitEthernet");
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
void qTabDataOutput::Refresh(){
|
||||
#ifdef VERBOSE
|
||||
cout << endl << "**Updating DataOutput Tab" << endl;
|
||||
@ -808,6 +835,16 @@ void qTabDataOutput::Refresh(){
|
||||
GetCompression();
|
||||
}
|
||||
|
||||
//getting 10GbE
|
||||
if(chkTenGiga->isEnabled()){
|
||||
#ifdef VERBOSE
|
||||
cout << "Getting 10GbE enable" << endl;
|
||||
#endif
|
||||
EnableTenGigabitEthernet(-1,1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef VERBOSE
|
||||
cout << "**Updated DataOutput Tab" << endl << endl;
|
||||
|
@ -38,6 +38,7 @@ qTabDeveloper::qTabDeveloper(QWidget *parent,multiSlsDetector*& detector):
|
||||
lblAdcs[i]=0;
|
||||
spinDacs[i]=0;
|
||||
spinAdcs[i]=0;
|
||||
lblDacsmV[i]=0;
|
||||
}
|
||||
SetupWidgetWindow();
|
||||
Initialization();
|
||||
@ -81,21 +82,23 @@ void qTabDeveloper::SetupWidgetWindow(){
|
||||
NUM_ADC_WIDGETS = 0;
|
||||
|
||||
dacNames.push_back("v SvP:");
|
||||
dacNames.push_back("v Vtr:");
|
||||
dacNames.push_back("v SvN");
|
||||
dacNames.push_back("v Vrf:");
|
||||
dacNames.push_back("v Vrs:");
|
||||
dacNames.push_back("v SvN");
|
||||
dacNames.push_back("v Vtr:");
|
||||
dacNames.push_back("v Vtgstv:");
|
||||
dacNames.push_back("v Vcmp_ll:");
|
||||
dacNames.push_back("v Vcmp_lr:");
|
||||
dacNames.push_back("v cal:");
|
||||
dacNames.push_back("v Vcmp_rl:");
|
||||
dacNames.push_back("v rxb_rb:");
|
||||
dacNames.push_back("v rxb_lb:");
|
||||
dacNames.push_back("v Vcmp_rr:");
|
||||
dacNames.push_back("v Vcp");
|
||||
dacNames.push_back("v Vcn:");
|
||||
dacNames.push_back("v Vis:");
|
||||
dacNames.push_back("v rxb_lb:");
|
||||
dacNames.push_back("v rxb_rb:");
|
||||
dacNames.push_back("v Vcmp_ll:");
|
||||
dacNames.push_back("v Vcmp_lr:");
|
||||
dacNames.push_back("v Vcmp_rl:");
|
||||
dacNames.push_back("v Vcmp_rr:");
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case slsDetectorDefs::GOTTHARD:
|
||||
@ -218,13 +221,16 @@ void qTabDeveloper::CreateDACWidgets(){
|
||||
lblDacs[i] = new QLabel(QString(dacNames[i].c_str()),boxDacs);
|
||||
spinDacs[i] = new MyDoubleSpinBox(i,boxDacs);
|
||||
spinDacs[i]->setMaximum(10000);
|
||||
lblDacsmV[i]= new QLabel("",boxDacs);
|
||||
|
||||
dacLayout->addWidget(lblDacs[i],(int)(i/2),((i%2)==0)?1:4);
|
||||
dacLayout->addWidget(spinDacs[i],(int)(i/2),((i%2)==0)?2:5);
|
||||
|
||||
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),3);
|
||||
dacLayout->addItem(new QSpacerItem(20,20,QSizePolicy::Fixed,QSizePolicy::Fixed),(int)(i/2),6);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -261,7 +267,8 @@ void qTabDeveloper::SetDacValues(int id){
|
||||
cout << "Setting dac:" << dacNames[id] << " : " << spinDacs[id]->value() << endl;
|
||||
#endif
|
||||
//spinDacs[id]->setValue((double)myDet->setDAC((dacs_t)spinDacs[id]->value(),getSLSIndex(id)));
|
||||
myDet->setDAC((dacs_t)spinDacs[id]->value(),getSLSIndex(id));
|
||||
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");
|
||||
}
|
||||
@ -275,7 +282,7 @@ void qTabDeveloper::SetHighVoltage(){
|
||||
cout << "Setting high voltage:" << comboHV->currentText().toAscii().constData() << endl;
|
||||
#endif
|
||||
int highvoltage = comboHV->currentText().toInt();
|
||||
int ret = myDet->setDAC(highvoltage,slsDetectorDefs::HV_POT);
|
||||
int ret = myDet->setDAC(highvoltage,slsDetectorDefs::HV_POT,0);
|
||||
qDefs::checkErrorMessage(myDet,"qTabDeveloper::SetHighVoltage");
|
||||
//error
|
||||
if(ret != highvoltage){
|
||||
@ -317,21 +324,24 @@ slsDetectorDefs::dacIndex qTabDeveloper::getSLSIndex(int index){
|
||||
case slsDetectorDefs::EIGER:
|
||||
switch(index){
|
||||
case 0: return slsDetectorDefs::E_SvP;
|
||||
case 1: return slsDetectorDefs::E_Vtr;
|
||||
case 1: return slsDetectorDefs::E_SvN;
|
||||
case 2: return slsDetectorDefs::E_Vrf;
|
||||
case 3: return slsDetectorDefs::E_Vrs;
|
||||
case 4: return slsDetectorDefs::E_SvN;
|
||||
case 4: return slsDetectorDefs::E_Vtr;
|
||||
case 5: return slsDetectorDefs::E_Vtgstv;
|
||||
case 6: return slsDetectorDefs::E_Vcmp_ll;
|
||||
case 7: return slsDetectorDefs::E_Vcmp_lr;
|
||||
case 8: return slsDetectorDefs::E_cal;
|
||||
case 9: return slsDetectorDefs::E_Vcmp_rl;
|
||||
case 10:return slsDetectorDefs::E_rxb_rb;
|
||||
case 11:return slsDetectorDefs::E_rxb_lb;
|
||||
case 12:return slsDetectorDefs::E_Vcmp_rr;
|
||||
case 13:return slsDetectorDefs::E_Vcp;
|
||||
case 14:return slsDetectorDefs::E_Vcn;
|
||||
case 15:return slsDetectorDefs::E_Vis;
|
||||
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;
|
||||
|
||||
|
||||
|
||||
default:
|
||||
qDefs::Message(qDefs::CRITICAL,"Unknown DAC/ADC Index. Weird Error","qTabDeveloper::getSLSIndex");
|
||||
Refresh();
|
||||
@ -394,8 +404,10 @@ void qTabDeveloper::Refresh(){
|
||||
cout << "Gettings DACs" << endl;
|
||||
#endif
|
||||
//dacs
|
||||
for(int i=0;i<NUM_DAC_WIDGETS;i++)
|
||||
spinDacs[i]->setValue((double)myDet->setDAC(-1,getSLSIndex(i)));
|
||||
for(int i=0;i<NUM_DAC_WIDGETS;i++){
|
||||
spinDacs[i]->setValue((double)myDet->setDAC(-1,getSLSIndex(i),0));
|
||||
lblDacsmV[i]->setText(QString("%1mV").arg(myDet->setDAC(-1,getSLSIndex(i),1),-10));
|
||||
}
|
||||
//adcs
|
||||
if(NUM_ADC_WIDGETS) RefreshAdcs();
|
||||
|
||||
@ -409,7 +421,7 @@ void qTabDeveloper::Refresh(){
|
||||
lblHV->setToolTip(tipHV);
|
||||
comboHV->setToolTip(tipHV);
|
||||
//getting hv value
|
||||
int ret = (int)myDet->setDAC(-1,slsDetectorDefs::HV_POT);
|
||||
int ret = (int)myDet->setDAC(-1,slsDetectorDefs::HV_POT,0);
|
||||
switch(ret){
|
||||
case 0: comboHV->setCurrentIndex(0);break;
|
||||
case 90: comboHV->setCurrentIndex(1);break;
|
||||
|
Reference in New Issue
Block a user