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