Changeset 749 in ETALON


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

CLIO graphical interface and analysis updated

Location:
CLIO/control
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CLIO/control/CLIO_graphical_interface.py

    r748 r749  
    2626global data_directory
    2727global code_directory
     28global temp_directory
    2829
    2930from clio_constants import *
     
    7071        self.terminate=0
    7172        self.refresh_loop=0
     73       
     74        #Scan variables
     75        self.scanON=False
     76        self.scanStart=4500000
     77        self.scanStop=5500000
     78        self.scanStep=10000
     79        self.scanNextStep=0
     80        self.scanDuration=0
     81        self.scanWaitUntil=0
     82       
    7283        # canvas for image
    7384        self.canvas = Canvas(self.parent, width=800, height=800)
     
    143154        self.frameMotors.pack(side=LEFT)
    144155        labelMotors=Label(self.frameMotors,text='Motors Control')
    145         labelMotors.grid(row=0,column=0,columnspan=4)
    146         buttonRetractFull = Button(self.frameMotors, text="Retract completely", command=self.onButtonRetract)
     156        labelMotors.grid(row=0,column=0,columnspan=3)
     157        buttonRetractFull = Button(self.frameMotors, text="Retract", command=self.onButtonRetract)
    147158        buttonRetractFull.grid(row=1,column=0)
    148         buttonInsert1 = Button(self.frameMotors, text="Insert to "+str(INSERTED_VALUE1), command=self.onButtonInsert1)
    149         buttonInsert1.grid(row=2,column=0)
    150         buttonBackward20k = Button(self.frameMotors, text="Backward 20k", command=self.onButtonBkd20k)
    151         buttonBackward20k.grid(row=1,column=1)
    152         buttonBackward100k = Button(self.frameMotors, text="Backward 100k", command=self.onButtonBkd100k)
    153         buttonBackward100k.grid(row=1,column=2)
    154         buttonBackward1m = Button(self.frameMotors, text="Backward 1M", command=self.onButtonBkd1m)
    155         buttonBackward1m.grid(row=1,column=3)
    156         buttonForward20k = Button(self.frameMotors, text="Forward 20k", command=self.onButtonFwd20k)
     159        buttonInsert1 = Button(self.frameMotors, text="To "+str(INSERTED_VALUE1), command=self.onButtonInsert1)
     160        buttonInsert1.grid(row=1,column=1)
     161        buttonBackward20k = Button(self.frameMotors, text="-20k", command=self.onButtonBkd20k)
     162        buttonBackward20k.grid(row=2,column=0)
     163        buttonBackward100k = Button(self.frameMotors, text="-100k", command=self.onButtonBkd100k)
     164        buttonBackward100k.grid(row=3,column=0)
     165        buttonBackward1m = Button(self.frameMotors, text="-1M", command=self.onButtonBkd1m)
     166        buttonBackward1m.grid(row=4,column=0)
     167        buttonForward20k = Button(self.frameMotors, text="+20k", command=self.onButtonFwd20k)
    157168        buttonForward20k.grid(row=2,column=1)
    158         buttonForward100k = Button(self.frameMotors, text="Forward 100k", command=self.onButtonFwd100k)
    159         buttonForward100k.grid(row=2,column=2)
    160         buttonForward1m = Button(self.frameMotors, text="Forward 1M", command=self.onButtonFwd1m)
    161         buttonForward1m.grid(row=2,column=3)
    162         self.labelPositionStepTitle=Label(self.frameMotors,text='Position (steps):', bg='grey')
    163         self.labelPositionStepTitle.grid(row=3,column=0,columnspan=1)
     169        buttonForward100k = Button(self.frameMotors, text="+100k", command=self.onButtonFwd100k)
     170        buttonForward100k.grid(row=3,column=1)
     171        buttonForward1m = Button(self.frameMotors, text="+1M", command=self.onButtonFwd1m)
     172        buttonForward1m.grid(row=4,column=1)
     173        self.labelPositionStepTitle=Label(self.frameMotors,text='Pos.:', bg='grey')
     174        self.labelPositionStepTitle.grid(row=1,column=2,columnspan=1)
    164175        self.labelPositionStep=Label(self.frameMotors,text='Status: unkown', bg='blue')
    165         self.labelPositionStep.grid(row=3,column=1,columnspan=1)
     176        self.labelPositionStep.grid(row=2,column=2,columnspan=1)
    166177     
    167         self.labelPositionCurrentTitle=Label(self.frameMotors,text=' (current):', bg='grey')
    168         self.labelPositionCurrentTitle.grid(row=3,column=2,columnspan=1)
     178        #self.labelPositionCurrentTitle=Label(self.frameMotors,text=' (current):', bg='grey')
     179        #self.labelPositionCurrentTitle.grid(row=3,column=2,columnspan=1)
    169180        self.labelPositionCurrent=Label(self.frameMotors,text='Status: unkown', bg='blue')
    170         self.labelPositionCurrent.grid(row=3,column=3,columnspan=1)
    171 
     181        self.labelPositionCurrent.grid(row=3,column=2,columnspan=1)
     182
     183        buttonScanMotor = Button(self.frameMotors, text="Scan", command=self.onButtonScan)
     184        buttonScanMotor.grid(row=4,column=2)
    172185       
    173186        #Check process status
     
    283296            self.labelAcquisitionStatus.config(text="Enabled", bg='green',fg='black')
    284297
     298        #check if we are doing a scan
     299        self.scanCheck()
     300           
    285301        #check remote processes
     302        sys.stdout.write(str(self.refresh_loop)+'\r')
     303        sys.stdout.flush()
     304       
     305           
    286306        if (self.refresh_loop%PROCESSES_REFRESH_INTERVAL==1):
    287             response=os.system("ping -c 1 "+motor_controller_IP)
     307            response=os.system("ping -c 1 "+motor_controller_IP+" > " + temp_directory + "ping.out")
    288308            if response==0:
    289309                self.labelProcessWago.config(bg='green')
     
    339359
    340360        if (self.refresh_loop%PROCESSES_REFRESH_INTERVAL==5):
    341             response=os.system("ping -c 1 "+IP_POWER_IP)
     361            response=os.system("ping -c 1 "+IP_POWER_IP+" > " + temp_directory + "ping.out")
    342362            if response==0:
    343363                self.labelProcessIPPower.config(bg='green')
     
    351371            fid=open(FILE_ACQ_INFO,'r')
    352372            fileline=fid.readline()
    353             print fileline
     373            #print fileline
    354374            key_values={}
    355375            while len(fileline)>0:
    356                 print fileline
     376                #print fileline
    357377                entries=fileline.replace('\n','').split(' ')
    358378                key_values[entries[0]]=entries[1]
     
    372392            key_values={}
    373393            while len(fileline)>0:
    374                 print fileline
     394                #print fileline
    375395                entries=fileline.replace('#','').replace(' ','').replace('\n','').split('=')
    376396                key_values[entries[0]]=entries[1]
     
    397417        #            print repr(values)
    398418        for ipower in range(4):
    399             print values[ipower].split('=')[1]
     419            #print values[ipower].split('=')[1]
    400420            if (values[ipower].split('=')[1]=='1'):
    401421                self.buttonPower[ipower].config(bg='green')
     
    452472        self.moveMotor(1,1000000)
    453473
     474    #----------------
     475    def onButtonScan(self):
     476        self.popup = Toplevel()
     477#        win.grab_set()
     478        self.popup.wm_title("Motors scan")
     479
     480        scanLabel = Label(self.popup, text="Select the scan parameters")
     481        scanLabel.grid(row=0, column=0,columnspan=2)
     482
     483        scanLabelStart = Label(self.popup, text="Start position")
     484        scanLabelStart.grid(row=1, column=0,columnspan=1)
     485
     486        scanLabelStop = Label(self.popup, text="Stop position")
     487        scanLabelStop.grid(row=2, column=0,columnspan=1)
     488
     489        scanLabelStep = Label(self.popup, text="Step size")
     490        scanLabelStep.grid(row=3, column=0,columnspan=1)
     491
     492        scanLabelDuration = Label(self.popup, text="Step time (s)")
     493        scanLabelDuration.grid(row=4, column=0,columnspan=1)
     494
     495        self.buttonValueStart = Text(self.popup, height=1.5, width=10)
     496        self.buttonValueStart.grid(row=1, column=1,columnspan=1)
     497        self.buttonValueStart.insert(END,self.scanStart)
     498
     499        self.buttonValueStop = Text(self.popup, height=1, width=10)
     500        self.buttonValueStop.grid(row=2, column=1,columnspan=1)
     501        self.buttonValueStop.insert(END,self.scanStop)
     502
     503        self.buttonValueStep = Text(self.popup, height=1, width=10)
     504        self.buttonValueStep.grid(row=3, column=1,columnspan=1)
     505        self.buttonValueStep.insert(END,self.scanStep)
     506
     507        self.buttonValueDuration = Text(self.popup, height=1, width=10)
     508        self.buttonValueDuration.grid(row=4, column=1,columnspan=1)
     509        self.buttonValueDuration.insert(END,self.scanDuration)
     510
     511
     512        buttonOk = Button(self.popup, text="Start scan", command=lambda: self.closeScanWindow(True))
     513        buttonOk.grid(row=5, column=0,columnspan=1)
     514
     515        buttonNot = Button(self.popup, text="Don't scan", command=lambda: self.closeScanWindow(False))
     516        buttonNot.grid(row=5, column=1,columnspan=1)
     517
     518#        self.popup.grab_release()
     519#        self.wait_self.popupdow(self.popup)
     520
     521
     522
     523
     524    def closeScanWindow(self,startScan):
     525        print("self.buttonValueStart")
     526        print(self.buttonValueStart.get("1.0","end-1c"))
     527#        print(self.buttonValueStart.value)
     528
     529        self.scanStart=int(self.buttonValueStart.get("1.0","end-1c"))
     530        self.scanStop=int(self.buttonValueStop.get("1.0","end-1c"))
     531        self.scanStep=int(self.buttonValueStep.get("1.0","end-1c"))
     532        self.scanNextStep=0
     533        self.scanDuration=0
     534        self.scanWaitUntil=0
     535        self.scanON=startScan
     536        self.popup.destroy()
     537       
     538    def scanCheck(self):
     539        if (self.scanON):
     540            print "Scan in progress"
     541        else:
     542            print "No scan"
     543           
    454544    def onButtonPower(self,value):
    455545        print('Power value='+str(value))
  • CLIO/control/clio_constants.py

    r748 r749  
    1616global FILE_COMPARE
    1717global data_directory
     18global temp_directory
    1819global data_dir
    1920global motor_controller_IP
     
    4546    basedir="/home/etalon-admin/"
    4647    code_directory=basedir+"control/"
     48    temp_directory=basedir+"tmp/"
    4749    FILE_PAUSE=basedir+'acquisition_data/pause_acquisition';
    4850    FILE_STOP=basedir+'acquisition_data/stop_acquisition';
Note: See TracChangeset for help on using the changeset viewer.