source: ETALON/CLIO/control/motor_go_in_and_out_wait_for_data_narrow_scan.py @ 691

Last change on this file since 691 was 691, checked in by delerue, 7 years ago

CLIO control updated

File size: 2.4 KB
Line 
1from clio_constants import *
2import time
3import numpy as np
4import os
5import urllib
6
7global data_directory
8
9WAIT_FOR_N_DATA_TAKEN=1
10
11filedata=data_directory+'position_calibration.txt'
12
13fidata=open(filedata,'a')
14
15position_list=[4200000, 4500000]
16position_list.extend(range(5000000,6000000,100000))
17position_list.append(4000000)
18print repr(position_list)
19print len(position_list)
20time.sleep(5) 
21
22for position in position_list:
23    print position
24
25    #Pause data acquisition
26    filename=FILE_PAUSE
27    fid=open(filename,'w')
28    fid.write("pause")
29    fid.close()
30
31    #move motors
32    fid=open(motor_position_request,'w')
33    fid.write("abs"+str(position)+";\n")
34    fid.close()
35   
36    time.sleep(3) 
37
38    key_values={}
39    key_values['motor_value']=-999999999
40    iread=0
41    while ((not(float(key_values['motor_value'])==position))or(iread<2)):
42        print "Position ", str(position), " ",key_values['motor_value']
43        if (len(glob.glob(motor_position_info))>0):
44            fid=open(motor_position_info,'r')
45            fileline=fid.readline()
46            key_values={}
47            while len(fileline)>0:
48                #print fileline
49                entries=fileline.replace('#','').replace(' ','').replace('\n','').split('=')
50                key_values[entries[0]]=entries[1]
51                fileline=fid.readline()
52            fid.close()
53            fidata.write("pos: "+key_values['motor_value']+" "+key_values['current_value']+"\n")
54            if (float(key_values['motor_value'])==position):
55                print "Position ", str(position), " ",key_values['motor_value'], " ",key_values['current_value']
56                time.sleep(1)
57                iread+=1
58            else:
59                print "Position ", str(position), " not reached "
60                time.sleep(2)
61
62        else:
63            time.sleep(1)
64
65    time.sleep(1)
66    #Wait for data to be taken
67    if (WAIT_FOR_N_DATA_TAKEN>0):
68        print data_directory
69        initial_length=len(glob.glob(data_directory+"data_CLIO*.txt"))
70        #Allow data acquisition
71        os.remove(FILE_PAUSE)
72
73        while (len(glob.glob(data_directory+"data_CLIO*.txt"))<initial_length+WAIT_FOR_N_DATA_TAKEN):
74            print "Waiting for data to be taken. "+str(len(glob.glob(data_directory+"data_CLIO*.txt")))
75            time.sleep(1)
76
77#Pause data acquisition
78filename=FILE_PAUSE
79fid=open(filename,'w')
80fid.write("pause")
81fid.close()
82       
83fidata.close()
Note: See TracBrowser for help on using the repository browser.