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