From 754d0b7911ebd83b6dc5eaaf40373e1b9614c2bc Mon Sep 17 00:00:00 2001 From: Dhanya Maliakal Date: Thu, 10 Sep 2015 12:53:18 +0200 Subject: [PATCH] included set all trimbits --- slsDetectorGui/forms/form_tab_advanced.ui | 64 ++++++++++++++++++++--- slsDetectorGui/include/qTabAdvanced.h | 8 +++ slsDetectorGui/src/qTabAdvanced.cpp | 54 ++++++++++++++++++- 3 files changed, 116 insertions(+), 10 deletions(-) diff --git a/slsDetectorGui/forms/form_tab_advanced.ui b/slsDetectorGui/forms/form_tab_advanced.ui index 1de156a38..227ecd3e6 100644 --- a/slsDetectorGui/forms/form_tab_advanced.ui +++ b/slsDetectorGui/forms/form_tab_advanced.ui @@ -51,7 +51,7 @@ QTabWidget::North - 3 + 1 Qt::ElideLeft @@ -77,7 +77,7 @@ 25 20 - 313 + 320 31 @@ -124,7 +124,7 @@ 5 10 - 746 + 467 66 @@ -140,9 +140,9 @@ - 510 + 230 15 - 211 + 228 44 @@ -169,7 +169,7 @@ Updates plot with Trimbits from Shared Memory, not from Detector. - 16 + 24 16 @@ -740,6 +740,54 @@ An extension given by the modules serial number will be attached. + + + false + + + + 518 + 10 + 233 + 66 + + + + Developer Option + + + false + + + false + + + + + 12 + 28 + 94 + 16 + + + + Set All trimbits: + + + + + + 121 + 24 + 86 + 25 + + + + 63 + + + @@ -931,7 +979,7 @@ An extension given by the modules serial number will be attached. - -1 + 6 @@ -1218,7 +1266,7 @@ An extension given by the modules serial number will be attached. - -1 + 6 diff --git a/slsDetectorGui/include/qTabAdvanced.h b/slsDetectorGui/include/qTabAdvanced.h index f6e75ca79..05bde9ccf 100644 --- a/slsDetectorGui/include/qTabAdvanced.h +++ b/slsDetectorGui/include/qTabAdvanced.h @@ -63,6 +63,10 @@ private: */ int validateBeforeTrimming(); + /** update the setalltrimbits value from server + */ + void updateAllTrimbitsFromServer(); + private slots: @@ -172,6 +176,10 @@ private slots: */ void SetDetector(int index); + /** Set all trimbits to a value + */ + void SetAllTrimbits(); + private: /** The multi detector object */ multiSlsDetector *myDet; diff --git a/slsDetectorGui/src/qTabAdvanced.cpp b/slsDetectorGui/src/qTabAdvanced.cpp index b1dfed070..2e141bfe5 100644 --- a/slsDetectorGui/src/qTabAdvanced.cpp +++ b/slsDetectorGui/src/qTabAdvanced.cpp @@ -58,6 +58,7 @@ void qTabAdvanced::SetupWidgetWindow(){ dispIP->setEnabled(false); dispMAC->setEnabled(false); boxRxr->setEnabled(false); + boxSetAllTrimbits->setEnabled(false); red = QPalette(); @@ -73,7 +74,10 @@ void qTabAdvanced::SetupWidgetWindow(){ detType = myDet->getDetectorsType(); switch(detType){ - case slsDetectorDefs::MYTHEN: isEnergy = true; isAngular = true; break; + case slsDetectorDefs::MYTHEN: + isEnergy = true; + isAngular = true; + break; case slsDetectorDefs::EIGER: isEnergy = true; isAngular = false; @@ -82,6 +86,7 @@ void qTabAdvanced::SetupWidgetWindow(){ dispIP->setEnabled(true); dispMAC->setEnabled(true); boxRxr->setEnabled(true); + boxSetAllTrimbits->setEnabled(true); break; case slsDetectorDefs::MOENCH: isEnergy = false; @@ -177,7 +182,6 @@ void qTabAdvanced::SetupWidgetWindow(){ cout << "Getting ROI" << endl; updateROIList(); - // print receiver configurations if(myDet->getDetectorsType() != slsDetectorDefs::MYTHEN){ cout << endl; @@ -216,6 +220,10 @@ void qTabAdvanced::Initialization(){ connect(dispFile, SIGNAL(editingFinished()), this, SLOT(SetOutputFile())); connect(btnFile, SIGNAL(clicked()), this, SLOT(BrowseOutputFile())); + //setalltrimbits + if(boxSetAllTrimbits->isEnabled()) + connect(spinSetAllTrimbits, SIGNAL(editingFinished()), this, SLOT(SetAllTrimbits())); + //enable trimming method group box connect(boxTrimming, SIGNAL(toggled(bool)), this, SLOT(EnableTrimming(bool))); @@ -1088,6 +1096,45 @@ void qTabAdvanced::SetDetector(int index){ //------------------------------------------------------------------------------------------------------------------------------------------------- +void qTabAdvanced::SetAllTrimbits(){ +#ifdef VERBOSE + cout<<"Set all trimbits to " << spinSetAllTrimbits->value() << endl; +#endif + myDet->setAllTrimbits(spinSetAllTrimbits->value()); + qDefs::checkErrorMessage(myDet,"qTabAdvanced::SetAllTrimbits"); + updateAllTrimbitsFromServer(); + +} + + +//------------------------------------------------------------------------------------------------------------------------------------------------- + + +void qTabAdvanced::updateAllTrimbitsFromServer(){ +#ifdef VERBOSE + cout<<"Getting all trimbits value" << endl; +#endif + disconnect(spinSetAllTrimbits, SIGNAL(editingFinished()), this, SLOT(SetAllTrimbits())); + + int ret = myDet->setAllTrimbits(-1); + qDefs::checkErrorMessage(myDet,"qTabAdvanced::updateAllTrimbitsFromServer"); + if(ret<0){ + qDefs::Message(qDefs::WARNING,"Inconsistent value from alltrimbits value.\n" + "Setting it for all detectors involved to 0.","qTabAdvanced::updateAllTrimbitsFromServer"); + //set to default + spinSetAllTrimbits->setValue(0); + myDet->setAllTrimbits(0); + qDefs::checkErrorMessage(myDet,"qTabAdvanced::updateAllTrimbitsFromServer"); + }else + spinSetAllTrimbits->setValue(ret); + + connect(spinSetAllTrimbits, SIGNAL(editingFinished()), this, SLOT(SetAllTrimbits())); +} + + +//------------------------------------------------------------------------------------------------------------------------------------------------- + + void qTabAdvanced::Refresh(){ @@ -1261,6 +1308,9 @@ void qTabAdvanced::Refresh(){ #endif updateROIList(); + //update alltirmbits from server + if(boxSetAllTrimbits->isEnabled()) + updateAllTrimbitsFromServer(); #ifdef VERBOSE cout << "**Updated Advanced Tab" << endl << endl;