##// END OF EJS Templates
imanay -
r248:249
parent child
Show More
@@ -1,482 +1,503
1 import os No newline at end of file
1 import os
2 import library3 No newline at end of file
2 import library3
3 import time No newline at end of file
3 import time
4 from threading import Thread No newline at end of file
4 from threading import Thread
5 import threading No newline at end of file
5 import threading
6 import Queue No newline at end of file
6 import Queue
7 No newline at end of file
7
8 class ABSServer: No newline at end of file
8 class ABSServer:
9 No newline at end of file
9
10 def __init__(self,ipSource="localhost", ipDestino="192.168.1.117", portDestino=7000, ipDestino2="192.168.1.11", portDestino2=5500, rx_buffer = "default"): No newline at end of file
10 def __init__(self,ipSource="localhost", ipDestino="192.168.1.117", portDestino=7000, ipDestino2="192.168.1.11", portDestino2=5500, rx_buffer = "default"):
11 No newline at end of file
11
12 No newline at end of file
12
13 self.ipSource = ipSource No newline at end of file
13 self.ipSource = ipSource
14 self.ipDestino = ipDestino No newline at end of file
14 self.ipDestino = ipDestino
15 self.portDestino = portDestino No newline at end of file
15 self.portDestino = portDestino
16 No newline at end of file
16
17 self.ipDestino2 = ipDestino2 No newline at end of file
17 self.ipDestino2 = ipDestino2
18 self.portDestino2 = portDestino2 No newline at end of file
18 self.portDestino2 = portDestino2
19 No newline at end of file
19
20 self.tx_buffer = "default" No newline at end of file
20 self.tx_buffer = "default"
21 self.rx_buffer = rx_buffer No newline at end of file
21 self.rx_buffer = rx_buffer
22 self.enaModules = [] No newline at end of file
22 self.enaModules = []
23 self.bits = [] No newline at end of file
23 self.bits = []
24 self.phase = [] No newline at end of file
24 self.phase = []
25 self.txFile = [] No newline at end of file
25 self.txFile = []
26 self.rxFile = [] No newline at end of file
26 self.rxFile = []
27 No newline at end of file
27
28 self.createObjects() No newline at end of file
28 self.createObjects()
29 No newline at end of file
29
30 print "Checking control modules, please wait ..." No newline at end of file
30 print "Checking control modules, please wait ..."
31 self.enaModules = self.checkAntenna() No newline at end of file
31 self.enaModules = self.checkAntenna()
32 print '\nThis modules are present : ' + str(self.enaModules) + '\n' No newline at end of file
32 print '\nThis modules are present : ' + str(self.enaModules) + '\n'
33 # print "Starting automatic control module status." No newline at end of file
33 # print "Starting automatic control module status."
34 self.__StartingAutomaticControlModules() No newline at end of file
34 self.__StartingAutomaticControlModules()
35 # self.__AutomaticControlModules() No newline at end of file
35 # self.__AutomaticControlModules()
36 No newline at end of file
36
37 def createObjects(self): No newline at end of file
37 def createObjects(self):
38 No newline at end of file
38
39 asServer = True No newline at end of file
39 asServer = True
40 self.commServerObj = library3.TCPComm("Central_Control", "CeCnMod", self.ipDestino, "CnMod01", self.portDestino, asServer) No newline at end of file
40 self.commServerObj = library3.TCPComm("Central_Control", "CeCnMod", self.ipDestino, "CnMod01", self.portDestino, asServer)
41 self.commClientObj = library3.TCPComm("Central_Control", "CeCnMod", self.ipDestino2, "CnMod01", self.portDestino2) No newline at end of file
41 self.commClientObj = library3.TCPComm("Central_Control", "CeCnMod", self.ipDestino2, "CnMod01", self.portDestino2)
42 self.wFiles = library3.FilesStuff() No newline at end of file
42 self.wFiles = library3.FilesStuff()
43 No newline at end of file
43
44 def waitRequest(self): No newline at end of file
44 def waitRequest(self):
45 No newline at end of file
45
46 #Using rx buffer No newline at end of file
46 #Using rx buffer
47 # ipSource, ipDestino, cmd, self.rx_buffer = self.commServerObj.waitData() No newline at end of file
47 # ipSource, ipDestino, cmd, self.rx_buffer = self.commServerObj.waitData()
48 ipSource, ipDestino, cmd, rx_buffer = self.commServerObj.waitData() No newline at end of file
48 ipSource, ipDestino, cmd, rx_buffer = self.commServerObj.waitData()
49 No newline at end of file
49
50 if cmd == "SNDF": No newline at end of file
50 if cmd == "SNDF":
51 datarpta = self.__sendFile2Modules(cmd = cmd, rx_buffer = rx_buffer) No newline at end of file
51 datarpta = self.__sendFile2Modules(cmd = cmd, rx_buffer = rx_buffer)
52 No newline at end of file
52
53 if cmd == "GETF": No newline at end of file
53 if cmd == "GETF":
54 datarpta = self.__getFileFromModules(cmd = cmd, rx_buffer = rx_buffer) No newline at end of file
54 datarpta = self.__getFileFromModules(cmd = cmd, rx_buffer = rx_buffer)
55 No newline at end of file
55
56 if cmd == "CHGB": No newline at end of file
56 if cmd == "CHGB":
57 datarpta = self.__changeBeam(cmd = cmd, rx_buffer = rx_buffer) No newline at end of file
57 datarpta = self.__changeBeam(cmd = cmd, rx_buffer = rx_buffer)
58 No newline at end of file
58
59 if cmd == "ANST": No newline at end of file
59 if cmd == "ANST":
60 datarpta = self.__getControlModuleStatus_old(cmd = cmd, rx_buffer = rx_buffer) No newline at end of file
60 datarpta = self.__getControlModuleStatus_old(cmd = cmd, rx_buffer = rx_buffer)
61 No newline at end of file
61
62 if cmd == "BGPH": No newline at end of file
62 if cmd == "BGPH":
63 datarpta = self.__getControlModuleBigPhase(cmd = cmd, rx_buffer = rx_buffer) No newline at end of file
63 datarpta = self.__getControlModuleBigPhase(cmd = cmd, rx_buffer = rx_buffer)
64 No newline at end of file
64
65 if cmd == "LWPH": No newline at end of file
65 if cmd == "LWPH":
66 datarpta = self.__getControlModuleLowPhase(cmd = cmd, rx_buffer = rx_buffer) No newline at end of file
66 datarpta = self.__getControlModuleLowPhase(cmd = cmd, rx_buffer = rx_buffer)
67 No newline at end of file
67
68 if cmd == "NTST": No newline at end of file
68 if cmd == "NTST":
69 datarpta = self.__getConnectionStatus(cmd = cmd, rx_buffer = rx_buffer) No newline at end of file
69 datarpta = self.__getConnectionStatus(cmd = cmd, rx_buffer = rx_buffer)
70 No newline at end of file
70
71 if cmd == "MNTR": No newline at end of file
71 if cmd == "MNTR":
72 datarpta = self.__getControlModuleStatus_new(cmd = cmd, rx_buffer = rx_buffer) No newline at end of file
72 datarpta = self.__getControlModuleStatus_new(cmd = cmd, rx_buffer = rx_buffer)
73 No newline at end of file
73
74 self.commServerObj.sendData(cmd=cmd, data=datarpta, ipDestino = ipSource) No newline at end of file
74 self.commServerObj.sendData(cmd=cmd, data=datarpta, ipDestino = ipSource)
75 No newline at end of file
75
76 def __checkModule(self, address): No newline at end of file
76 def __checkModule(self, address):
77 No newline at end of file
77
78 cmd = "ping -c 1 -w 1 192.168.1."+ str(address) + " >> /dev/null" No newline at end of file
78 cmd = "ping -c 1 -w 1 192.168.1."+ str(address) + " >> /dev/null"
79 status = os.system(cmd) No newline at end of file
79 status = os.system(cmd)
80 No newline at end of file
80
81 if status == 256: No newline at end of file
81 if status == 256:
82 return False No newline at end of file
82 return False
83 No newline at end of file
83
84 return True No newline at end of file
84 return True
85 No newline at end of file
85
86 def __writeReport(self, enaModules): No newline at end of file
86 def __writeReport(self, enaModules):
87 No newline at end of file
87
88 status_array = ["Status of modules\n"] No newline at end of file
88 status_array = ["Status of modules\n"]
89 status_array.append("----------------\n") No newline at end of file
89 status_array.append("----------------\n")
90 No newline at end of file
90
91 for address in range(1,65): No newline at end of file
91 for address in range(1,65):
92 if address in enaModules: No newline at end of file
92 if address in enaModules:
93 status_array.append("192.168.1." + str(address) + " [1 1]\n") No newline at end of file
93 status_array.append("192.168.1." + str(address) + " [1 1]\n")
94 else: No newline at end of file
94 else:
95 status_array.append("192.168.1." + str(address) + " [0 0]\n") No newline at end of file
95 status_array.append("192.168.1." + str(address) + " [0 0]\n")
96 No newline at end of file
96
97 filename = "module_status.txt" No newline at end of file
97 filename = "module_status.txt"
98 self.__writeFile(filename,status_array) No newline at end of file
98 self.__writeFile(filename,status_array)
99 # f = open("module_status.txt","w") No newline at end of file
99 # f = open("module_status.txt","w")
100 # f.writelines(status_array) No newline at end of file
100 # f.writelines(status_array)
101 # f.close() No newline at end of file
101 # f.close()
102 No newline at end of file
102
103 No newline at end of file
103
104 def __CreateFile(self, filename): No newline at end of file
104 def __CreateFile(self, filename):
105 No newline at end of file
105
106 fobj = open(filename,"w") No newline at end of file
106 fobj = open(filename,"w")
107 fobj.close() No newline at end of file
107 fobj.close()
108 No newline at end of file
108
109 def __writeNewFile(self, filename, data): No newline at end of file
109 def __writeNewFile(self, filename, data):
110 No newline at end of file
110
111 fobj = open(filename,"w") No newline at end of file
111 fobj = open(filename,"w")
112 fobj.writelines(data) No newline at end of file
112 fobj.writelines(data)
113 fobj.close() No newline at end of file
113 fobj.close()
114 No newline at end of file
114
115 def __writeFile(self, filename, data): No newline at end of file
115 def __writeFile(self, filename, data):
116 No newline at end of file
116
117 fobj = open(filename,"a") No newline at end of file
117 fobj = open(filename,"a")
118 fobj.writelines(data) No newline at end of file
118 fobj.writelines(data)
119 fobj.close() No newline at end of file
119 fobj.close()
120 No newline at end of file
120
121 def __checkAntenna(self): No newline at end of file
121 def __checkAntenna(self):
122 No newline at end of file
122
123 """ No newline at end of file
123 """
124 Direccion de los modulos de las antenas: No newline at end of file
124 Direccion de los modulos de las antenas:
125 No newline at end of file
125
126 Norte : 01-16 No newline at end of file
126 Norte : 01-16
127 Este : 17-32 No newline at end of file
127 Este : 17-32
128 Oeste: : 33-48 No newline at end of file
128 Oeste: : 33-48
129 Sur : 49-64 No newline at end of file
129 Sur : 49-64
130 No newline at end of file
130
131 """ No newline at end of file
131 """
132 No newline at end of file
132
133 enaModules2 = [] No newline at end of file
133 enaModules2 = []
134 No newline at end of file
134
135 for address in range(1,65): No newline at end of file
135 for address in range(1,65):
136 if self.checkModule(address): No newline at end of file
136 if self.checkModule(address):
137 enaModules2.append(address) No newline at end of file
137 enaModules2.append(address)
138 No newline at end of file
138
139 self.__writeReport(enaModules2) No newline at end of file
139 self.__writeReport(enaModules2)
140 return enaModules2 No newline at end of file
140 return enaModules2
141 No newline at end of file
141
142 def checkModule(self, arg, queue): No newline at end of file
142 def checkModule(self, arg, queue):
143 cmd = "ping -c 1 -w 1 192.168.1."+ str(arg) + " >> /dev/null" No newline at end of file
143 cmd = "ping -c 1 -w 1 192.168.1."+ str(arg) + " >> /dev/null"
144 status = os.system(cmd) No newline at end of file
144 status = os.system(cmd)
145 if status == 256: No newline at end of file
145 if status == 256:
146 result = "failed" No newline at end of file
146 result = "failed"
147 else: No newline at end of file
147 else:
148 result = "ok" No newline at end of file
148 result = "ok"
149 queue.put({arg: result}) No newline at end of file
149 queue.put({arg: result})
150 No newline at end of file
150
151 def checkAntenna(self): No newline at end of file
151 def checkAntenna(self):
152 No newline at end of file
152
153 iD = range(1,65) No newline at end of file
153 iD = range(1,65)
154 q = Queue.Queue() No newline at end of file
154 q = Queue.Queue()
155 threads = [] No newline at end of file
155 threads = []
156 tOut = [] No newline at end of file
156 tOut = []
157 modules = [] No newline at end of file
157 modules = []
158 No newline at end of file
158
159 for argument in iD: No newline at end of file
159 for argument in iD:
160 t = Thread(target=self.checkModule, args=(argument, q)) No newline at end of file
160 t = Thread(target=self.checkModule, args=(argument, q))
161 t.start() No newline at end of file
161 t.start()
162 threads.append(t) No newline at end of file
162 threads.append(t)
163 No newline at end of file
163
164 for t in threads: No newline at end of file
164 for t in threads:
165 t.join() No newline at end of file
165 t.join()
166 No newline at end of file
166
167 for _ in range(len(iD)): No newline at end of file
167 for _ in range(len(iD)):
168 tOut.append(q.get()) No newline at end of file
168 tOut.append(q.get())
169 No newline at end of file
169
170 for i in tOut: No newline at end of file
170 for i in tOut:
171 if i.values()[0] == 'ok': No newline at end of file
171 if i.values()[0] == 'ok':
172 modules.append(i.keys()[0]) No newline at end of file
172 modules.append(i.keys()[0])
173 No newline at end of file
173
174 return modules No newline at end of file
174 return modules
175 No newline at end of file
175
176 def __ConnectionWithControlModules(self,data,cmd,id): No newline at end of file
176 def __ConnectionWithControlModules(self,data,cmd,id):
177 No newline at end of file
177
178 self.commClientObj.open_socket() No newline at end of file
178 self.commClientObj.open_socket()
179 ip = "192.168.1." + str(id) No newline at end of file
179 ip = "192.168.1." + str(id)
180 self.commClientObj.sendData(cmd, data, ip) No newline at end of file
180 self.commClientObj.sendData(cmd, data, ip)
181 ipSource, ipDestino, cmd, tmp = self.commClientObj.waitData() No newline at end of file
181 ipSource, ipDestino, cmd, tmp = self.commClientObj.waitData()
182 self.commClientObj.close_socket() No newline at end of file
182 self.commClientObj.close_socket()
183 No newline at end of file
183
184 return tmp No newline at end of file
184 return tmp
185 No newline at end of file
185
186 def abs2ControlModuleFormatFile(self, filename): No newline at end of file
186 def abs2ControlModuleFormatFile(self, filename):
187 No newline at end of file
187
188 #From matriz to control module format No newline at end of file
188 #From matriz to control module format
189 self.wFiles.toCentralControlFormat(filename) No newline at end of file
189 self.wFiles.toCentralControlFormat(filename)
190 FileName = "CentralControlFormat.txt" No newline at end of file
190 FileName = "CentralControlFormat.txt"
191 F_Obj = open(FileName,"r") No newline at end of file
191 F_Obj = open(FileName,"r")
192 FileList = F_Obj.readlines() No newline at end of file
192 FileList = F_Obj.readlines()
193 F_Obj.close() No newline at end of file
193 F_Obj.close()
194 FileStr = "".join(FileList) No newline at end of file
194 FileStr = "".join(FileList)
195 No newline at end of file
195
196 return FileStr No newline at end of file
196 return FileStr
197 No newline at end of file
197
198 def __All2Blocks(self,input): No newline at end of file
198 def __All2Blocks(self,input):
199 No newline at end of file
199
200 rx_frame_lst = input.split('\n',2) No newline at end of file
200 rx_frame_lst = input.split('\n',2)
201 No newline at end of file
201
202 header = rx_frame_lst[0] + "\n" No newline at end of file
202 header = rx_frame_lst[0] + "\n"
203 control_modules_str = rx_frame_lst[2] No newline at end of file
203 control_modules_str = rx_frame_lst[2]
204 control_modules_lst = control_modules_str.split("------\n") No newline at end of file
204 control_modules_lst = control_modules_str.split("------\n")
205 No newline at end of file
205
206 return header, control_modules_lst No newline at end of file
206 return header, control_modules_lst
207 No newline at end of file
207
208 No newline at end of file
208
209 def __sendFile2Modules(self,cmd, rx_buffer): No newline at end of file
209 def __sendFile2Modules(self,cmd, rx_buffer):
210 No newline at end of file
210
211 # rx_buffer_lst = self.rx_buffer.split('\n',1) No newline at end of file
211 # rx_buffer_lst = self.rx_buffer.split('\n',1)
212 rx_buffer_lst = rx_buffer.split('\n',1) No newline at end of file
212 rx_buffer_lst = rx_buffer.split('\n',1)
213 #Getting the filename from the begining of data No newline at end of file
213 #Getting the filename from the begining of data
214 filename = rx_buffer_lst[0] No newline at end of file
214 filename = rx_buffer_lst[0]
215 tmp = rx_buffer_lst[1] No newline at end of file
215 tmp = rx_buffer_lst[1]
216 self.__writeFile(filename,tmp) No newline at end of file
216 self.__writeFile(filename,tmp)
217 data = self.abs2ControlModuleFormatFile(filename) No newline at end of file
217 data = self.abs2ControlModuleFormatFile(filename)
218 #Needed for the loop No newline at end of file
218 #Needed for the loop
219 header, control_modules_lst = self.__All2Blocks(data) No newline at end of file
219 header, control_modules_lst = self.__All2Blocks(data)
220 correct = 0 No newline at end of file
220 correct = 0
221 No newline at end of file
221
222 for id in range(1,65): No newline at end of file
222 for id in range(1,65):
223 No newline at end of file
223
224 if id not in self.enaModules: No newline at end of file
224 if id not in self.enaModules:
225 continue No newline at end of file
225 continue
226 No newline at end of file
226
227 if self.__ConnectionWithControlModules(header + control_modules_lst[id-1], cmd, id) == "OK": No newline at end of file
227 if self.__ConnectionWithControlModules(header + control_modules_lst[id-1], cmd, id) == "OK":
228 correct = correct + 1 No newline at end of file
228 correct = correct + 1
229 No newline at end of file
229
230 if correct == len(self.enaModules): No newline at end of file
230 if correct == len(self.enaModules):
231 rpta = "OK" No newline at end of file
231 rpta = "OK"
232 else: No newline at end of file
232 else:
233 rpta = "Failure" No newline at end of file
233 rpta = "Failure"
234 No newline at end of file
234
235 return rpta No newline at end of file
235 return rpta
236 No newline at end of file
236
237 def __getFileFromModules(self, cmd, rx_buffer): No newline at end of file
237 def __getFileFromModules(self, cmd, rx_buffer):
238 No newline at end of file
238
239 for id in range(1,65): No newline at end of file
239 for id in range(1,65):
240 if id not in self.enaModules: No newline at end of file
240 if id not in self.enaModules:
241 continue No newline at end of file
241 continue
242 No newline at end of file
242
243 file = self.__ConnectionWithControlModules(rx_buffer,cmd,id) No newline at end of file
243 file = self.__ConnectionWithControlModules(rx_buffer,cmd,id)
244 del self.rxFile[id-1] No newline at end of file
244 del self.rxFile[id-1]
245 self.rxFile.insert(id-1, file) No newline at end of file
245 self.rxFile.insert(id-1, file)
246 No newline at end of file
246
247 return self.rxFile No newline at end of file
247 return self.rxFile
248 No newline at end of file
248
249 def __changeBeam(self, cmd, rx_buffer): No newline at end of file
249 def __changeBeam(self, cmd, rx_buffer):
250 No newline at end of file
250
251 correct = 0 No newline at end of file
251 correct = 0
252 # enaModules = self.checkAntenna() No newline at end of file
252 # enaModules = self.checkAntenna()
253 # enaModules = [11,12,13,14] No newline at end of file
253 # enaModules = [11,12,13,14]
254 No newline at end of file
254
255 for id in range(1,65): No newline at end of file
255 for id in range(1,65):
256 if id not in self.enaModules: No newline at end of file
256 if id not in self.enaModules:
257 continue No newline at end of file
257 continue
258 No newline at end of file
258
259 if self.__ConnectionWithControlModules(rx_buffer,cmd,id) == "OK": No newline at end of file
259 if self.__ConnectionWithControlModules(rx_buffer,cmd,id) == "OK":
260 correct = correct + 1 No newline at end of file
260 correct = correct + 1
261 No newline at end of file
261
262 if correct == len(self.enaModules): No newline at end of file
262 if correct == len(self.enaModules):
263 rpta = "OK" No newline at end of file
263 rpta = "OK"
264 else: No newline at end of file
264 else:
265 rpta = "Failure" No newline at end of file
265 rpta = "Failure"
266 No newline at end of file
266
267 return rpta No newline at end of file
267 return rpta
268 No newline at end of file
268
269 def __getControlModuleStatus(self, cmd, rx_buffer): No newline at end of file
269 def __getControlModuleStatus(self, cmd, rx_buffer):
270 No newline at end of file
270
271 # all_blocks = "" No newline at end of file
271 # all_blocks = ""
272 # all_blocks = [] No newline at end of file
272 # all_blocks = []
273 # enaModules = self.checkAntenna() No newline at end of file
273 # enaModules = self.checkAntenna()
274 # enaModules = [11,12,13,14] No newline at end of file
274 # enaModules = [11,12,13,14]
275 No newline at end of file
275
276 for id in range(1,65): No newline at end of file
276 for id in range(1,65):
277 if id not in self.enaModules: No newline at end of file
277 if id not in self.enaModules:
278 continue No newline at end of file
278 continue
279 No newline at end of file
279
280 bits = self.__ConnectionWithControlModules(rx_buffer,cmd,id) No newline at end of file
280 bits = self.__ConnectionWithControlModules(rx_buffer,cmd,id)
281 del self.bits[id-1] No newline at end of file
281 del self.bits[id-1]
282 self.bits.insert(id-1, bits) No newline at end of file
282 self.bits.insert(id-1, bits)
283 No newline at end of file
283
284 # all_blocks.append(one_block) No newline at end of file
284 # all_blocks.append(one_block)
285 #Using tx buffer No newline at end of file
285 #Using tx buffer
286 No newline at end of file
286
287 return self.bits No newline at end of file
287 return self.bits
288 No newline at end of file
288
289 def __getControlModuleStatus_new(self, cmd, rx_buffer): No newline at end of file
289 def __getControlModuleStatus_new(self, cmd, rx_buffer):
290 No newline at end of file
290
291 all_mnt = [] No newline at end of file
291 all_mnt = []
292 for id in range(1,65): No newline at end of file
292 for id in range(1,65):
293 if id not in self.enaModules: No newline at end of file
293 if id not in self.enaModules:
294 continue No newline at end of file
294 continue
295 No newline at end of file
295
296 mnt = self.__ConnectionWithControlModules(rx_buffer,cmd,id) No newline at end of file
296 mnt = self.__ConnectionWithControlModules(rx_buffer,cmd,id)
297 all_mnt.append(mnt) No newline at end of file
297 all_mnt.append(mnt)
298 No newline at end of file
298
299 __function1(type = rx_buffer, in_lst = all_mnt) No newline at end of file
299 __function1(type = rx_buffer, in_lst = all_mnt)
300 #return "".join(all_mnt) No newline at end of file
300 #return "".join(all_mnt)
301 No newline at end of file
301
302 def __function1(self, type, in_lst): No newline at end of file
302 def __function1(self, type, in_lst):
303 No newline at end of file
303
304 if type == "0": No newline at end of file
304 if type == "0":
305 out_str = "".join(in_lst) No newline at end of file
305 out_str = "".join(in_lst)
306 elif type == "1": No newline at end of file
306 elif type == "1":
307 out_str = "".join(in_lst) No newline at end of file
307 out_str = "".join(in_lst)
308 elif type == "2": No newline at end of file
308 elif type == "2":
309 out_str = "".join(in_lst) No newline at end of file
309 out_str = "".join(in_lst)
310 elif type == "3": No newline at end of file
310 elif type == "3":
311 TwoComparation(in_lst = in_lst) No newline at end of file
311 TwoComparation(in_lst = in_lst)
312 else: No newline at end of file
312 else:
313 ThreeComparation(in_lst = in_lst) No newline at end of file
313 ThreeComparation(in_lst = in_lst)
314 No newline at end of file
314
315 return out_str No newline at end of file
315 return out_str
316 No newline at end of file
316
317 def __TwoComparation(self, in_lst): No newline at end of file
317 def __TwoComparation(self, in_lst):
318 cm_up =[] No newline at end of file
318 cm_up =[]
319 cm_dw =[] No newline at end of file
319 cm_dw =[]
320 relay_up =[] No newline at end of file
320 relay_up =[]
321 relay_dw =[] No newline at end of file
321 relay_dw =[]
322 for i in in_lst: No newline at end of file
322 for i in in_lst:
323 relay_up.append(i[14:17]) No newline at end of file
323 relay_up.append(i[14:17])
324 relay_dw.append(i[17:20]) No newline at end of file
324 relay_dw.append(i[17:20])
325 cm_up.append(i[21:24])
No newline at end of file
326 cm_dw.append(i[24:27])
No newline at end of file
327
No newline at end of file
328 comp_up = []
No newline at end of file
329 comp_dw = []
No newline at end of file
330
No newline at end of file
331 for i in range(len(relay_up)):
No newline at end of file
332 if cmp(relay_up[i], cm_up[i]) == 0:
No newline at end of file
333 comp_up.append(0)
No newline at end of file
334 else:
No newline at end of file
335 comp_up.append(1)
No newline at end of file
336
No newline at end of file
337 for i in range(len(relay_dw)):
No newline at end of file
338 if cmp(relay_dw[i], cm_dw[i]) == 0:
No newline at end of file
339 comp_dw.append(0)
No newline at end of file
340 else:
No newline at end of file
341 comp_dw.append(1)
No newline at end of file
342
No newline at end of file
343 print comp_up
No newline at end of file
344 print comp_dw
No newline at end of file
345 No newline at end of file
325 No newline at end of file
346
326 No newline at end of file
347
327 def __ThreeComparation(self, in_lst): No newline at end of file
348 def __ThreeComparation(self, in_lst):
328 pass No newline at end of file
349 pass
329 No newline at end of file
350
330 def __getControlModuleBigPhase(self, cmd, rx_buffer): No newline at end of file
351 def __getControlModuleBigPhase(self, cmd, rx_buffer):
331 No newline at end of file
352
332 # all_blocks = "" No newline at end of file
353 # all_blocks = ""
333 all_blocks = [] No newline at end of file
354 all_blocks = []
334 # enaModules = self.checkAntenna() No newline at end of file
355 # enaModules = self.checkAntenna()
335 # enaModules = [11,12,13,14] No newline at end of file
356 # enaModules = [11,12,13,14]
336 No newline at end of file
357
337 for id in range(1,65): No newline at end of file
358 for id in range(1,65):
338 if id not in self.enaModules: No newline at end of file
359 if id not in self.enaModules:
339 continue No newline at end of file
360 continue
340 No newline at end of file
361
341 one_block = self.__ConnectionWithControlModules(rx_buffer,cmd,id) No newline at end of file
362 one_block = self.__ConnectionWithControlModules(rx_buffer,cmd,id)
342 No newline at end of file
363
343 # all_blocks = all_blocks + one_block No newline at end of file
364 # all_blocks = all_blocks + one_block
344 all_blocks.append(one_block) No newline at end of file
365 all_blocks.append(one_block)
345 #Using tx buffer No newline at end of file
366 #Using tx buffer
346 return all_blocks No newline at end of file
367 return all_blocks
347 No newline at end of file
368
348 def __getControlModuleLowPhase(self, cmd, rx_buffer): No newline at end of file
369 def __getControlModuleLowPhase(self, cmd, rx_buffer):
349 No newline at end of file
370
350 # all_blocks = "" No newline at end of file
371 # all_blocks = ""
351 # all_blocks = [] No newline at end of file
372 # all_blocks = []
352 # enaModules = self.checkAntenna() No newline at end of file
373 # enaModules = self.checkAntenna()
353 # enaModules = [11,12,13,14] No newline at end of file
374 # enaModules = [11,12,13,14]
354 No newline at end of file
375
355 for id in range(1,65): No newline at end of file
376 for id in range(1,65):
356 if id not in self.enaModules: No newline at end of file
377 if id not in self.enaModules:
357 continue No newline at end of file
378 continue
358 No newline at end of file
379
359 phase = self.__ConnectionWithControlModules(rx_buffer,cmd,id) No newline at end of file
380 phase = self.__ConnectionWithControlModules(rx_buffer,cmd,id)
360 del self.phase[id-1] No newline at end of file
381 del self.phase[id-1]
361 self.phase.insert(id-1, phase) No newline at end of file
382 self.phase.insert(id-1, phase)
362 # all_blocks = all_blocks + one_block No newline at end of file
383 # all_blocks = all_blocks + one_block
363 # all_blocks.append(one_block) No newline at end of file
384 # all_blocks.append(one_block)
364 #Using tx buffer No newline at end of file
385 #Using tx buffer
365 # return all_blocks No newline at end of file
386 # return all_blocks
366 No newline at end of file
387
367 def __getConnectionStatus(self, cmd, rx_buffer): No newline at end of file
388 def __getConnectionStatus(self, cmd, rx_buffer):
368 No newline at end of file
389
369 ena = self.checkAntenna() No newline at end of file
390 ena = self.checkAntenna()
370 print ena No newline at end of file
391 print ena
371 self.enaModules = ena No newline at end of file
392 self.enaModules = ena
372 No newline at end of file
393
373 blockLst = [] No newline at end of file
394 blockLst = []
374 No newline at end of file
395
375 for id in range(1,65): No newline at end of file
396 for id in range(1,65):
376 if id not in self.enaModules: No newline at end of file
397 if id not in self.enaModules:
377 continue No newline at end of file
398 continue
378 No newline at end of file
399
379 blockStr = self.__ConnectionWithControlModules(rx_buffer,cmd,id) No newline at end of file
400 blockStr = self.__ConnectionWithControlModules(rx_buffer,cmd,id)
380 blockLst.append(blockStr + ", 192.168.1." + str(id) + "\n") No newline at end of file
401 blockLst.append(blockStr + ", 192.168.1." + str(id) + "\n")
381 #Using tx buffer No newline at end of file
402 #Using tx buffer
382 all_blocks = "".join(blockLst) No newline at end of file
403 all_blocks = "".join(blockLst)
383 No newline at end of file
404
384 return all_blocks No newline at end of file
405 return all_blocks
385 No newline at end of file
406
386 def getConnectionStatus(self, cmd): No newline at end of file
407 def getConnectionStatus(self, cmd):
387 No newline at end of file
408
388 ena = self.checkAntenna() No newline at end of file
409 ena = self.checkAntenna()
389 self.enaModules = ena No newline at end of file
410 self.enaModules = ena
390 No newline at end of file
411
391 blockLst = [] No newline at end of file
412 blockLst = []
392 No newline at end of file
413
393 for id in range(1,65): No newline at end of file
414 for id in range(1,65):
394 if id not in self.enaModules: No newline at end of file
415 if id not in self.enaModules:
395 continue No newline at end of file
416 continue
396 No newline at end of file
417
397 blockStr = self.__ConnectionWithControlModules(self.rx_buffer,cmd,id) No newline at end of file
418 blockStr = self.__ConnectionWithControlModules(self.rx_buffer,cmd,id)
398 blockLst.append(blockStr + ", 192.168.1." + str(id) + "\n") No newline at end of file
419 blockLst.append(blockStr + ", 192.168.1." + str(id) + "\n")
399 #Using tx buffer No newline at end of file
420 #Using tx buffer
400 self.tx_buffer = "".join(blockLst) No newline at end of file
421 self.tx_buffer = "".join(blockLst)
401 print self.tx_buffer No newline at end of file
422 print self.tx_buffer
402 No newline at end of file
423
403 return self.tx_buffer No newline at end of file
424 return self.tx_buffer
404 No newline at end of file
425
405 def __getControlModuleStatus_old(self, cmd, rx_buffer): No newline at end of file
426 def __getControlModuleStatus_old(self, cmd, rx_buffer):
406 No newline at end of file
427
407 all_blocks = "" No newline at end of file
428 all_blocks = ""
408 # enaModules = self.checkAntenna() No newline at end of file
429 # enaModules = self.checkAntenna()
409 # enaModules = [11,12,13,14] No newline at end of file
430 # enaModules = [11,12,13,14]
410 No newline at end of file
431
411 for id in range(1,65): No newline at end of file
432 for id in range(1,65):
412 if id not in self.enaModules: No newline at end of file
433 if id not in self.enaModules:
413 continue No newline at end of file
434 continue
414 No newline at end of file
435
415 one_block = self.__ConnectionWithControlModules(rx_buffer,cmd,id) No newline at end of file
436 one_block = self.__ConnectionWithControlModules(rx_buffer,cmd,id)
416 No newline at end of file
437
417 all_blocks = all_blocks + one_block No newline at end of file
438 all_blocks = all_blocks + one_block
418 #Using tx buffer No newline at end of file
439 #Using tx buffer
419 print all_blocks No newline at end of file
440 print all_blocks
420 self.tx_buffer = all_blocks No newline at end of file
441 self.tx_buffer = all_blocks
421 No newline at end of file
442
422 return all_blocks No newline at end of file
443 return all_blocks
423 No newline at end of file
444
424 def __StartingAutomaticControlModules(self): No newline at end of file
445 def __StartingAutomaticControlModules(self):
425 No newline at end of file
446
426 #Starting file No newline at end of file
447 #Starting file
427 self.__CreateFile("Monitoring.txt") No newline at end of file
448 self.__CreateFile("Monitoring.txt")
428 # data = "MOD.\t BITS\t\t PHASE\n" No newline at end of file
449 # data = "MOD.\t BITS\t\t PHASE\n"
429 # self.__writeFile("Monitoring.txt", data) No newline at end of file
450 # self.__writeFile("Monitoring.txt", data)
430 #Starting lists No newline at end of file
451 #Starting lists
431 self.txFile = list("------\n------\n------\n" for i in range(64)) No newline at end of file
452 self.txFile = list("------\n------\n------\n" for i in range(64))
432 self.rxFile = list("------\n------\n------\n" for i in range(64)) No newline at end of file
453 self.rxFile = list("------\n------\n------\n" for i in range(64))
433 self.bits = list("------\n------\n------\n" for i in range(64)) No newline at end of file
454 self.bits = list("------\n------\n------\n" for i in range(64))
434 self.phase = list("----- -----\n----- -----\n----- -----\n" for i in range(64)) No newline at end of file
455 self.phase = list("----- -----\n----- -----\n----- -----\n" for i in range(64))
435 No newline at end of file
456
436 def __AutomaticControlModules(self): No newline at end of file
457 def __AutomaticControlModules(self):
437 No newline at end of file
458
438 # cmd = "GETF" No newline at end of file
459 # cmd = "GETF"
439 # rx_buffer = "experimento1.ab1" + "\n" No newline at end of file
460 # rx_buffer = "experimento1.ab1" + "\n"
440 # self.__getFileFromModules(cmd = cmd, rx_buffer = rx_buffer) No newline at end of file
461 # self.__getFileFromModules(cmd = cmd, rx_buffer = rx_buffer)
441 # No newline at end of file
462 #
442 # print self.rxFile No newline at end of file
463 # print self.rxFile
443 No newline at end of file
464
444 cmd = "ANST" No newline at end of file
465 cmd = "ANST"
445 rx_buffer = "1" No newline at end of file
466 rx_buffer = "1"
446 self.__getControlModuleStatus(cmd = cmd, rx_buffer = rx_buffer) No newline at end of file
467 self.__getControlModuleStatus(cmd = cmd, rx_buffer = rx_buffer)
447 No newline at end of file
468
448 cmd = "LWPH" No newline at end of file
469 cmd = "LWPH"
449 rx_buffer = "0" No newline at end of file
470 rx_buffer = "0"
450 self.__getControlModuleLowPhase(cmd = cmd, rx_buffer = rx_buffer) No newline at end of file
471 self.__getControlModuleLowPhase(cmd = cmd, rx_buffer = rx_buffer)
451 print "Saving file..." No newline at end of file
472 print "Saving file..."
452 No newline at end of file
473
453 No newline at end of file
474
454 print self.bits No newline at end of file
475 print self.bits
455 print self.phase No newline at end of file
476 print self.phase
456 No newline at end of file
477
457 self.__WritingMonitoringFile() No newline at end of file
478 self.__WritingMonitoringFile()
458 No newline at end of file
479
459 threading.Timer(60, self.__AutomaticControlModules).start() No newline at end of file
480 threading.Timer(60, self.__AutomaticControlModules).start()
460 No newline at end of file
481
461 def __WritingMonitoringFile(self): No newline at end of file
482 def __WritingMonitoringFile(self):
462 filename = "Monitoring.txt" No newline at end of file
483 filename = "Monitoring.txt"
463 data = '===============================' + '\n' No newline at end of file
484 data = '===============================' + '\n'
464 self.__writeFile(filename, data) No newline at end of file
485 self.__writeFile(filename, data)
465 data = time.strftime('\t' + "%d%b%Y %I:%M:%S %p" + '\n', time.localtime()) No newline at end of file
486 data = time.strftime('\t' + "%d%b%Y %I:%M:%S %p" + '\n', time.localtime())
466 self.__writeFile(filename, data) No newline at end of file
487 self.__writeFile(filename, data)
467 data = "MOD.\t BITS\t\t PHASE\n" No newline at end of file
488 data = "MOD.\t BITS\t\t PHASE\n"
468 self.__writeFile(filename, data) No newline at end of file
489 self.__writeFile(filename, data)
469 data = '===============================' + '\n' No newline at end of file
490 data = '===============================' + '\n'
470 self.__writeFile(filename, data) No newline at end of file
491 self.__writeFile(filename, data)
471 for i in range(64): No newline at end of file
492 for i in range(64):
472 tmp = self.bits[i].split('\n',3) No newline at end of file
493 tmp = self.bits[i].split('\n',3)
473 self.__writeFile(filename, ' ' + str(i + 1) + '\t\t' + tmp[2]) No newline at end of file
494 self.__writeFile(filename, ' ' + str(i + 1) + '\t\t' + tmp[2])
474 tmp = self.phase[i].split('\n',3) No newline at end of file
495 tmp = self.phase[i].split('\n',3)
475 self.__writeFile(filename, '\t\t' + tmp[2] + '\n') No newline at end of file
496 self.__writeFile(filename, '\t\t' + tmp[2] + '\n')
476 No newline at end of file
497
477 if __name__ == '__main__': No newline at end of file
498 if __name__ == '__main__':
478 No newline at end of file
499
479 absObj = ABSServer() No newline at end of file
500 absObj = ABSServer()
480 No newline at end of file
501
481 while 1: No newline at end of file
502 while 1:
482 absObj.waitRequest() No newline at end of file
503 absObj.waitRequest()
General Comments 0
You need to be logged in to leave comments. Login now