Changeset 750 in ETALON


Ignore:
Timestamp:
Nov 29, 2017, 10:01:44 AM (6 years ago)
Author:
delerue
Message:

CLIO graphical interface and analysis updated

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLIO/control/CLIO_graphical_interface.py

    r749 r750  
    7878        self.scanStep=10000
    7979        self.scanNextStep=0
    80         self.scanDuration=0
     80        self.scanDuration=10
    8181        self.scanWaitUntil=0
    8282       
     
    398398            fid.close()
    399399            if key_values['motor_value']:
    400                 self.labelPositionStep.config(text=key_values['motor_value']);
     400                self.labelPositionStep.config(text=key_values['motor_value']+' stp');
    401401                self.labelPositionStep.config(bg='green',fg='black');
    402402            else:
     
    404404
    405405            if key_values['current_value']:
    406                 self.labelPositionCurrent.config(text=key_values['current_value']);
     406                self.labelPositionCurrent.config(text=key_values['current_value']+' [cur]');
    407407                self.labelPositionCurrent.config(bg='green',fg='black');
    408408            else:
     
    426426    def onButtonRetract(self):
    427427        print "Move motor Retract"       
    428         fid=open(motor_position_request,'w')
    429         fid.write("abs0;\n")
     428        self.moveMotorAbsolute(0)
     429
     430    def onButtonInsert1(self):
     431        print "Move motor Insert "+str(INSERTED_VALUE1)
     432        self.moveMotorAbsolute(INSERTED_VALUE1)
     433
     434    def moveMotorAbsolute(self,pos_value):
    430435        self.labelPositionCurrent.config(bg='cyan');
    431436        self.labelPositionStep.config(bg='cyan');
     437        fid=open(motor_position_request,'w')
     438        fid.write("abs"+str(pos_value)+";\n")
    432439        fid.close()
    433 
    434     def onButtonInsert1(self):
    435         print "Move motor Insert "+str(INSERTED_VALUE1)       
    436         fid=open(motor_position_request,'w')
    437         fid.write("abs"+str(INSERTED_VALUE1)+";\n")
    438         fid.close()
    439         self.labelPositionCurrent.config(bg='cyan');
    440         self.labelPositionStep.config(bg='cyan');
    441 
     440       
    442441    def moveMotor(self,direction,step):
    443442        if ((direction!=0)and(step>0)):
     
    530529        self.scanStop=int(self.buttonValueStop.get("1.0","end-1c"))
    531530        self.scanStep=int(self.buttonValueStep.get("1.0","end-1c"))
     531        self.scanDuration=int(self.buttonValueDuration.get("1.0","end-1c"))
    532532        self.scanNextStep=0
    533         self.scanDuration=0
    534533        self.scanWaitUntil=0
    535534        self.scanON=startScan
    536535        self.popup.destroy()
     536        if (self.scanON):
     537            self.moveMotorAbsolute(self.scanStart)
     538            self.scanNextStep=self.scanStart
     539           
    537540       
    538541    def scanCheck(self):
    539542        if (self.scanON):
    540543            print "Scan in progress"
     544            #Are we at the target position?
     545            if (int((self.labelPositionStep.text[:-4]).strip())==self.scanNextStep):
     546                #If yes, are we waiting
     547                if self.scanWaitUntil==0:
     548                    #No => wait
     549                    self.scanWaitUntil=time.time()+self.scanDuration
     550                else:
     551                    #yes => did we finish waiting?
     552                    if (time.time()>self.scanWaitUntil):
     553                        #yes: Are we still below the last position?
     554                        if (self.scanNextStep<self.scanStop):
     555                            self.scanNextStep=self.scanNextStep+self.scanStep
     556                            self.moveMotorAbsolute(self.scanNextStep)
     557                            self.scanWaitUntil=0
     558                        else:
     559                            print "Scan finished"
     560                            self.scanON=False
     561                    else:
     562                        print "Taking data..."
     563                       
    541564        else:
    542565            print "No scan"
Note: See TracChangeset for help on using the changeset viewer.