##// END OF EJS Templates
imanay -
r57:58
parent child
Show More
@@ -1,488 +1,488
1 # imports needed for the file convertion
1 # imports needed for the file convertion
2 import os
2 import os
3 import sys
3 import sys
4 import time
4 import time
5 import numpy as np
5 import numpy as np
6
6
7 import library
7 import library
8
8
9 class ABSClient:
9 class ABSClient:
10
10
11 def __init__(self,ipSource="localhost", ipDestino="192.168.1.255", portDestino=7000):
11 def __init__(self,ipSource="localhost", ipDestino="192.168.1.255", portDestino=7000):
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.createObjects()
17 self.createObjects()
18
18
19 def createObjects(self):
19 def createObjects(self):
20
20
21 self.commObj = library.UDPComm(self.ipSource, self.ipDestino, self.portDestino)
21 self.commObj = library.UDPComm(self.ipSource, self.ipDestino, self.portDestino)
22
22
23 def sendFile(self, filename):
23 def sendFile(self, filename):
24
24
25 #From matriz to control module format
25 #From matriz to control module format
26 self.FuncionMaestra_GeneraFormatoControlCentral(filename)
26 self.FuncionMaestra_GeneraFormatoControlCentral(filename)
27 FileName = "FormatoControlCentral.txt"
27 FileName = "FormatoControlCentral.txt"
28 F_Obj = open(FileName,"r")
28 F_Obj = open(FileName,"r")
29 FileList = F_Obj.readlines()
29 FileList = F_Obj.readlines()
30 F_Obj.close()
30 F_Obj.close()
31 FileStr = "".join(FileList)
31 FileStr = "".join(FileList)
32 data = FileStr
32 data = FileStr
33
33
34 self.commObj.sendData(cmd="SNDF", data=data)
34 self.commObj.sendData(cmd="SNDF", data=data)
35 self.commObj.waitData()
35 self.commObj.waitData()
36
36
37 def changeBeam(self, newBeam):
37 def changeBeam(self, newBeam):
38
38
39 self.commObj.sendData(cmd="CHGB", data=newBeam)
39 self.commObj.sendData(cmd="CHGB", data=newBeam)
40 self.commObj.waitData()
40 self.commObj.waitData()
41
41
42 def __writeFile(self, filename, data):
42 def __writeFile(self, filename, data):
43
43
44 fobj = open(filename,"w")
44 fobj = open(filename,"w")
45 fobj.writelines(data)
45 fobj.writelines(data)
46 fobj.close()
46 fobj.close()
47
47
48 def getStatus(self, data):
48 def getStatus(self, data):
49
49
50 self.commObj.sendData(cmd="ANST", data = data)
50 self.commObj.sendData(cmd="ANST", data = data)
51 ipSource, ipDestino, cmd, data = self.commObj.waitData()
51 ipSource, ipDestino, cmd, data = self.commObj.waitData()
52 self.__writeFile("report.txt", data)
52 self.__writeFile("report.txt", data)
53
53
54 ##########
54 ##########
55
55
56 def FuncionMaestra_GeneraFormatoControlCentral(self,archivo):
56 def FuncionMaestra_GeneraFormatoControlCentral(self,archivo):
57 """ Funcion que genera un archivo para el control central"""
57 """ Funcion que genera un archivo para el control central"""
58
58
59 # CarpetaDeTrabajo='/home/redes/ABS_Control_2012_09_24/Control_Module_v1_Client_09_24/'
59 # CarpetaDeTrabajo='/home/redes/ABS_Control_2012_09_24/Control_Module_v1_Client_09_24/'
60 CarpetaDeTrabajo = os.getcwd() + '/'
60 CarpetaDeTrabajo = os.getcwd() + '/'
61 #print CarpetaDeTrabajo
61 #print CarpetaDeTrabajo
62 #CarpetaDeTrabajo='/home/redes/workspace/ABS_Client_v2/Debug/'
62 #CarpetaDeTrabajo='/home/redes/workspace/ABS_Client_v2/Debug/'
63
63
64 def lst2string(lst):
64 def lst2string(lst):
65 string=''
65 string=''
66 for i in lst:
66 for i in lst:
67 string=string+i
67 string=string+i
68 return string
68 return string
69
69
70 def string2lst(string):
70 def string2lst(string):
71 lst = []
71 lst = []
72 for i in string:
72 for i in string:
73 lst.append(i)
73 lst.append(i)
74 return lst
74 return lst
75
75
76
76
77 def file1(string, type):
77 def file1(string, type):
78 lst = string2lst(archivo)
78 lst = string2lst(archivo)
79 fin = -1
79 fin = -1
80 t = len(lst)
80 t = len(lst)
81 for i in np.arange(-1,-t,-1):
81 for i in np.arange(-1,-t,-1):
82 if lst[i]=='/':
82 if lst[i]=='/':
83 fin=i
83 fin=i
84 break
84 break
85 if type == '1':
85 if type == '1':
86 nombre2 = lst[fin+1:]
86 nombre2 = lst[fin+1:]
87 nombre2[-1]='s'
87 nombre2[-1]='s'
88 nombre2 = lst2string(nombre2)
88 nombre2 = lst2string(nombre2)
89 return nombre2
89 return nombre2
90 if type == '2':
90 if type == '2':
91 nombre2 = lst[fin+1:]
91 nombre2 = lst[fin+1:]
92 nombre2[-1]='1'
92 nombre2[-1]='1'
93 nombre2 = lst2string(nombre2)
93 nombre2 = lst2string(nombre2)
94 return nombre2
94 return nombre2
95
95
96
96
97 def EliminaSaltoDeLinea(cadena):
97 def EliminaSaltoDeLinea(cadena):
98 i = 0
98 i = 0
99 for elemento in cadena:
99 for elemento in cadena:
100 if elemento =='\n' or elemento =='\r':
100 if elemento =='\n' or elemento =='\r':
101 pass
101 pass
102 else:
102 else:
103 i=i+1
103 i=i+1
104 return cadena [:i]
104 return cadena [:i]
105
105
106 def NumeroDeExperimentos(path):
106 def NumeroDeExperimentos(path):
107 fichero1=open(path,'r')
107 fichero1=open(path,'r')
108 cont=0
108 cont=0
109 for cadena in fichero1:
109 for cadena in fichero1:
110 cont=cont+1
110 cont=cont+1
111 if cont==3:
111 if cont==3:
112 nexp=''
112 nexp=''
113 pos=0
113 pos=0
114 for elemento in cadena:
114 for elemento in cadena:
115 pos=pos+1
115 pos=pos+1
116 if elemento=='=':
116 if elemento=='=':
117 nexp=int(cadena[pos:])
117 nexp=int(cadena[pos:])
118 return nexp
118 return nexp
119 fichero1.close()
119 fichero1.close()
120
120
121 def Paridad(numero):
121 def Paridad(numero):
122 if numero%2==0: return 'par'
122 if numero%2==0: return 'par'
123 elif numero%2==1: return 'impar'
123 elif numero%2==1: return 'impar'
124
124
125 def EvaluaCadena(cadena):
125 def EvaluaCadena(cadena):
126 if len(cadena)>35:
126 if len(cadena)>35:
127 if cadena[-1]=='$':
127 if cadena[-1]=='$':
128 return cadena[-35:-2]
128 return cadena[-35:-2]
129 elif cadena[-1]==']':
129 elif cadena[-1]==']':
130 return cadena[-34:-1]
130 return cadena[-34:-1]
131 else:
131 else:
132 return None
132 return None
133
133
134 def GuardaEnLista(path):
134 def GuardaEnLista(path):
135 fichero=open(path,'r')
135 fichero=open(path,'r')
136 lista=[]
136 lista=[]
137 for cadena in fichero:
137 for cadena in fichero:
138 cadena = EliminaSaltoDeLinea(cadena)
138 cadena = EliminaSaltoDeLinea(cadena)
139 cadena = EvaluaCadena(cadena)
139 cadena = EvaluaCadena(cadena)
140 if cadena != None:
140 if cadena != None:
141 lista.append(cadena)
141 lista.append(cadena)
142 fichero.close()
142 fichero.close()
143 return lista
143 return lista
144
144
145 def CreaFicherosPrevios():
145 def CreaFicherosPrevios():
146 vector = GuardaEnLista(archivo)
146 vector = GuardaEnLista(archivo)
147 for i in range(1,NumeroDeExperimentos(archivo)+1):
147 for i in range(1,NumeroDeExperimentos(archivo)+1):
148 fichero =open(CarpetaDeTrabajo+str(i)+'.txt','w')
148 fichero =open(CarpetaDeTrabajo+str(i)+'.txt','w')
149 for j in range(0,16):
149 for j in range(0,16):
150 fichero.write(vector[j+16*(i-1)]+'\n')
150 fichero.write(vector[j+16*(i-1)]+'\n')
151 fichero.close()
151 fichero.close()
152
152
153 def CapturaValoresEnArchivo(path,polarizacion='up'):
153 def CapturaValoresEnArchivo(path,polarizacion='up'):
154 fichero =open(path,'r')
154 fichero =open(path,'r')
155 cnt=0
155 cnt=0
156 lstup=[]
156 lstup=[]
157 lstdw=[]
157 lstdw=[]
158 for cadena in fichero:
158 for cadena in fichero:
159 cnt=cnt+1
159 cnt=cnt+1
160 if cnt==5:
160 if cnt==5:
161 su01=cadena[17:20]
161 su01=cadena[17:20]
162 su02=cadena[21:24]
162 su02=cadena[21:24]
163 su03=cadena[25:28]
163 su03=cadena[25:28]
164 su04=cadena[29:32]
164 su04=cadena[29:32]
165 if cnt==6:
165 if cnt==6:
166 su05=cadena[17:20]
166 su05=cadena[17:20]
167 su06=cadena[21:24]
167 su06=cadena[21:24]
168 su07=cadena[25:28]
168 su07=cadena[25:28]
169 su08=cadena[29:32]
169 su08=cadena[29:32]
170 if cnt==7:
170 if cnt==7:
171 su09=cadena[17:20]
171 su09=cadena[17:20]
172 su10=cadena[21:24]
172 su10=cadena[21:24]
173 su11=cadena[25:28]
173 su11=cadena[25:28]
174 su12=cadena[29:32]
174 su12=cadena[29:32]
175 if cnt==8:
175 if cnt==8:
176 su13=cadena[17:20]
176 su13=cadena[17:20]
177 su14=cadena[21:24]
177 su14=cadena[21:24]
178 su15=cadena[25:28]
178 su15=cadena[25:28]
179 su16=cadena[29:32]
179 su16=cadena[29:32]
180 if cnt==13:
180 if cnt==13:
181 sd01=cadena[17:20]
181 sd01=cadena[17:20]
182 sd02=cadena[21:24]
182 sd02=cadena[21:24]
183 sd03=cadena[25:28]
183 sd03=cadena[25:28]
184 sd04=cadena[29:32]
184 sd04=cadena[29:32]
185 if cnt==14:
185 if cnt==14:
186 sd05=cadena[17:20]
186 sd05=cadena[17:20]
187 sd06=cadena[21:24]
187 sd06=cadena[21:24]
188 sd07=cadena[25:28]
188 sd07=cadena[25:28]
189 sd08=cadena[29:32]
189 sd08=cadena[29:32]
190 if cnt==15:
190 if cnt==15:
191 sd09=cadena[17:20]
191 sd09=cadena[17:20]
192 sd10=cadena[21:24]
192 sd10=cadena[21:24]
193 sd11=cadena[25:28]
193 sd11=cadena[25:28]
194 sd12=cadena[29:32]
194 sd12=cadena[29:32]
195 if cnt==16:
195 if cnt==16:
196 sd13=cadena[17:20]
196 sd13=cadena[17:20]
197 sd14=cadena[21:24]
197 sd14=cadena[21:24]
198 sd15=cadena[25:28]
198 sd15=cadena[25:28]
199 sd16=cadena[29:32]
199 sd16=cadena[29:32]
200 lstup=[su01,su02,su03,su04,su05,su06,su07,su08,su09,su10,su11,su12,su13,su14,su15,su16]
200 lstup=[su01,su02,su03,su04,su05,su06,su07,su08,su09,su10,su11,su12,su13,su14,su15,su16]
201 lstdw=[sd01,sd02,sd03,sd04,sd05,sd06,sd07,sd08,sd09,sd10,sd11,sd12,sd13,sd14,sd15,sd16]
201 lstdw=[sd01,sd02,sd03,sd04,sd05,sd06,sd07,sd08,sd09,sd10,sd11,sd12,sd13,sd14,sd15,sd16]
202 if polarizacion=='up':
202 if polarizacion=='up':
203 return lstup
203 return lstup
204 elif polarizacion=='dw':
204 elif polarizacion=='dw':
205 return lstdw
205 return lstdw
206 fichero.close()
206 fichero.close()
207
207
208 def CapturaValoresEnArchivo2(path,polarizacion='up'):
208 def CapturaValoresEnArchivo2(path,polarizacion='up'):
209 fichero =open(path,'r')
209 fichero =open(path,'r')
210 cnt=0
210 cnt=0
211 lstup=[]
211 lstup=[]
212 lstdw=[]
212 lstdw=[]
213 for cadena in fichero:
213 for cadena in fichero:
214 cnt=cnt+1
214 cnt=cnt+1
215 if cnt==1:
215 if cnt==1:
216 nu01=cadena[1:4]
216 nu01=cadena[1:4]
217 nu02=cadena[5:8]
217 nu02=cadena[5:8]
218 nu03=cadena[9:12]
218 nu03=cadena[9:12]
219 nu04=cadena[13:16]
219 nu04=cadena[13:16]
220 eu01=cadena[17:20]
220 eu01=cadena[17:20]
221 eu02=cadena[21:24]
221 eu02=cadena[21:24]
222 eu03=cadena[25:28]
222 eu03=cadena[25:28]
223 eu04=cadena[29:32]
223 eu04=cadena[29:32]
224 if cnt==2:
224 if cnt==2:
225 nu05=cadena[1:4]
225 nu05=cadena[1:4]
226 nu06=cadena[5:8]
226 nu06=cadena[5:8]
227 nu07=cadena[9:12]
227 nu07=cadena[9:12]
228 nu08=cadena[13:16]
228 nu08=cadena[13:16]
229 eu05=cadena[17:20]
229 eu05=cadena[17:20]
230 eu06=cadena[21:24]
230 eu06=cadena[21:24]
231 eu07=cadena[25:28]
231 eu07=cadena[25:28]
232 eu08=cadena[29:32]
232 eu08=cadena[29:32]
233 if cnt==3:
233 if cnt==3:
234 nu09=cadena[1:4]
234 nu09=cadena[1:4]
235 nu10=cadena[5:8]
235 nu10=cadena[5:8]
236 nu11=cadena[9:12]
236 nu11=cadena[9:12]
237 nu12=cadena[13:16]
237 nu12=cadena[13:16]
238 eu09=cadena[17:20]
238 eu09=cadena[17:20]
239 eu10=cadena[21:24]
239 eu10=cadena[21:24]
240 eu11=cadena[25:28]
240 eu11=cadena[25:28]
241 eu12=cadena[29:32]
241 eu12=cadena[29:32]
242 if cnt==4:
242 if cnt==4:
243 nu13=cadena[1:4]
243 nu13=cadena[1:4]
244 nu14=cadena[5:8]
244 nu14=cadena[5:8]
245 nu15=cadena[9:12]
245 nu15=cadena[9:12]
246 nu16=cadena[13:16]
246 nu16=cadena[13:16]
247 eu13=cadena[17:20]
247 eu13=cadena[17:20]
248 eu14=cadena[21:24]
248 eu14=cadena[21:24]
249 eu15=cadena[25:28]
249 eu15=cadena[25:28]
250 eu16=cadena[29:32]
250 eu16=cadena[29:32]
251 if cnt==5:
251 if cnt==5:
252 wu01=cadena[1:4]
252 wu01=cadena[1:4]
253 wu02=cadena[5:8]
253 wu02=cadena[5:8]
254 wu03=cadena[9:12]
254 wu03=cadena[9:12]
255 wu04=cadena[13:16]
255 wu04=cadena[13:16]
256 su01=cadena[17:20]
256 su01=cadena[17:20]
257 su02=cadena[21:24]
257 su02=cadena[21:24]
258 su03=cadena[25:28]
258 su03=cadena[25:28]
259 su04=cadena[29:32]
259 su04=cadena[29:32]
260 if cnt==6:
260 if cnt==6:
261 wu05=cadena[1:4]
261 wu05=cadena[1:4]
262 wu06=cadena[5:8]
262 wu06=cadena[5:8]
263 wu07=cadena[9:12]
263 wu07=cadena[9:12]
264 wu08=cadena[13:16]
264 wu08=cadena[13:16]
265 su05=cadena[17:20]
265 su05=cadena[17:20]
266 su06=cadena[21:24]
266 su06=cadena[21:24]
267 su07=cadena[25:28]
267 su07=cadena[25:28]
268 su08=cadena[29:32]
268 su08=cadena[29:32]
269 if cnt==7:
269 if cnt==7:
270 wu09=cadena[1:4]
270 wu09=cadena[1:4]
271 wu10=cadena[5:8]
271 wu10=cadena[5:8]
272 wu11=cadena[9:12]
272 wu11=cadena[9:12]
273 wu12=cadena[13:16]
273 wu12=cadena[13:16]
274 su09=cadena[17:20]
274 su09=cadena[17:20]
275 su10=cadena[21:24]
275 su10=cadena[21:24]
276 su11=cadena[25:28]
276 su11=cadena[25:28]
277 su12=cadena[29:32]
277 su12=cadena[29:32]
278 if cnt==8:
278 if cnt==8:
279 wu13=cadena[1:4]
279 wu13=cadena[1:4]
280 wu14=cadena[5:8]
280 wu14=cadena[5:8]
281 wu15=cadena[9:12]
281 wu15=cadena[9:12]
282 wu16=cadena[13:16]
282 wu16=cadena[13:16]
283 su13=cadena[17:20]
283 su13=cadena[17:20]
284 su14=cadena[21:24]
284 su14=cadena[21:24]
285 su15=cadena[25:28]
285 su15=cadena[25:28]
286 su16=cadena[29:32]
286 su16=cadena[29:32]
287 if cnt==9:
287 if cnt==9:
288 nd01=cadena[1:4]
288 nd01=cadena[1:4]
289 nd02=cadena[5:8]
289 nd02=cadena[5:8]
290 nd03=cadena[9:12]
290 nd03=cadena[9:12]
291 nd04=cadena[13:16]
291 nd04=cadena[13:16]
292 ed01=cadena[17:20]
292 ed01=cadena[17:20]
293 ed02=cadena[21:24]
293 ed02=cadena[21:24]
294 ed03=cadena[25:28]
294 ed03=cadena[25:28]
295 ed04=cadena[29:32]
295 ed04=cadena[29:32]
296 if cnt==10:
296 if cnt==10:
297 nd05=cadena[1:4]
297 nd05=cadena[1:4]
298 nd06=cadena[5:8]
298 nd06=cadena[5:8]
299 nd07=cadena[9:12]
299 nd07=cadena[9:12]
300 nd08=cadena[13:16]
300 nd08=cadena[13:16]
301 ed05=cadena[17:20]
301 ed05=cadena[17:20]
302 ed06=cadena[21:24]
302 ed06=cadena[21:24]
303 ed07=cadena[25:28]
303 ed07=cadena[25:28]
304 ed08=cadena[29:32]
304 ed08=cadena[29:32]
305 if cnt==11:
305 if cnt==11:
306 nd09=cadena[1:4]
306 nd09=cadena[1:4]
307 nd10=cadena[5:8]
307 nd10=cadena[5:8]
308 nd11=cadena[9:12]
308 nd11=cadena[9:12]
309 nd12=cadena[13:16]
309 nd12=cadena[13:16]
310 ed09=cadena[17:20]
310 ed09=cadena[17:20]
311 ed10=cadena[21:24]
311 ed10=cadena[21:24]
312 ed11=cadena[25:28]
312 ed11=cadena[25:28]
313 ed12=cadena[29:32]
313 ed12=cadena[29:32]
314 if cnt==12:
314 if cnt==12:
315 nd13=cadena[1:4]
315 nd13=cadena[1:4]
316 nd14=cadena[5:8]
316 nd14=cadena[5:8]
317 nd15=cadena[9:12]
317 nd15=cadena[9:12]
318 nd16=cadena[13:16]
318 nd16=cadena[13:16]
319 ed13=cadena[17:20]
319 ed13=cadena[17:20]
320 ed14=cadena[21:24]
320 ed14=cadena[21:24]
321 ed15=cadena[25:28]
321 ed15=cadena[25:28]
322 ed16=cadena[29:32]
322 ed16=cadena[29:32]
323 if cnt==13:
323 if cnt==13:
324 wd01=cadena[1:4]
324 wd01=cadena[1:4]
325 wd02=cadena[5:8]
325 wd02=cadena[5:8]
326 wd03=cadena[9:12]
326 wd03=cadena[9:12]
327 wd04=cadena[13:16]
327 wd04=cadena[13:16]
328 sd01=cadena[17:20]
328 sd01=cadena[17:20]
329 sd02=cadena[21:24]
329 sd02=cadena[21:24]
330 sd03=cadena[25:28]
330 sd03=cadena[25:28]
331 sd04=cadena[29:32]
331 sd04=cadena[29:32]
332 if cnt==14:
332 if cnt==14:
333 wd05=cadena[1:4]
333 wd05=cadena[1:4]
334 wd06=cadena[5:8]
334 wd06=cadena[5:8]
335 wd07=cadena[9:12]
335 wd07=cadena[9:12]
336 wd08=cadena[13:16]
336 wd08=cadena[13:16]
337 sd05=cadena[17:20]
337 sd05=cadena[17:20]
338 sd06=cadena[21:24]
338 sd06=cadena[21:24]
339 sd07=cadena[25:28]
339 sd07=cadena[25:28]
340 sd08=cadena[29:32]
340 sd08=cadena[29:32]
341 if cnt==15:
341 if cnt==15:
342 wd09=cadena[1:4]
342 wd09=cadena[1:4]
343 wd10=cadena[5:8]
343 wd10=cadena[5:8]
344 wd11=cadena[9:12]
344 wd11=cadena[9:12]
345 wd12=cadena[13:16]
345 wd12=cadena[13:16]
346 sd09=cadena[17:20]
346 sd09=cadena[17:20]
347 sd10=cadena[21:24]
347 sd10=cadena[21:24]
348 sd11=cadena[25:28]
348 sd11=cadena[25:28]
349 sd12=cadena[29:32]
349 sd12=cadena[29:32]
350 if cnt==16:
350 if cnt==16:
351 wd13=cadena[1:4]
351 wd13=cadena[1:4]
352 wd14=cadena[5:8]
352 wd14=cadena[5:8]
353 wd15=cadena[9:12]
353 wd15=cadena[9:12]
354 wd16=cadena[13:16]
354 wd16=cadena[13:16]
355 sd13=cadena[17:20]
355 sd13=cadena[17:20]
356 sd14=cadena[21:24]
356 sd14=cadena[21:24]
357 sd15=cadena[25:28]
357 sd15=cadena[25:28]
358 sd16=cadena[29:32]
358 sd16=cadena[29:32]
359 lst_n_up=[nu01,nu02,nu03,nu04,nu05,nu06,nu07,nu08,nu09,nu10,nu11,nu12,nu13,nu14,nu15,nu16]
359 lst_n_up=[nu01,nu02,nu03,nu04,nu05,nu06,nu07,nu08,nu09,nu10,nu11,nu12,nu13,nu14,nu15,nu16]
360 lst_n_dw=[nd01,nd02,nd03,nd04,nd05,nd06,nd07,nd08,nd09,nd10,nd11,nd12,nd13,nd14,nd15,nd16]
360 lst_n_dw=[nd01,nd02,nd03,nd04,nd05,nd06,nd07,nd08,nd09,nd10,nd11,nd12,nd13,nd14,nd15,nd16]
361 lst_s_up=[su01,su02,su03,su04,su05,su06,su07,su08,su09,su10,su11,su12,su13,su14,su15,su16]
361 lst_s_up=[su01,su02,su03,su04,su05,su06,su07,su08,su09,su10,su11,su12,su13,su14,su15,su16]
362 lst_s_dw=[sd01,sd02,sd03,sd04,sd05,sd06,sd07,sd08,sd09,sd10,sd11,sd12,sd13,sd14,sd15,sd16]
362 lst_s_dw=[sd01,sd02,sd03,sd04,sd05,sd06,sd07,sd08,sd09,sd10,sd11,sd12,sd13,sd14,sd15,sd16]
363 lst_w_up=[wu01,wu02,wu03,wu04,wu05,wu06,wu07,wu08,wu09,wu10,wu11,wu12,wu13,wu14,wu15,wu16]
363 lst_w_up=[wu01,wu02,wu03,wu04,wu05,wu06,wu07,wu08,wu09,wu10,wu11,wu12,wu13,wu14,wu15,wu16]
364 lst_w_dw=[wd01,wd02,wd03,wd04,wd05,wd06,wd07,wd08,wd09,wd10,wd11,wd12,wd13,wd14,wd15,wd16]
364 lst_w_dw=[wd01,wd02,wd03,wd04,wd05,wd06,wd07,wd08,wd09,wd10,wd11,wd12,wd13,wd14,wd15,wd16]
365 lst_e_up=[eu01,eu02,eu03,eu04,eu05,eu06,eu07,eu08,eu09,eu10,eu11,eu12,eu13,eu14,eu15,eu16]
365 lst_e_up=[eu01,eu02,eu03,eu04,eu05,eu06,eu07,eu08,eu09,eu10,eu11,eu12,eu13,eu14,eu15,eu16]
366 lst_e_dw=[ed01,ed02,ed03,ed04,ed05,ed06,ed07,ed08,ed09,ed10,ed11,ed12,ed13,ed14,ed15,ed16]
366 lst_e_dw=[ed01,ed02,ed03,ed04,ed05,ed06,ed07,ed08,ed09,ed10,ed11,ed12,ed13,ed14,ed15,ed16]
367
367
368 lstup = lst_s_up + lst_w_up + lst_n_up + lst_e_up
368 lstup = lst_s_up + lst_w_up + lst_n_up + lst_e_up
369 lstdw = lst_s_dw + lst_w_dw + lst_n_up + lst_e_up
369 lstdw = lst_s_dw + lst_w_dw + lst_n_up + lst_e_up
370
370
371 if polarizacion=='up':
371 if polarizacion=='up':
372 return lstup
372 return lstup
373 elif polarizacion=='dw':
373 elif polarizacion=='dw':
374 return lstdw
374 return lstdw
375 fichero.close()
375 fichero.close()
376
376
377
377
378 def CreaFormatoFinal():
378 def CreaFormatoFinal():
379 ne=NumeroDeExperimentos(archivo)
379 ne=NumeroDeExperimentos(archivo)
380
380
381 #nombre01 = file1(archivo,'1')
381 #nombre01 = file1(archivo,'1')
382 nombre02 = file1(archivo,'2')
382 nombre02 = file1(archivo,'2')
383 fichero=open(CarpetaDeTrabajo+'FormatoControlCentral.txt','w')
383 fichero=open(CarpetaDeTrabajo+'FormatoControlCentral.txt','w')
384 fichero.write(nombre02+'\n')
384 fichero.write(nombre02+'\n')
385 fichero.write(str(ne)+'\n')
385 fichero.write(str(ne)+'\n')
386 for i in range(1,17):
386 for i in range(1,17):
387
387
388 if i<10:
388 if i<10:
389 nmod = '0'+str(i)
389 nmod = '0'+str(i)
390 else: nmod = str(i)
390 else: nmod = str(i)
391
391
392
392
393 fichero.write('S'+nmod+'\n')
393 fichero.write('S'+nmod+'\n')
394 for j in range(1,ne+1):
394 for j in range(1,ne+1):
395 ruta=CarpetaDeTrabajo+str(j)+'.txt'
395 ruta=CarpetaDeTrabajo+str(j)+'.txt'
396 lu=CapturaValoresEnArchivo(ruta,polarizacion='up')
396 lu=CapturaValoresEnArchivo(ruta,polarizacion='up')
397 ld=CapturaValoresEnArchivo(ruta,polarizacion='dw')
397 ld=CapturaValoresEnArchivo(ruta,polarizacion='dw')
398 part1=''
398 part1=''
399 part2=''
399 part2=''
400 if lu[i-1]=='1.0': part1='000'
400 if lu[i-1]=='1.0': part1='000'
401 if lu[i-1]=='2.0': part1='001'
401 if lu[i-1]=='2.0': part1='001'
402 if lu[i-1]=='3.0': part1='010'
402 if lu[i-1]=='3.0': part1='010'
403 if lu[i-1]=='0.0': part1='011'
403 if lu[i-1]=='0.0': part1='011'
404 if lu[i-1]=='0.5': part1='100'
404 if lu[i-1]=='0.5': part1='100'
405 if lu[i-1]=='1.5': part1='101'
405 if lu[i-1]=='1.5': part1='101'
406 if lu[i-1]=='2.5': part1='110'
406 if lu[i-1]=='2.5': part1='110'
407 if lu[i-1]=='3.5': part1='111'
407 if lu[i-1]=='3.5': part1='111'
408 if ld[i-1]=='1.0': part2='000'
408 if ld[i-1]=='1.0': part2='000'
409 if ld[i-1]=='2.0': part2='001'
409 if ld[i-1]=='2.0': part2='001'
410 if ld[i-1]=='3.0': part2='010'
410 if ld[i-1]=='3.0': part2='010'
411 if ld[i-1]=='0.0': part2='011'
411 if ld[i-1]=='0.0': part2='011'
412 if ld[i-1]=='0.5': part2='100'
412 if ld[i-1]=='0.5': part2='100'
413 if ld[i-1]=='1.5': part2='101'
413 if ld[i-1]=='1.5': part2='101'
414 if ld[i-1]=='2.5': part2='110'
414 if ld[i-1]=='2.5': part2='110'
415 if ld[i-1]=='3.5': part2='111'
415 if ld[i-1]=='3.5': part2='111'
416 fichero.write(part1+part2+'\n')
416 fichero.write(part1+part2+'\n')
417 fichero.write('------'+'\n')
417 fichero.write('------'+'\n')
418 fichero.close()
418 fichero.close()
419
419
420 def CreaFormatoFinal2():
420 def CreaFormatoFinal2():
421 ne=NumeroDeExperimentos(archivo)
421 ne=NumeroDeExperimentos(archivo)
422
422
423 #nombre01 = file1(archivo,'1')
423 #nombre01 = file1(archivo,'1')
424 nombre02 = file1(archivo,'2')
424 nombre02 = file1(archivo,'2')
425 fichero=open(CarpetaDeTrabajo+'FormatoControlCentral.txt','w')
425 fichero=open(CarpetaDeTrabajo+'FormatoControlCentral.txt','w')
426 fichero.write(nombre02+'\n')
426 fichero.write(nombre02+'\n')
427 fichero.write(str(ne)+'\n')
427 fichero.write(str(ne)+'\n')
428
428
429 for i in range(1,65):
429 for i in range(1,65):
430
430
431 if i<10:
431 if i<10:
432 nmod = '0'+str(i)
432 nmod = '0'+str(i)
433 else: nmod = str(i)
433 else: nmod = str(i)
434
434
435 fichero.write("ABS_" + nmod+'\n')
435 fichero.write("ABS_" + nmod+'\n')
436
436
437 for j in range(1,ne+1):
437 for j in range(1,ne+1):
438 ruta=CarpetaDeTrabajo+str(j)+'.txt'
438 ruta=CarpetaDeTrabajo+str(j)+'.txt'
439 lu=CapturaValoresEnArchivo2(ruta,polarizacion='up')
439 lu=CapturaValoresEnArchivo2(ruta,polarizacion='up')
440 ld=CapturaValoresEnArchivo2(ruta,polarizacion='dw')
440 ld=CapturaValoresEnArchivo2(ruta,polarizacion='dw')
441 part1=''
441 part1=''
442 part2=''
442 part2=''
443 if lu[i-1]=='1.0': part1='000'
443 if lu[i-1]=='1.0': part1='000'
444 if lu[i-1]=='2.0': part1='001'
444 if lu[i-1]=='2.0': part1='001'
445 if lu[i-1]=='3.0': part1='010'
445 if lu[i-1]=='3.0': part1='010'
446 if lu[i-1]=='0.0': part1='011'
446 if lu[i-1]=='0.0': part1='011'
447 if lu[i-1]=='0.5': part1='100'
447 if lu[i-1]=='0.5': part1='100'
448 if lu[i-1]=='1.5': part1='101'
448 if lu[i-1]=='1.5': part1='101'
449 if lu[i-1]=='2.5': part1='110'
449 if lu[i-1]=='2.5': part1='110'
450 if lu[i-1]=='3.5': part1='111'
450 if lu[i-1]=='3.5': part1='111'
451 if ld[i-1]=='1.0': part2='000'
451 if ld[i-1]=='1.0': part2='000'
452 if ld[i-1]=='2.0': part2='001'
452 if ld[i-1]=='2.0': part2='001'
453 if ld[i-1]=='3.0': part2='010'
453 if ld[i-1]=='3.0': part2='010'
454 if ld[i-1]=='0.0': part2='011'
454 if ld[i-1]=='0.0': part2='011'
455 if ld[i-1]=='0.5': part2='100'
455 if ld[i-1]=='0.5': part2='100'
456 if ld[i-1]=='1.5': part2='101'
456 if ld[i-1]=='1.5': part2='101'
457 if ld[i-1]=='2.5': part2='110'
457 if ld[i-1]=='2.5': part2='110'
458 if ld[i-1]=='3.5': part2='111'
458 if ld[i-1]=='3.5': part2='111'
459 fichero.write(part1+part2+'\n')
459 fichero.write(part1+part2+'\n')
460 fichero.write('------'+'\n')
460 fichero.write('------'+'\n')
461 fichero.close()
461 fichero.close()
462
462
463 def EliminaArchivosEnLaCarpeta():
463 def EliminaArchivosEnLaCarpeta():
464 ne=NumeroDeExperimentos(archivo)
464 ne=NumeroDeExperimentos(archivo)
465 for i in range(1,ne+1):
465 for i in range(1,ne+1):
466 os.remove(CarpetaDeTrabajo+str(i)+'.txt')
466 os.remove(CarpetaDeTrabajo+str(i)+'.txt')
467
467
468 CreaFicherosPrevios()
468 CreaFicherosPrevios()
469 CreaFormatoFinal2()
469 CreaFormatoFinal2()
470 EliminaArchivosEnLaCarpeta()
470 EliminaArchivosEnLaCarpeta()
471
471
472 ##########
472 ##########
473
473
474 if __name__ == '__main__':
474 if __name__ == '__main__':
475
475
476 filename = "experimento1.abs"
476 filename = "experimento1.abs"
477
477
478 absObj = ABSClient()
478 absObj = ABSClient()
479 absObj.sendFile(filename)
479 # absObj.sendFile(filename)
480 # absObj.changeBeam("0")
480 # absObj.changeBeam("0")
481 # absObj.changeBeam("1")
481 # absObj.changeBeam("1")
482 # absObj.changeBeam("2")
482 # absObj.changeBeam("2")
483 # absObj.changeBeam("3")
483 # absObj.changeBeam("3")
484 # absObj.changeBeam("4")
484 absObj.changeBeam("4")
485 # absObj.changeBeam("5")
485 # absObj.changeBeam("5")
486 # absObj.changeBeam("6")
486 # absObj.changeBeam("6")
487 # absObj.changeBeam("7")
487 # absObj.changeBeam("7")
488 # absObj.getStatus(5) No newline at end of file
488 # absObj.getStatus(5)
@@ -1,280 +1,280
1 import os
1 import os
2 import library
2 import library
3 import time
3 import time
4
4
5 class ABSServer:
5 class ABSServer:
6
6
7 def __init__(self,ipSource="localhost", ipDestino="192.168.1.255", portDestino=7000, ipDestino2="192.168.1.255", portDestino2=5500, ftpPortDestino=None):
7 def __init__(self,ipSource="localhost", ipDestino="192.168.1.255", portDestino=7000, ipDestino2="192.168.1.255", portDestino2=5500, ftpPortDestino=None):
8
8
9 self.ipSource = ipSource
9 self.ipSource = ipSource
10 self.ipDestino = ipDestino
10 self.ipDestino = ipDestino
11 self.portDestino = portDestino
11 self.portDestino = portDestino
12
12
13 self.ipDestino2 = ipDestino2
13 self.ipDestino2 = ipDestino2
14 self.portDestino2 = portDestino2
14 self.portDestino2 = portDestino2
15
15
16 self.ftpPortDestino = ftpPortDestino
16 self.ftpPortDestino = ftpPortDestino
17 self.experiment_name = "default"
17 self.experiment_name = "default"
18 self.tx_buffer = "default"
18 self.tx_buffer = "default"
19
19
20 self.createObjects()
20 self.createObjects()
21
21
22 def createObjects(self):
22 def createObjects(self):
23
23
24 asServer = True
24 asServer = True
25 self.commServerObj = library.UDPComm(self.ipSource, self.ipDestino, self.portDestino, asServer)
25 self.commServerObj = library.UDPComm(self.ipSource, self.ipDestino, self.portDestino, asServer)
26 self.commClientObj = library.UDPComm(self.ipSource, self.ipDestino2, self.portDestino2)
26 self.commClientObj = library.UDPComm(self.ipSource, self.ipDestino2, self.portDestino2)
27 #self.ftpCommObj = library.FTPComm(self.ipSource, self.ipDestino, self.ftpPortDestino)
27 #self.ftpCommObj = library.FTPComm(self.ipSource, self.ipDestino, self.ftpPortDestino)
28
28
29
29
30 def waitRequest(self):
30 def waitRequest(self):
31
31
32 ipSource, ipDestino, cmd, self.datarx = self.commServerObj.waitData()
32 ipSource, ipDestino, cmd, self.datarx = self.commServerObj.waitData()
33
33
34 datarpta = "OK"
34 datarpta = "OK"
35
35
36 if cmd == "SNDF":
36 if cmd == "SNDF":
37 self.sendFile2Modules()
37 self.sendFile2Modules()
38
38
39 if cmd == "CHGB":
39 if cmd == "CHGB":
40 self.changeBeam()
40 self.changeBeam()
41
41
42 if cmd == "ANST":
42 if cmd == "ANST":
43 self.getStatus(mode=3)
43 self.getStatus(mode=3)
44 datarpta = self.tx_buffer
44 datarpta = self.tx_buffer
45
45
46 self.commServerObj.sendData(cmd=cmd, data=datarpta)
46 self.commServerObj.sendData(cmd=cmd, data=datarpta)
47
47
48 def checkModule(self, address):
48 def checkModule(self, address):
49
49
50 cmd = "ping -c 1 -w 1 192.168.1."+ str(address) + " >> /dev/null"
50 cmd = "ping -c 1 -w 1 192.168.1."+ str(address) + " >> /dev/null"
51 status = os.system(cmd)
51 status = os.system(cmd)
52
52
53 if status == 256:
53 if status == 256:
54 return False
54 return False
55
55
56 return True
56 return True
57
57
58 def __writeReport(self, enaModules):
58 def __writeReport(self, enaModules):
59
59
60 status_array = ["Status of modules\n"]
60 status_array = ["Status of modules\n"]
61 status_array.append("----------------\n")
61 status_array.append("----------------\n")
62
62
63 for address in range(1,65):
63 for address in range(1,65):
64 if address in enaModules:
64 if address in enaModules:
65 # status_array.append("192.168.1." + str(base + i + 1) + " [1 1]\n")
65 # status_array.append("192.168.1." + str(base + i + 1) + " [1 1]\n")
66 status_array.append("192.168.1." + str(address) + " [1 1]\n")
66 status_array.append("192.168.1." + str(address) + " [1 1]\n")
67 else:
67 else:
68 status_array.append("192.168.1." + str(address) + " [0 0]\n")
68 status_array.append("192.168.1." + str(address) + " [0 0]\n")
69
69
70 f = open("module_status.txt","w")
70 f = open("module_status.txt","w")
71 f.writelines(status_array)
71 f.writelines(status_array)
72 f.close()
72 f.close()
73
73
74 def checkAntenna(self):
74 def checkAntenna(self):
75
75
76 """
76 """
77 Direccion de los modulos de las antenas:
77 Direccion de los modulos de las antenas:
78
78
79 Norte : 01-16
79 Norte : 01-16
80 Este : 17-32
80 Este : 17-32
81 Oeste: : 33-48
81 Oeste: : 33-48
82 Sur : 49-64
82 Sur : 49-64
83
83
84 """
84 """
85
85
86 enaModules = []
86 enaModules = []
87
87
88 for address in range(1,65):
88 for address in range(1,65):
89 if self.checkModule(address):
89 if self.checkModule(address):
90 enaModules.append(address)
90 enaModules.append(address)
91
91
92 self.__writeReport(enaModules)
92 self.__writeReport(enaModules)
93 return enaModules
93 return enaModules
94
94
95 def sendFile2Modules(self):
95 def sendFile2Modules(self):
96
96
97 #Needed for the loop
97 #Needed for the loop
98 rx_frame_list = self.datarx.split('\n',2)
98 rx_frame_list = self.datarx.split('\n',2)
99
99
100 self.experiment_name = rx_frame_list[0]
100 self.experiment_name = rx_frame_list[0]
101 experiment_number = rx_frame_list[1]
101 experiment_number = rx_frame_list[1]
102 str_control_modules = rx_frame_list[2]
102 str_control_modules = rx_frame_list[2]
103
103
104 lst_control_modules = str_control_modules.split("------\n")
104 lst_control_modules = str_control_modules.split("------\n")
105
105
106 enaModules = self.checkAntenna()
106 enaModules = self.checkAntenna()
107
107
108 for address in range(1,65):
108 for address in range(1,65):
109
109
110 if address not in enaModules:
110 if address not in enaModules:
111 continue
111 continue
112
112
113 self.__writeModuleFile(self.experiment_name, lst_control_modules[address-1])
113 self.__writeModuleFile(self.experiment_name, lst_control_modules[address-1])
114
114
115 cmd = "tftp -m binary 192.168.1."+ str(address) +" 69 -c put " + self.experiment_name
115 cmd = "tftp -m binary 192.168.1."+ str(address) +" 69 -c put " + self.experiment_name
116 print cmd
116 print cmd
117 os.system(cmd)
117 os.system(cmd)
118
118
119 self.__loadFile()
119 self.__loadFile()
120
120
121 def __writeModuleFile(self, filename, str):
121 def __writeModuleFile(self, filename, str):
122
122
123 fobj = open(filename,"w")
123 fobj = open(filename,"w")
124 fobj.write(filename + "\n")
124 fobj.write(filename + "\n")
125 fobj.write("------\n")
125 fobj.write("------\n")
126 fobj.write(str)
126 fobj.write(str)
127 fobj.write("------\n")
127 fobj.write("------\n")
128 fobj.close()
128 fobj.close()
129
129
130 def __readModuleFile(self, filename):
130 def __readModuleFile(self, filename):
131
131
132 fobj1 = open(filename,"r")
132 fobj1 = open(filename,"r")
133 file_list_1 = fobj1.readlines()
133 file_list_1 = fobj1.readlines()
134 fobj1.close()
134 fobj1.close()
135 content_str = ''.join(file_list_1[2:-1])
135 content_str = ''.join(file_list_1[2:-1])
136
136
137 return content_str
137 return content_str
138
138
139 def __loadFile(self):
139 def __loadFile(self):
140
140
141 #Working with the UDP socket
141 #Working with the UDP socket
142 self.commClientObj.sendData("none", "CARGA:" + self.experiment_name + ":")
142 self.commClientObj.sendData("none", "CARGA:" + self.experiment_name + ":")
143 self.commClientObj.sendData("none", "CAMBIA:0:")
143 self.commClientObj.sendData("none", "CAMBIA:0:")
144
144
145 def changeBeam(self):
145 def changeBeam(self):
146
146
147 #rpta = self.commClientObj.sendTxRxCommand(cmd='CAMBIA', data="0")
147 #rpta = self.commClientObj.sendTxRxCommand(cmd='CAMBIA', data="0")
148 self.commClientObj.sendData("CAMBIA:" + self.datarx + ":")
148 self.commClientObj.sendData("none", "CAMBIA:" + self.datarx + ":")
149
149
150 def getStatus(self,mode):
150 def getStatus(self,mode):
151
151
152 if mode == 1:
152 if mode == 1:
153 self.__getStsMode1()
153 self.__getStsMode1()
154 elif mode == 2:
154 elif mode == 2:
155 self.__getStsMode2()
155 self.__getStsMode2()
156 else:
156 else:
157 self.__getStsMode3()
157 self.__getStsMode3()
158
158
159
159
160 def __getStsMode1(self):
160 def __getStsMode1(self):
161 #rpta = self.commClientObj.sendTxRxCommand(cmd='CHEQUEO', data="0")
161 #rpta = self.commClientObj.sendTxRxCommand(cmd='CHEQUEO', data="0")
162 self.commClientObj.sendData("CHEQUEO:" + self.datarx + ":")
162 self.commClientObj.sendData("CHEQUEO:" + self.datarx + ":")
163 seconds = int (self.datarx)
163 seconds = int (self.datarx)
164 # Give 5 seconds to the control modules
164 # Give 5 seconds to the control modules
165 time.sleep(seconds)
165 time.sleep(seconds)
166 # Checking the module connection
166 # Checking the module connection
167 module_list = self.connection_status(10)
167 module_list = self.connection_status(10)
168 #Generating the complete report
168 #Generating the complete report
169 module = 1
169 module = 1
170 number_of_modules = 16
170 number_of_modules = 16
171 filename1 = "Verificacion"
171 filename1 = "Verificacion"
172 filename2 = "report.txt"
172 filename2 = "report.txt"
173 fobj2 = open(filename2,"w")
173 fobj2 = open(filename2,"w")
174 fobj2.write("Verification_file\n")
174 fobj2.write("Verification_file\n")
175 fobj2.write("-----------------\n")
175 fobj2.write("-----------------\n")
176 fobj2.close()
176 fobj2.close()
177 while module <= number_of_modules:
177 while module <= number_of_modules:
178 if module_list[module -1] == "1":
178 if module_list[module -1] == "1":
179 #Preparing and doing the tftp command
179 #Preparing and doing the tftp command
180 cmd = "tftp -m binary 192.168.1."+ str(base + module) +" 69 -c get " + filename1
180 cmd = "tftp -m binary 192.168.1."+ str(base + module) +" 69 -c get " + filename1
181 print cmd
181 print cmd
182 os.system(cmd)
182 os.system(cmd)
183 # Getting data from the control module file
183 # Getting data from the control module file
184 fobj1 = open(filename1,"r")
184 fobj1 = open(filename1,"r")
185 file_list_1 = fobj1.readlines()
185 file_list_1 = fobj1.readlines()
186 fobj1.close()
186 fobj1.close()
187 content = file_list_1[2:-1]
187 content = file_list_1[2:-1]
188 #
188 #
189 fobj2 = open(filename2,"a")
189 fobj2 = open(filename2,"a")
190 if base == 10:
190 if base == 10:
191 fobj2.write("S" + str(module) + "\n")
191 fobj2.write("S" + str(module) + "\n")
192 else:
192 else:
193 fobj2.write("N" + str(module) + "\n")
193 fobj2.write("N" + str(module) + "\n")
194 fobj2.writelines(content)
194 fobj2.writelines(content)
195 fobj2.write("------\n")
195 fobj2.write("------\n")
196 fobj2.close()
196 fobj2.close()
197 module = module + 1
197 module = module + 1
198
198
199 def __getStsMode2(self):
199 def __getStsMode2(self):
200
200
201 #rpta = self.commClientObj.sendTxRxCommand(cmd='CHEQUEO', data="0")
201 #rpta = self.commClientObj.sendTxRxCommand(cmd='CHEQUEO', data="0")
202 self.commClientObj.sendData("CHEQUEO:" + self.datarx + ":")
202 self.commClientObj.sendData("CHEQUEO:" + self.datarx + ":")
203 seconds = int (self.datarx)
203 seconds = int (self.datarx)
204 # Give 5 seconds to the control modules
204 # Give 5 seconds to the control modules
205 time.sleep(seconds)
205 time.sleep(seconds)
206 # Checking the module connection
206 # Checking the module connection
207 enaModules = self.checkAntenna()
207 enaModules = self.checkAntenna()
208 #Generating the complete report
208 #Generating the complete report
209 filename1 = "Verificacion"
209 filename1 = "Verificacion"
210 line1 = "Verification_file\n"
210 line1 = "Verification_file\n"
211 line2 = "-----------------\n"
211 line2 = "-----------------\n"
212 report_list = [line1, line2]
212 report_list = [line1, line2]
213
213
214 for address in range(1,65):
214 for address in range(1,65):
215
215
216 if address not in enaModules:
216 if address not in enaModules:
217 continue
217 continue
218 #Preparing and doing the tftp command
218 #Preparing and doing the tftp command
219 cmd = "tftp -m binary 192.168.1."+ str(address) +" 69 -c get " + filename1
219 cmd = "tftp -m binary 192.168.1."+ str(address) +" 69 -c get " + filename1
220 print cmd
220 print cmd
221 os.system(cmd)
221 os.system(cmd)
222 #Sub_header
222 #Sub_header
223 report_list.append("ABS_" + str(address) + "\n")
223 report_list.append("ABS_" + str(address) + "\n")
224 # Content
224 # Content
225 fobj1 = open(filename1,"r")
225 fobj1 = open(filename1,"r")
226 file_list_1 = fobj1.readlines()
226 file_list_1 = fobj1.readlines()
227 fobj1.close()
227 fobj1.close()
228 content = ''.join(file_list_1[2:-1])
228 content = ''.join(file_list_1[2:-1])
229 report_list.append(content)
229 report_list.append(content)
230 #Ending
230 #Ending
231 report_list.append("------\n")
231 report_list.append("------\n")
232 #print "\nFinalizado"
232 #print "\nFinalizado"
233 self.tx_buffer = ''.join(report_list)
233 self.tx_buffer = ''.join(report_list)
234
234
235 def __AddingHeader(self,content_list, title):
235 def __AddingHeader(self,content_list, title):
236
236
237 line1 = title + "\n"
237 line1 = title + "\n"
238 line2 = "-----------------\n"
238 line2 = "-----------------\n"
239 header_list = [line1, line2]
239 header_list = [line1, line2]
240 verification_list = header_list + content_list
240 verification_list = header_list + content_list
241 # Arming the frame
241 # Arming the frame
242 self.tx_buffer = ''.join(verification_list)
242 self.tx_buffer = ''.join(verification_list)
243
243
244 def __getModuleFile(self, filename):
244 def __getModuleFile(self, filename):
245
245
246 enaModules = self.checkAntenna()
246 enaModules = self.checkAntenna()
247 content_list = []
247 content_list = []
248 for address in range(1,65):
248 for address in range(1,65):
249
249
250 if address not in enaModules:
250 if address not in enaModules:
251 continue
251 continue
252 #Preparing and doing the tftp command
252 #Preparing and doing the tftp command
253 cmd = "tftp -m binary 192.168.1."+ str(address) +" 69 -c get " + filename
253 cmd = "tftp -m binary 192.168.1."+ str(address) +" 69 -c get " + filename
254 print cmd
254 print cmd
255 os.system(cmd)
255 os.system(cmd)
256 #Sub_header
256 #Sub_header
257 content_list.append("ABS_" + str(address) + "\n")
257 content_list.append("ABS_" + str(address) + "\n")
258 # From module file to list
258 # From module file to list
259 content_str = self.__readModuleFile(filename)
259 content_str = self.__readModuleFile(filename)
260 content_list.append(content_str)
260 content_list.append(content_str)
261 content_list.append("------\n")
261 content_list.append("------\n")
262
262
263 self.__AddingHeader(content_list, title = "Verification_file")
263 self.__AddingHeader(content_list, title = "Verification_file")
264
264
265 def __getStsMode3(self):
265 def __getStsMode3(self):
266
266
267 self.commClientObj.sendData("CHEQUEO:" + self.datarx + ":")
267 self.commClientObj.sendData("none", "CHEQUEO:" + self.datarx + ":")
268 seconds = int (self.datarx)
268 seconds = int (self.datarx)
269 # Give 5 seconds to the control modules
269 # Give 5 seconds to the control modules
270 time.sleep(seconds)
270 time.sleep(seconds)
271
271
272 self.__getModuleFile(filename = "Verificacion")
272 self.__getModuleFile(filename = "Verificacion")
273
273
274
274
275 if __name__ == '__main__':
275 if __name__ == '__main__':
276
276
277 absObj = ABSServer()
277 absObj = ABSServer()
278
278
279 while 1:
279 while 1:
280 absObj.waitRequest() No newline at end of file
280 absObj.waitRequest()
General Comments 0
You need to be logged in to leave comments. Login now