dacs and adcs work

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorGui@27 af1100a4-978c-4157-bff7-07162d2ba061
This commit is contained in:
l_maliakal_d 2012-08-08 17:10:44 +00:00
parent a47d0a57f6
commit 63bfdb9cb9
2 changed files with 42 additions and 4 deletions

View File

@ -25,6 +25,27 @@ class multiSlsDetector;
using namespace std;
/**To override the spin box class to have an id and emit it*/
class MyDoubleSpinBox:public QDoubleSpinBox{
Q_OBJECT
private:
int myId;
private slots:
void valueChangedWithID() {emit editingFinished(myId);};
public:
/** Overridden constructor from QDoubleSpinBox */
MyDoubleSpinBox(int id,QWidget* parent = 0)
:QDoubleSpinBox(parent),myId(id){
//setParent(parent);
connect(this,SIGNAL(editingFinished()),
this,SLOT(valueChangedWithID()));
}
signals:
void editingFinished(int myId);
};
/**
*@short sets up the Developer parameters
*/
@ -69,7 +90,7 @@ private:
QGroupBox *boxAdcs;
QLabel *lblDacs[20];
QLabel *lblAdcs[20];
QDoubleSpinBox *spinDacs[20];
MyDoubleSpinBox *spinDacs[20];
QDoubleSpinBox *spinAdcs[20];
QTimer *adcTimer;
@ -102,6 +123,11 @@ private slots:
*/
void RefreshAdcs();
/** Set Dac values
* @param id id of dac
*/
void SetDacValues(int id);
};

View File

@ -128,8 +128,8 @@ void qTabDeveloper::SetupWidgetWindow(){
void qTabDeveloper::Initialization(){
connect(adcTimer, SIGNAL(timeout()), this, SLOT(RefreshAdcs()));
//for(int i=0;i<NUM_DAC_WIDGETS;i++){
//connect(spinDacs[i], SIGNAL(editingFinished()), this, SLOT(SetFileSteps()));
for(int i=0;i<NUM_DAC_WIDGETS;i++)
connect(spinDacs[i], SIGNAL(editingFinished(int)), this, SLOT(SetDacValues(int)));
}
@ -142,7 +142,7 @@ void qTabDeveloper::CreateDACWidgets(){
for(int i=0;i<NUM_DAC_WIDGETS;i++){
lblDacs[i] = new QLabel(QString(dacNames[i].c_str()),boxDacs);
spinDacs[i] = new QDoubleSpinBox(boxDacs);
spinDacs[i] = new MyDoubleSpinBox(i,boxDacs);
spinDacs[i]->setMaximum(10000);
dacLayout->addWidget(lblDacs[i],(int)(i/2),((i%2)==0)?1:4);
@ -181,6 +181,18 @@ void qTabDeveloper::CreateADCWidgets(){
//-------------------------------------------------------------------------------------------------------------------------------------------------
void qTabDeveloper::SetDacValues(int id){
#ifdef VERYVERBOSE
cout << "Setting dac:" <<dacNames[id] << " : " << spinDacs[id]->value() << endl;
#endif
spinDacs[id]->setValue(myDet->setDAC(spinDacs[id]->value(),getSLSIndex(id)));
}
//-------------------------------------------------------------------------------------------------------------------------------------------------
slsDetectorDefs::dacIndex qTabDeveloper::getSLSIndex(int index){
switch(detType){
case slsDetectorDefs::MYTHEN: