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