diff --git a/slsDetectorGui/forms/form_detectormain.ui b/slsDetectorGui/forms/form_detectormain.ui index 9d3577730..06396987c 100644 --- a/slsDetectorGui/forms/form_detectormain.ui +++ b/slsDetectorGui/forms/form_detectormain.ui @@ -227,8 +227,6 @@ - - diff --git a/slsDetectorGui/forms/form_tab_debugging.ui b/slsDetectorGui/forms/form_tab_debugging.ui index 4817294f8..5f17ee00d 100644 --- a/slsDetectorGui/forms/form_tab_debugging.ui +++ b/slsDetectorGui/forms/form_tab_debugging.ui @@ -34,124 +34,385 @@ - 30 - 140 - 321 - 156 + 45 + 75 + 686 + 231 + + Qt::NoFocus + - Digital Tests + Tests 15 - 20 + 110 141 51 - + + + Qt::NoFocus + - Detector Module + Readout Firmware - + + + Qt::NoFocus + - Test xxx + Readout Software - - - - 75 - 115 - 150 - 25 - - - - - 0 - 0 - - - - Run - - - - :/icons/images/start.png:/icons/images/start.png - - - - - - - 425 - 140 - 321 - 156 - - - - Analog Tests - - + 15 - 20 + 185 + 656 + 36 + + + + + + + + 0 + 0 + + + + Run Test + + + + :/icons/images/start.png:/icons/images/start.png + + + + + + + + + 415 + 30 + 256 + 31 + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 100 + 16777215 + + + + Module: + + + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + true + + + + All Modules + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + + + 280 + 110 141 51 - + + + Qt::NoFocus + - Detector Module + Readout Bus - + + + Qt::NoFocus + - Test xxx + Readout Memory - + - 85 - 115 - 150 - 25 + 530 + 110 + 141 + 26 - - - 0 - 0 - + + + + + Qt::NoFocus + + + Chip + + + + + + + + + 15 + 30 + 276 + 31 + - - Run + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 150 + 16777215 + + + + Readout: + + + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + + + 15 + 60 + 276 + 31 + - - - :/icons/images/start.png:/icons/images/start.png + + + + + + 0 + 0 + + + + + 150 + 16777215 + + + + Status: + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + + 0 + 0 + + + + IDLE + + + + + + + + + 530 + 135 + 141 + 26 + + + + + + + Qt::NoFocus + + + Module Firmware + + + + + + + + + 5 + 95 + 676 + 16 + + + + Qt::Horizontal + + + + + + 5 + 165 + 676 + 16 + + + + Qt::Horizontal @@ -159,70 +420,16 @@ 45 - 30 - 291 - 36 + 25 + 686 + 31 - + - - - Detector Status: - - - - - - - Offline - - - - - - - - - 440 - 29 - 291 - 76 - - - - - - - Module Number: - - - - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - - All Modules - - - - - - + 0 0 @@ -235,12 +442,12 @@ - 150 + 16777215 16777215 - Get Information + Get ID Information diff --git a/slsDetectorGui/include/qDrawPlot.h b/slsDetectorGui/include/qDrawPlot.h index 307978cd4..3a5aba2a0 100644 --- a/slsDetectorGui/include/qDrawPlot.h +++ b/slsDetectorGui/include/qDrawPlot.h @@ -431,7 +431,7 @@ QString filePath; QString fileName; /** Max Number of Clone Windows */ -static const int TRIM_HISTOGRAM_XMAX = 600; +static const int TRIM_HISTOGRAM_XMAX = 63; diff --git a/slsDetectorGui/include/qTabDebugging.h b/slsDetectorGui/include/qTabDebugging.h index 8b9ad1820..480833354 100644 --- a/slsDetectorGui/include/qTabDebugging.h +++ b/slsDetectorGui/include/qTabDebugging.h @@ -12,8 +12,9 @@ #include "ui_form_tab_debugging.h" /** Project Class Headers */ class multiSlsDetector; +class slsDetector; /** Qt Include Headers */ - +#include /** C++ Include Headers */ #include "sls_detector_defs.h" @@ -39,12 +40,6 @@ public: void Refresh(); private: - /** The sls detector object */ - multiSlsDetector *myDet; - - /** detector type */ - slsDetectorDefs::detectorType detType; - /** Sets up the widget */ void SetupWidgetWindow(); @@ -54,6 +49,50 @@ private: void Initialization(); + +private slots: + /** Updates the module list depending on current detector + */ + void UpdateModuleList(); + + /** Updates the status depending on current detector + */ + void UpdateStatus(); + + /** Gets id and versions etc + */ + void GetInfo(); + + /** Sets id and versions on the display widget + */ + void SetParameters(QTreeWidgetItem *item); + + /** Test detector and module + */ + void TestDetector(); + +private: + /** The multi sls detector object */ + multiSlsDetector *myDet; + + /** detector type */ + slsDetectorDefs::detectorType detType; + + /**sls detecctor object */ + slsDetector *det; + + /** Tree Widget displaying the detectors, modules */ + QTreeWidget *treeDet; + /** Widget displaying the serial numbers, mac addresses etc */ + QFrame *dispFrame; + QLabel *lblDetectorId; + QLabel *lblDetectorSerial; + QLabel *lblDetectorFirmware; + QLabel *lblDetectorSoftware; + QLabel *lblModuleId; + QLabel *lblModuleFirmware; + QLabel *lblModuleSerial; + QPalette *blue; }; diff --git a/slsDetectorGui/src/qDetectorMain.cpp b/slsDetectorGui/src/qDetectorMain.cpp index 4ca7cd356..8d13a7265 100644 --- a/slsDetectorGui/src/qDetectorMain.cpp +++ b/slsDetectorGui/src/qDetectorMain.cpp @@ -352,11 +352,6 @@ void qDetectorMain::ExecuteUtilities(QAction *action){ else qDefs::Message(qDefs::WARNING,string("Could not save the Setup Parameters from file:\n")+fName.toAscii().constData(),"Main"); } } - else if(action==actionMeasurementWizard){ -#ifdef VERBOSE - cout << "Measurement Wizard" << endl; -#endif - } else if(action==actionOpenConfiguration){ #ifdef VERBOSE cout << "Loading Configuration" << endl; @@ -461,13 +456,18 @@ void qDetectorMain::ExecuteHelp(QAction *action){ #ifdef VERBOSE cout << "About: Common GUI for Mythen, Eiger, Gotthard and Agipd detectors" << endl; #endif + char version[200]; + sprintf(version,"%llx",myDet->getId(slsDetectorDefs::THIS_SOFTWARE_VERSION)); + string thisClientVersion = string(version); //

A heading

- qDefs::Message(qDefs::INFORMATION,"

SLS Detector GUI version: 1.0

" + qDefs::Message(qDefs::INFORMATION,"

" + "SLS Detector GUI version: 1.0
" + "SLS Detector Client version: "+thisClientVersion+"

" "Common GUI to control the SLS Detectors: " "Mythen, Eiger, Gotthard and Agipd.

" "It can be operated in parallel with the command line interface:
" "sls_detector_put,
sls_detector_get,
sls_detector_acquire and
sls_detector_help.

" - "The software is still in progress. " + "The GUI Software is still in progress. " "Please report bugs to dhanya.maliakal@psi.ch.<\\p>","About SLS Detector GUI"); } } diff --git a/slsDetectorGui/src/qDrawPlot.cpp b/slsDetectorGui/src/qDrawPlot.cpp index e0278443e..b98cfb571 100644 --- a/slsDetectorGui/src/qDrawPlot.cpp +++ b/slsDetectorGui/src/qDrawPlot.cpp @@ -1220,7 +1220,7 @@ int qDrawPlot::UpdateTrimbitPlot(bool fromDetector,bool Histogram){ for(i=0;iaddButton(btnRefresh,0); btnGroup->addButton(btnGetTrimbits,1); + + + + Initialization(); } } diff --git a/slsDetectorGui/src/qTabDebugging.cpp b/slsDetectorGui/src/qTabDebugging.cpp index e599fb4c5..93d512f91 100644 --- a/slsDetectorGui/src/qTabDebugging.cpp +++ b/slsDetectorGui/src/qTabDebugging.cpp @@ -9,6 +9,9 @@ // Project Class Headers #include "slsDetector.h" #include "multiSlsDetector.h" +// Qt Include Headers +#include +#include // C++ Include Headers #include using namespace std; @@ -18,7 +21,8 @@ using namespace std; //------------------------------------------------------------------------------------------------------------------------------------------------- -qTabDebugging::qTabDebugging(QWidget *parent,multiSlsDetector*& detector):QWidget(parent),myDet(detector){ +qTabDebugging::qTabDebugging(QWidget *parent,multiSlsDetector*& detector): + QWidget(parent),myDet(detector),treeDet(NULL){ setupUi(this); SetupWidgetWindow(); Initialization(); @@ -37,41 +41,443 @@ qTabDebugging::~qTabDebugging(){ void qTabDebugging::SetupWidgetWindow(){ + + blue = new QPalette(); + blue->setColor(QPalette::Active,QPalette::WindowText,Qt::darkBlue); + + // Detector Type detType=myDet->getDetectorsType(); - - //status - int detStatus = (int)myDet->getRunStatus(); - string status = slsDetectorBase::runStatusType(slsDetectorDefs::runStatus(detStatus)); - lblStatus->setText(QString(status.c_str()).toUpper()); - - if(detType==slsDetectorDefs::EIGER) lblModule->setText("Half Module Number:"); - else lblModule->setText("Module Number:"); - - // loading combo box module numbers - int max = myDet->setNumberOfModules(); + ///change module label + switch(detType){ + case slsDetectorDefs::EIGER: + lblDetector->setText("Half Module:"); + chkDetectorFirmware->setText("Half Module Firmware:"); + chkDetectorSoftware->setText("Half Module Software:"); + chkDetectorMemory->setText("Half Module Memory:"); + chkDetectorBus->setText("Half Module Bus:"); + lblModule->hide(); + comboModule->hide(); + chkModuleFirmware->hide(); + chkChip->setEnabled(false); + chkModuleFirmware->setEnabled(false); + break; + case slsDetectorDefs::GOTTHARD: + lblDetector->setText("Module:"); + chkDetectorFirmware->setText("Module Firmware:"); + chkDetectorSoftware->setText("Module Software:"); + chkDetectorMemory->setText("Module Memory:"); + chkDetectorBus->setText("Module Bus:"); + lblModule->hide(); + comboModule->hide(); + chkModuleFirmware->hide(); + chkChip->setEnabled(false); + chkModuleFirmware->setEnabled(false); + break; + case slsDetectorDefs::MYTHEN: + break; + default: + //leave everything as it is(mythen is default) + break; + } -/* for(int i=0;igetSlsDetector(i); - if(s->setTCPSocket()!=slsDetectorDefs::FAIL){ - comboModule->addItem(QString::number(i)); - } - }*/ + //add detectors + for(int i=0;igetNumberOfDetectors();i++){ + comboDetector->addItem(QString(myDet->getHostname(i).c_str())); + } + + + //add modules and status for current detector + if(detType==slsDetectorDefs::MYTHEN) UpdateModuleList(); + UpdateStatus(); + } //------------------------------------------------------------------------------------------------------------------------------------------------- void qTabDebugging::Initialization(){ + if(detType==slsDetectorDefs::MYTHEN) + connect(comboDetector, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateModuleList())); + + connect(comboDetector, SIGNAL(currentIndexChanged(int)), this, SLOT(UpdateStatus())); + connect(btnGetInfo, SIGNAL(clicked()), this, SLOT(GetInfo())); + connect(btnTest, SIGNAL(clicked()), this, SLOT(TestDetector())); } +//------------------------------------------------------------------------------------------------------------------------------------------------- + + +void qTabDebugging::UpdateModuleList(){ + det = myDet->getSlsDetector(comboDetector->currentIndex()); + //deletes all modules except "all modules" + for(int i=0;icount()-1;i++) + comboModule->removeItem(i); + for(int i=0;igetNMods();i++){ + comboModule->addItem(QString("Module %1").arg(i)); + } + +} + + +//------------------------------------------------------------------------------------------------------------------------------------------------- + + +void qTabDebugging::UpdateStatus(){ + det = myDet->getSlsDetector(comboDetector->currentIndex()); + int detStatus = (int)det->getRunStatus(); + string status = slsDetectorBase::runStatusType(slsDetectorDefs::runStatus(detStatus)); + lblStatus->setText(QString(status.c_str()).toUpper()); + + +} + + +//------------------------------------------------------------------------------------------------------------------------------------------------- + + +void qTabDebugging::GetInfo(){ + //window + QFrame* popup1 = new QFrame(this, Qt::Popup | Qt::SubWindow ); + QList items; + + + + //layout + QGridLayout *layout = new QGridLayout(popup1); + //treewidget + treeDet = new QTreeWidget(popup1); + layout->addWidget(treeDet,0,0); + //display the details + dispFrame = new QFrame(popup1); + QGridLayout *formLayout = new QGridLayout(dispFrame); + lblDetectorId = new QLabel(""); lblDetectorId->setPalette(*blue); + lblDetectorSerial = new QLabel(""); lblDetectorSerial->setPalette(*blue); + lblDetectorFirmware = new QLabel(""); lblDetectorFirmware->setPalette(*blue); + lblDetectorSoftware = new QLabel(""); lblDetectorSoftware->setPalette(*blue); + lblModuleId = new QLabel(""); lblModuleId->setPalette(*blue); + lblModuleSerial = new QLabel(""); lblModuleSerial->setPalette(*blue); + lblModuleFirmware = new QLabel(""); lblModuleFirmware->setPalette(*blue); + //to make sure the size is constant + lblDetectorFirmware->setFixedWidth(100); + layout->addWidget(dispFrame,0,1); + + switch(detType){ + + case slsDetectorDefs::MYTHEN:{ + //display widget + formLayout->addWidget(new QLabel("Readout:"),0,0); + formLayout->addItem(new QSpacerItem(15,20,QSizePolicy::Fixed,QSizePolicy::Fixed),0,1); + formLayout->addWidget(lblDetectorId,0,2); + formLayout->addWidget(new QLabel("Readout MAC Address:"),1,0); + formLayout->addWidget(lblDetectorSerial,1,2); + formLayout->addWidget(new QLabel("Readout Firmware Version:"),2,0); + formLayout->addWidget(lblDetectorFirmware,2,2); + formLayout->addWidget(new QLabel("Readout Software Version:"),3,0); + formLayout->addWidget(lblDetectorSoftware,3,2); + formLayout->addWidget(new QLabel("Module:"),4,0); + formLayout->addWidget(lblModuleId,4,2); + formLayout->addWidget(new QLabel("Module Serial Number:"),5,0); + formLayout->addWidget(lblModuleSerial,5,2); + formLayout->addWidget(new QLabel("Module Firmware Version:"),6,0); + formLayout->addWidget(lblModuleFirmware,6,2); + + + //tree widget + treeDet->setHeaderLabel("Mythen Detector"); + //gets det names + for (int i=0;icount();i++) + items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Readout (%1)").arg(comboDetector->itemText(i))))); + treeDet->insertTopLevelItems(0, items); + //gets module names + for (int i=0;icount();i++){ + QList childItems; + det = myDet->getSlsDetector(i); + for(int j=0;jgetNMods();j++) + childItems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Module %1").arg(j)))); + treeDet->topLevelItem(i)->insertChildren(0,childItems); + } + + break; + } + + + + case slsDetectorDefs::EIGER:{ + //display widget + formLayout->addWidget(new QLabel("Half Module:"),0,0); + formLayout->addItem(new QSpacerItem(15,20,QSizePolicy::Fixed,QSizePolicy::Fixed),0,1); + formLayout->addWidget(lblDetectorId,0,2); + formLayout->addWidget(new QLabel("Half Module MAC Address:"),1,0); + formLayout->addWidget(lblDetectorSerial,1,2); + formLayout->addWidget(new QLabel("Half Module Firmware Version:"),2,0); + formLayout->addWidget(lblDetectorFirmware,2,2); + formLayout->addWidget(new QLabel("Half Module Software Version:"),3,0); + formLayout->addWidget(lblDetectorSoftware,3,2); + + //tree widget + treeDet->setHeaderLabel("Eiger Detector"); + //get num modules + for (int i=0;icount()/2;i++) + items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Module %1").arg(i)))); + treeDet->insertTopLevelItems(0, items); + //gets det names + for (int i=0;icount();i++){ + QList childItems; + childItems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Half Module (%1)").arg(comboDetector->itemText(i))))); + treeDet->topLevelItem(i*2)->insertChildren(0,childItems); + } + break; + } + + + + case slsDetectorDefs::GOTTHARD:{ + + //display widget + formLayout->addWidget(new QLabel("Module:"),0,0); + formLayout->addItem(new QSpacerItem(15,20,QSizePolicy::Fixed,QSizePolicy::Fixed),0,1); + formLayout->addWidget(lblDetectorId,0,2); + formLayout->addWidget(new QLabel("Module MAC Address:"),1,0); + formLayout->addWidget(lblDetectorSerial,1,2); + formLayout->addWidget(new QLabel("Module Firmware Version:"),2,0); + formLayout->addWidget(lblDetectorFirmware,2,2); + formLayout->addWidget(new QLabel("Module Software Version:"),3,0); + formLayout->addWidget(lblDetectorSoftware,3,2); + //tree widget + treeDet->setHeaderLabel("Gotthard Detector"); + //gets det names + for (int i=0;icount();i++) + items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Module (%1)").arg(comboDetector->itemText(i))))); + treeDet->insertTopLevelItems(0, items); + + break; + } + + + + default: + break; + } + + //show and center widget + + int x = ((parentWidget()->width()) - (popup1->frameGeometry().width())) / 2; + int y = ((parentWidget()->height()) - (popup1->frameGeometry().height())) / 2; + QDesktopWidget *desktop = QApplication::desktop(); + int screen = desktop->screenNumber(this); + popup1->setWindowModality(Qt::WindowModal); + popup1->move( (desktop->screenGeometry(screen).x())+x, (desktop->screenGeometry(screen).y())+y ); + popup1->show(); + + //put the first parameters + SetParameters(treeDet->topLevelItem(0)); + + //initializations + connect(treeDet, SIGNAL(itemDoubleClicked(QTreeWidgetItem *,int)) , this, SLOT(SetParameters(QTreeWidgetItem *))); + +} +//------------------------------------------------------------------------------------------------------------------------------------------------- + +void qTabDebugging::SetParameters(QTreeWidgetItem *item){ + char value[200]; + int i; + + + switch(detType){ + + case slsDetectorDefs::MYTHEN:{ + if(item->text(0).contains("Readout")){ + //find index + for(i=0;icount();i++) + if(item== treeDet->topLevelItem(i)) + break; + + det = myDet->getSlsDetector(i); + lblDetectorId->setText(comboDetector->itemText(i)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER)); + lblDetectorSerial->setText(QString(value)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION)); + lblDetectorFirmware ->setText(QString(value)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION)); + lblDetectorSoftware->setText(QString(value)); + + lblModuleId->setText(""); + lblModuleSerial->setText(""); + lblModuleFirmware->setText(""); + }else{ + //find index + for(i=0;icount();i++) + if(item->parent() == treeDet->topLevelItem(i)) + break; + int im = item->parent()->indexOfChild(item); + + det = myDet->getSlsDetector(i); + lblDetectorId->setText(comboDetector->itemText(i)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER)); + lblDetectorSerial->setText(QString(value)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION)); + lblDetectorFirmware ->setText(QString(value)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION)); + lblDetectorSoftware->setText(QString(value)); + + lblModuleId->setText(QString("%1").arg(im)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::MODULE_SERIAL_NUMBER,im)); + lblModuleSerial->setText(QString(value)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::MODULE_FIRMWARE_VERSION,im)); + lblModuleFirmware->setText(QString(value)); + } + break; + } + + + + + case slsDetectorDefs::EIGER:{ + //only if half module clicked + if(item->text(0).contains("Half Module")){ + //find index + for(i=0;icount();i++) + if(item== treeDet->topLevelItem(i)) + break; + + det = myDet->getSlsDetector(i); + lblDetectorId->setText(comboDetector->itemText(i)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER)); + lblDetectorSerial->setText(QString(value)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION)); + lblDetectorFirmware ->setText(QString(value)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION)); + lblDetectorSoftware->setText(QString(value)); + } + break; + } + + + + + case slsDetectorDefs::GOTTHARD:{ + //find index + for(i=0;icount();i++) + if(item== treeDet->topLevelItem(i)) + break; + + det = myDet->getSlsDetector(i); + lblDetectorId->setText(comboDetector->itemText(i)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SERIAL_NUMBER)); + lblDetectorSerial->setText(QString(value)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_FIRMWARE_VERSION)); + lblDetectorFirmware ->setText(QString(value)); + sprintf(value,"%llx",det->getId(slsDetectorDefs::DETECTOR_SOFTWARE_VERSION)); + lblDetectorSoftware->setText(QString(value)); + break; + } + + + + default: + break; + } +} + + +//------------------------------------------------------------------------------------------------------------------------------------------------- + + +void qTabDebugging::TestDetector(){ +#ifdef VERBOSE + cout << "Testing" << endl; +#endif + + int retval=slsDetectorDefs::FAIL; + QString message; + QString Detector = "Detector"; + + //main messagebox title + switch(detType){ + case slsDetectorDefs::MYTHEN: + message = QString("Test Results for %1 and %2:

").arg(comboDetector->currentText(),comboModule->currentText()); + break; + case slsDetectorDefs::EIGER: Detector = "Half Module"; break; + case slsDetectorDefs::GOTTHARD: Detector = "Module"; break; + default: break; + } + + + if(detType==slsDetectorDefs::MYTHEN) + message = QString("Test Results for %1 and %2:

").arg(comboDetector->currentText(),comboModule->currentText()); + else message = QString("Test Results for %1:

").arg(comboDetector->currentText()); + + //get sls det object + det = myDet->getSlsDetector(comboDetector->currentIndex()); + + //detector firmware + if(chkDetectorFirmware->isChecked()){ + retval = det->digitalTest(slsDetectorDefs::DETECTOR_FIRMWARE_TEST); + if(retval== slsDetectorDefs::FAIL) message.append(QString("%1 Firmware: FAIL
").arg(Detector)); + else message.append(QString("%1 Firmware: %2
").arg(Detector,QString::number(retval))); +#ifdef VERBOSE + cout<<"Detector Firmware: "<isChecked()){ + retval = det->digitalTest(slsDetectorDefs::DETECTOR_SOFTWARE_TEST); + if(retval== slsDetectorDefs::FAIL) message.append(QString("%1 Software: FAIL
").arg(Detector)); + else message.append(QString("%1 Software: %2
").arg(Detector,QString::number(retval))); +#ifdef VERBOSE + cout<<"Detector Software: "<isChecked()){ + retval = det->digitalTest(slsDetectorDefs::DETECTOR_BUS_TEST); + if(retval== slsDetectorDefs::FAIL) message.append(QString("%1 Bus:     FAIL
").arg(Detector)); + else message.append(QString("%1 Bus:     %2
").arg(Detector,QString::number(retval))); +#ifdef VERBOSE + cout<<"Detector Bus: "<isChecked()){ + retval = det->digitalTest(slsDetectorDefs::DETECTOR_MEMORY_TEST); + if(retval== slsDetectorDefs::FAIL) message.append(QString("%1 Memory:  FAIL
").arg(Detector)); + else message.append(QString("%1 Memory:  %2
").arg(Detector,QString::number(retval))); +#ifdef VERBOSE + cout<<"Detector Memory: "<isChecked()){ + retval = det->digitalTest(slsDetectorDefs::CHIP_TEST,comboModule->currentIndex()); + if(retval== slsDetectorDefs::FAIL) message.append("
Chip: FAIL
"); + else message.append(QString("Chip: %1
").arg(retval)); +#ifdef VERBOSE + cout<<"Chip: "<isChecked()){ + retval = det->digitalTest(slsDetectorDefs::MODULE_FIRMWARE_TEST,comboModule->currentIndex()); + if(retval== slsDetectorDefs::FAIL) message.append("Module Firmware: FAIL
"); + else message.append(QString("Module Firmware: %1
").arg(retval)); +#ifdef VERBOSE + cout<<"Module Firmware: "<setFixedWidth(100); btnClear->setIcon(QIcon( ":/icons/images/erase.png" )); - gridLayout->addWidget(btnSave,0,0,1,1); - gridLayout->addWidget(btnClear,0,4,1,1); - gridLayout->addWidget(dispLog,1,0,1,5); + gridLayout->addItem(new QSpacerItem(15,10,QSizePolicy::Fixed,QSizePolicy::Fixed),0,0); + gridLayout->addWidget(btnSave,1,0,1,1); + gridLayout->addWidget(btnClear,1,4,1,1); + gridLayout->addItem(new QSpacerItem(15,10,QSizePolicy::Fixed,QSizePolicy::Fixed),2,0); + gridLayout->addWidget(dispLog,3,0,1,5); qout=new qDebugStream(std::cout,this); }