##// END OF EJS Templates
imanay -
r63:64
parent child
Show More
@@ -1,488 +1,491
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.100", portDestino=7000):
11 def __init__(self,ipSource="localhost", ipDestino="192.168.1.117", 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.TCPComm(self.ipSource, self.ipDestino, self.portDestino)
21 self.commObj = library.TCPComm(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 self.commObj.close_socket()
36
37
37 def changeBeam(self, newBeam):
38 def changeBeam(self, newBeam):
38
39
39 self.commObj.sendData(cmd="CHGB", data=newBeam)
40 self.commObj.sendData(cmd="CHGB", data=newBeam)
40 self.commObj.waitData()
41 self.commObj.waitData()
42 self.commObj.close_socket()
41
43
42 def __writeFile(self, filename, data):
44 def __writeFile(self, filename, data):
43
45
44 fobj = open(filename,"w")
46 fobj = open(filename,"w")
45 fobj.writelines(data)
47 fobj.writelines(data)
46 fobj.close()
48 fobj.close()
47
49
48 def getStatus(self, data):
50 def getStatus(self, data):
49
51
50 self.commObj.sendData(cmd="ANST", data = data)
52 self.commObj.sendData(cmd="ANST", data = data)
51 ipSource, ipDestino, cmd, data = self.commObj.waitData()
53 ipSource, ipDestino, cmd, data = self.commObj.waitData()
54 self.commObj.close_socket()
52 self.__writeFile("report.txt", data)
55 self.__writeFile("report.txt", data)
53
56
54 ##########
57 ##########
55
58
56 def FuncionMaestra_GeneraFormatoControlCentral(self,archivo):
59 def FuncionMaestra_GeneraFormatoControlCentral(self,archivo):
57 """ Funcion que genera un archivo para el control central"""
60 """ Funcion que genera un archivo para el control central"""
58
61
59 # CarpetaDeTrabajo='/home/redes/ABS_Control_2012_09_24/Control_Module_v1_Client_09_24/'
62 # CarpetaDeTrabajo='/home/redes/ABS_Control_2012_09_24/Control_Module_v1_Client_09_24/'
60 CarpetaDeTrabajo = os.getcwd() + '/'
63 CarpetaDeTrabajo = os.getcwd() + '/'
61 #print CarpetaDeTrabajo
64 #print CarpetaDeTrabajo
62 #CarpetaDeTrabajo='/home/redes/workspace/ABS_Client_v2/Debug/'
65 #CarpetaDeTrabajo='/home/redes/workspace/ABS_Client_v2/Debug/'
63
66
64 def lst2string(lst):
67 def lst2string(lst):
65 string=''
68 string=''
66 for i in lst:
69 for i in lst:
67 string=string+i
70 string=string+i
68 return string
71 return string
69
72
70 def string2lst(string):
73 def string2lst(string):
71 lst = []
74 lst = []
72 for i in string:
75 for i in string:
73 lst.append(i)
76 lst.append(i)
74 return lst
77 return lst
75
78
76
79
77 def file1(string, type):
80 def file1(string, type):
78 lst = string2lst(archivo)
81 lst = string2lst(archivo)
79 fin = -1
82 fin = -1
80 t = len(lst)
83 t = len(lst)
81 for i in np.arange(-1,-t,-1):
84 for i in np.arange(-1,-t,-1):
82 if lst[i]=='/':
85 if lst[i]=='/':
83 fin=i
86 fin=i
84 break
87 break
85 if type == '1':
88 if type == '1':
86 nombre2 = lst[fin+1:]
89 nombre2 = lst[fin+1:]
87 nombre2[-1]='s'
90 nombre2[-1]='s'
88 nombre2 = lst2string(nombre2)
91 nombre2 = lst2string(nombre2)
89 return nombre2
92 return nombre2
90 if type == '2':
93 if type == '2':
91 nombre2 = lst[fin+1:]
94 nombre2 = lst[fin+1:]
92 nombre2[-1]='1'
95 nombre2[-1]='1'
93 nombre2 = lst2string(nombre2)
96 nombre2 = lst2string(nombre2)
94 return nombre2
97 return nombre2
95
98
96
99
97 def EliminaSaltoDeLinea(cadena):
100 def EliminaSaltoDeLinea(cadena):
98 i = 0
101 i = 0
99 for elemento in cadena:
102 for elemento in cadena:
100 if elemento =='\n' or elemento =='\r':
103 if elemento =='\n' or elemento =='\r':
101 pass
104 pass
102 else:
105 else:
103 i=i+1
106 i=i+1
104 return cadena [:i]
107 return cadena [:i]
105
108
106 def NumeroDeExperimentos(path):
109 def NumeroDeExperimentos(path):
107 fichero1=open(path,'r')
110 fichero1=open(path,'r')
108 cont=0
111 cont=0
109 for cadena in fichero1:
112 for cadena in fichero1:
110 cont=cont+1
113 cont=cont+1
111 if cont==3:
114 if cont==3:
112 nexp=''
115 nexp=''
113 pos=0
116 pos=0
114 for elemento in cadena:
117 for elemento in cadena:
115 pos=pos+1
118 pos=pos+1
116 if elemento=='=':
119 if elemento=='=':
117 nexp=int(cadena[pos:])
120 nexp=int(cadena[pos:])
118 return nexp
121 return nexp
119 fichero1.close()
122 fichero1.close()
120
123
121 def Paridad(numero):
124 def Paridad(numero):
122 if numero%2==0: return 'par'
125 if numero%2==0: return 'par'
123 elif numero%2==1: return 'impar'
126 elif numero%2==1: return 'impar'
124
127
125 def EvaluaCadena(cadena):
128 def EvaluaCadena(cadena):
126 if len(cadena)>35:
129 if len(cadena)>35:
127 if cadena[-1]=='$':
130 if cadena[-1]=='$':
128 return cadena[-35:-2]
131 return cadena[-35:-2]
129 elif cadena[-1]==']':
132 elif cadena[-1]==']':
130 return cadena[-34:-1]
133 return cadena[-34:-1]
131 else:
134 else:
132 return None
135 return None
133
136
134 def GuardaEnLista(path):
137 def GuardaEnLista(path):
135 fichero=open(path,'r')
138 fichero=open(path,'r')
136 lista=[]
139 lista=[]
137 for cadena in fichero:
140 for cadena in fichero:
138 cadena = EliminaSaltoDeLinea(cadena)
141 cadena = EliminaSaltoDeLinea(cadena)
139 cadena = EvaluaCadena(cadena)
142 cadena = EvaluaCadena(cadena)
140 if cadena != None:
143 if cadena != None:
141 lista.append(cadena)
144 lista.append(cadena)
142 fichero.close()
145 fichero.close()
143 return lista
146 return lista
144
147
145 def CreaFicherosPrevios():
148 def CreaFicherosPrevios():
146 vector = GuardaEnLista(archivo)
149 vector = GuardaEnLista(archivo)
147 for i in range(1,NumeroDeExperimentos(archivo)+1):
150 for i in range(1,NumeroDeExperimentos(archivo)+1):
148 fichero =open(CarpetaDeTrabajo+str(i)+'.txt','w')
151 fichero =open(CarpetaDeTrabajo+str(i)+'.txt','w')
149 for j in range(0,16):
152 for j in range(0,16):
150 fichero.write(vector[j+16*(i-1)]+'\n')
153 fichero.write(vector[j+16*(i-1)]+'\n')
151 fichero.close()
154 fichero.close()
152
155
153 def CapturaValoresEnArchivo(path,polarizacion='up'):
156 def CapturaValoresEnArchivo(path,polarizacion='up'):
154 fichero =open(path,'r')
157 fichero =open(path,'r')
155 cnt=0
158 cnt=0
156 lstup=[]
159 lstup=[]
157 lstdw=[]
160 lstdw=[]
158 for cadena in fichero:
161 for cadena in fichero:
159 cnt=cnt+1
162 cnt=cnt+1
160 if cnt==5:
163 if cnt==5:
161 su01=cadena[17:20]
164 su01=cadena[17:20]
162 su02=cadena[21:24]
165 su02=cadena[21:24]
163 su03=cadena[25:28]
166 su03=cadena[25:28]
164 su04=cadena[29:32]
167 su04=cadena[29:32]
165 if cnt==6:
168 if cnt==6:
166 su05=cadena[17:20]
169 su05=cadena[17:20]
167 su06=cadena[21:24]
170 su06=cadena[21:24]
168 su07=cadena[25:28]
171 su07=cadena[25:28]
169 su08=cadena[29:32]
172 su08=cadena[29:32]
170 if cnt==7:
173 if cnt==7:
171 su09=cadena[17:20]
174 su09=cadena[17:20]
172 su10=cadena[21:24]
175 su10=cadena[21:24]
173 su11=cadena[25:28]
176 su11=cadena[25:28]
174 su12=cadena[29:32]
177 su12=cadena[29:32]
175 if cnt==8:
178 if cnt==8:
176 su13=cadena[17:20]
179 su13=cadena[17:20]
177 su14=cadena[21:24]
180 su14=cadena[21:24]
178 su15=cadena[25:28]
181 su15=cadena[25:28]
179 su16=cadena[29:32]
182 su16=cadena[29:32]
180 if cnt==13:
183 if cnt==13:
181 sd01=cadena[17:20]
184 sd01=cadena[17:20]
182 sd02=cadena[21:24]
185 sd02=cadena[21:24]
183 sd03=cadena[25:28]
186 sd03=cadena[25:28]
184 sd04=cadena[29:32]
187 sd04=cadena[29:32]
185 if cnt==14:
188 if cnt==14:
186 sd05=cadena[17:20]
189 sd05=cadena[17:20]
187 sd06=cadena[21:24]
190 sd06=cadena[21:24]
188 sd07=cadena[25:28]
191 sd07=cadena[25:28]
189 sd08=cadena[29:32]
192 sd08=cadena[29:32]
190 if cnt==15:
193 if cnt==15:
191 sd09=cadena[17:20]
194 sd09=cadena[17:20]
192 sd10=cadena[21:24]
195 sd10=cadena[21:24]
193 sd11=cadena[25:28]
196 sd11=cadena[25:28]
194 sd12=cadena[29:32]
197 sd12=cadena[29:32]
195 if cnt==16:
198 if cnt==16:
196 sd13=cadena[17:20]
199 sd13=cadena[17:20]
197 sd14=cadena[21:24]
200 sd14=cadena[21:24]
198 sd15=cadena[25:28]
201 sd15=cadena[25:28]
199 sd16=cadena[29:32]
202 sd16=cadena[29:32]
200 lstup=[su01,su02,su03,su04,su05,su06,su07,su08,su09,su10,su11,su12,su13,su14,su15,su16]
203 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]
204 lstdw=[sd01,sd02,sd03,sd04,sd05,sd06,sd07,sd08,sd09,sd10,sd11,sd12,sd13,sd14,sd15,sd16]
202 if polarizacion=='up':
205 if polarizacion=='up':
203 return lstup
206 return lstup
204 elif polarizacion=='dw':
207 elif polarizacion=='dw':
205 return lstdw
208 return lstdw
206 fichero.close()
209 fichero.close()
207
210
208 def CapturaValoresEnArchivo2(path,polarizacion='up'):
211 def CapturaValoresEnArchivo2(path,polarizacion='up'):
209 fichero =open(path,'r')
212 fichero =open(path,'r')
210 cnt=0
213 cnt=0
211 lstup=[]
214 lstup=[]
212 lstdw=[]
215 lstdw=[]
213 for cadena in fichero:
216 for cadena in fichero:
214 cnt=cnt+1
217 cnt=cnt+1
215 if cnt==1:
218 if cnt==1:
216 nu01=cadena[1:4]
219 nu01=cadena[1:4]
217 nu02=cadena[5:8]
220 nu02=cadena[5:8]
218 nu03=cadena[9:12]
221 nu03=cadena[9:12]
219 nu04=cadena[13:16]
222 nu04=cadena[13:16]
220 eu01=cadena[17:20]
223 eu01=cadena[17:20]
221 eu02=cadena[21:24]
224 eu02=cadena[21:24]
222 eu03=cadena[25:28]
225 eu03=cadena[25:28]
223 eu04=cadena[29:32]
226 eu04=cadena[29:32]
224 if cnt==2:
227 if cnt==2:
225 nu05=cadena[1:4]
228 nu05=cadena[1:4]
226 nu06=cadena[5:8]
229 nu06=cadena[5:8]
227 nu07=cadena[9:12]
230 nu07=cadena[9:12]
228 nu08=cadena[13:16]
231 nu08=cadena[13:16]
229 eu05=cadena[17:20]
232 eu05=cadena[17:20]
230 eu06=cadena[21:24]
233 eu06=cadena[21:24]
231 eu07=cadena[25:28]
234 eu07=cadena[25:28]
232 eu08=cadena[29:32]
235 eu08=cadena[29:32]
233 if cnt==3:
236 if cnt==3:
234 nu09=cadena[1:4]
237 nu09=cadena[1:4]
235 nu10=cadena[5:8]
238 nu10=cadena[5:8]
236 nu11=cadena[9:12]
239 nu11=cadena[9:12]
237 nu12=cadena[13:16]
240 nu12=cadena[13:16]
238 eu09=cadena[17:20]
241 eu09=cadena[17:20]
239 eu10=cadena[21:24]
242 eu10=cadena[21:24]
240 eu11=cadena[25:28]
243 eu11=cadena[25:28]
241 eu12=cadena[29:32]
244 eu12=cadena[29:32]
242 if cnt==4:
245 if cnt==4:
243 nu13=cadena[1:4]
246 nu13=cadena[1:4]
244 nu14=cadena[5:8]
247 nu14=cadena[5:8]
245 nu15=cadena[9:12]
248 nu15=cadena[9:12]
246 nu16=cadena[13:16]
249 nu16=cadena[13:16]
247 eu13=cadena[17:20]
250 eu13=cadena[17:20]
248 eu14=cadena[21:24]
251 eu14=cadena[21:24]
249 eu15=cadena[25:28]
252 eu15=cadena[25:28]
250 eu16=cadena[29:32]
253 eu16=cadena[29:32]
251 if cnt==5:
254 if cnt==5:
252 wu01=cadena[1:4]
255 wu01=cadena[1:4]
253 wu02=cadena[5:8]
256 wu02=cadena[5:8]
254 wu03=cadena[9:12]
257 wu03=cadena[9:12]
255 wu04=cadena[13:16]
258 wu04=cadena[13:16]
256 su01=cadena[17:20]
259 su01=cadena[17:20]
257 su02=cadena[21:24]
260 su02=cadena[21:24]
258 su03=cadena[25:28]
261 su03=cadena[25:28]
259 su04=cadena[29:32]
262 su04=cadena[29:32]
260 if cnt==6:
263 if cnt==6:
261 wu05=cadena[1:4]
264 wu05=cadena[1:4]
262 wu06=cadena[5:8]
265 wu06=cadena[5:8]
263 wu07=cadena[9:12]
266 wu07=cadena[9:12]
264 wu08=cadena[13:16]
267 wu08=cadena[13:16]
265 su05=cadena[17:20]
268 su05=cadena[17:20]
266 su06=cadena[21:24]
269 su06=cadena[21:24]
267 su07=cadena[25:28]
270 su07=cadena[25:28]
268 su08=cadena[29:32]
271 su08=cadena[29:32]
269 if cnt==7:
272 if cnt==7:
270 wu09=cadena[1:4]
273 wu09=cadena[1:4]
271 wu10=cadena[5:8]
274 wu10=cadena[5:8]
272 wu11=cadena[9:12]
275 wu11=cadena[9:12]
273 wu12=cadena[13:16]
276 wu12=cadena[13:16]
274 su09=cadena[17:20]
277 su09=cadena[17:20]
275 su10=cadena[21:24]
278 su10=cadena[21:24]
276 su11=cadena[25:28]
279 su11=cadena[25:28]
277 su12=cadena[29:32]
280 su12=cadena[29:32]
278 if cnt==8:
281 if cnt==8:
279 wu13=cadena[1:4]
282 wu13=cadena[1:4]
280 wu14=cadena[5:8]
283 wu14=cadena[5:8]
281 wu15=cadena[9:12]
284 wu15=cadena[9:12]
282 wu16=cadena[13:16]
285 wu16=cadena[13:16]
283 su13=cadena[17:20]
286 su13=cadena[17:20]
284 su14=cadena[21:24]
287 su14=cadena[21:24]
285 su15=cadena[25:28]
288 su15=cadena[25:28]
286 su16=cadena[29:32]
289 su16=cadena[29:32]
287 if cnt==9:
290 if cnt==9:
288 nd01=cadena[1:4]
291 nd01=cadena[1:4]
289 nd02=cadena[5:8]
292 nd02=cadena[5:8]
290 nd03=cadena[9:12]
293 nd03=cadena[9:12]
291 nd04=cadena[13:16]
294 nd04=cadena[13:16]
292 ed01=cadena[17:20]
295 ed01=cadena[17:20]
293 ed02=cadena[21:24]
296 ed02=cadena[21:24]
294 ed03=cadena[25:28]
297 ed03=cadena[25:28]
295 ed04=cadena[29:32]
298 ed04=cadena[29:32]
296 if cnt==10:
299 if cnt==10:
297 nd05=cadena[1:4]
300 nd05=cadena[1:4]
298 nd06=cadena[5:8]
301 nd06=cadena[5:8]
299 nd07=cadena[9:12]
302 nd07=cadena[9:12]
300 nd08=cadena[13:16]
303 nd08=cadena[13:16]
301 ed05=cadena[17:20]
304 ed05=cadena[17:20]
302 ed06=cadena[21:24]
305 ed06=cadena[21:24]
303 ed07=cadena[25:28]
306 ed07=cadena[25:28]
304 ed08=cadena[29:32]
307 ed08=cadena[29:32]
305 if cnt==11:
308 if cnt==11:
306 nd09=cadena[1:4]
309 nd09=cadena[1:4]
307 nd10=cadena[5:8]
310 nd10=cadena[5:8]
308 nd11=cadena[9:12]
311 nd11=cadena[9:12]
309 nd12=cadena[13:16]
312 nd12=cadena[13:16]
310 ed09=cadena[17:20]
313 ed09=cadena[17:20]
311 ed10=cadena[21:24]
314 ed10=cadena[21:24]
312 ed11=cadena[25:28]
315 ed11=cadena[25:28]
313 ed12=cadena[29:32]
316 ed12=cadena[29:32]
314 if cnt==12:
317 if cnt==12:
315 nd13=cadena[1:4]
318 nd13=cadena[1:4]
316 nd14=cadena[5:8]
319 nd14=cadena[5:8]
317 nd15=cadena[9:12]
320 nd15=cadena[9:12]
318 nd16=cadena[13:16]
321 nd16=cadena[13:16]
319 ed13=cadena[17:20]
322 ed13=cadena[17:20]
320 ed14=cadena[21:24]
323 ed14=cadena[21:24]
321 ed15=cadena[25:28]
324 ed15=cadena[25:28]
322 ed16=cadena[29:32]
325 ed16=cadena[29:32]
323 if cnt==13:
326 if cnt==13:
324 wd01=cadena[1:4]
327 wd01=cadena[1:4]
325 wd02=cadena[5:8]
328 wd02=cadena[5:8]
326 wd03=cadena[9:12]
329 wd03=cadena[9:12]
327 wd04=cadena[13:16]
330 wd04=cadena[13:16]
328 sd01=cadena[17:20]
331 sd01=cadena[17:20]
329 sd02=cadena[21:24]
332 sd02=cadena[21:24]
330 sd03=cadena[25:28]
333 sd03=cadena[25:28]
331 sd04=cadena[29:32]
334 sd04=cadena[29:32]
332 if cnt==14:
335 if cnt==14:
333 wd05=cadena[1:4]
336 wd05=cadena[1:4]
334 wd06=cadena[5:8]
337 wd06=cadena[5:8]
335 wd07=cadena[9:12]
338 wd07=cadena[9:12]
336 wd08=cadena[13:16]
339 wd08=cadena[13:16]
337 sd05=cadena[17:20]
340 sd05=cadena[17:20]
338 sd06=cadena[21:24]
341 sd06=cadena[21:24]
339 sd07=cadena[25:28]
342 sd07=cadena[25:28]
340 sd08=cadena[29:32]
343 sd08=cadena[29:32]
341 if cnt==15:
344 if cnt==15:
342 wd09=cadena[1:4]
345 wd09=cadena[1:4]
343 wd10=cadena[5:8]
346 wd10=cadena[5:8]
344 wd11=cadena[9:12]
347 wd11=cadena[9:12]
345 wd12=cadena[13:16]
348 wd12=cadena[13:16]
346 sd09=cadena[17:20]
349 sd09=cadena[17:20]
347 sd10=cadena[21:24]
350 sd10=cadena[21:24]
348 sd11=cadena[25:28]
351 sd11=cadena[25:28]
349 sd12=cadena[29:32]
352 sd12=cadena[29:32]
350 if cnt==16:
353 if cnt==16:
351 wd13=cadena[1:4]
354 wd13=cadena[1:4]
352 wd14=cadena[5:8]
355 wd14=cadena[5:8]
353 wd15=cadena[9:12]
356 wd15=cadena[9:12]
354 wd16=cadena[13:16]
357 wd16=cadena[13:16]
355 sd13=cadena[17:20]
358 sd13=cadena[17:20]
356 sd14=cadena[21:24]
359 sd14=cadena[21:24]
357 sd15=cadena[25:28]
360 sd15=cadena[25:28]
358 sd16=cadena[29:32]
361 sd16=cadena[29:32]
359 lst_n_up=[nu01,nu02,nu03,nu04,nu05,nu06,nu07,nu08,nu09,nu10,nu11,nu12,nu13,nu14,nu15,nu16]
362 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]
363 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]
364 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]
365 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]
366 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]
367 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]
368 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]
369 lst_e_dw=[ed01,ed02,ed03,ed04,ed05,ed06,ed07,ed08,ed09,ed10,ed11,ed12,ed13,ed14,ed15,ed16]
367
370
368 lstup = lst_s_up + lst_w_up + lst_n_up + lst_e_up
371 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
372 lstdw = lst_s_dw + lst_w_dw + lst_n_up + lst_e_up
370
373
371 if polarizacion=='up':
374 if polarizacion=='up':
372 return lstup
375 return lstup
373 elif polarizacion=='dw':
376 elif polarizacion=='dw':
374 return lstdw
377 return lstdw
375 fichero.close()
378 fichero.close()
376
379
377
380
378 def CreaFormatoFinal():
381 def CreaFormatoFinal():
379 ne=NumeroDeExperimentos(archivo)
382 ne=NumeroDeExperimentos(archivo)
380
383
381 #nombre01 = file1(archivo,'1')
384 #nombre01 = file1(archivo,'1')
382 nombre02 = file1(archivo,'2')
385 nombre02 = file1(archivo,'2')
383 fichero=open(CarpetaDeTrabajo+'FormatoControlCentral.txt','w')
386 fichero=open(CarpetaDeTrabajo+'FormatoControlCentral.txt','w')
384 fichero.write(nombre02+'\n')
387 fichero.write(nombre02+'\n')
385 fichero.write(str(ne)+'\n')
388 fichero.write(str(ne)+'\n')
386 for i in range(1,17):
389 for i in range(1,17):
387
390
388 if i<10:
391 if i<10:
389 nmod = '0'+str(i)
392 nmod = '0'+str(i)
390 else: nmod = str(i)
393 else: nmod = str(i)
391
394
392
395
393 fichero.write('S'+nmod+'\n')
396 fichero.write('S'+nmod+'\n')
394 for j in range(1,ne+1):
397 for j in range(1,ne+1):
395 ruta=CarpetaDeTrabajo+str(j)+'.txt'
398 ruta=CarpetaDeTrabajo+str(j)+'.txt'
396 lu=CapturaValoresEnArchivo(ruta,polarizacion='up')
399 lu=CapturaValoresEnArchivo(ruta,polarizacion='up')
397 ld=CapturaValoresEnArchivo(ruta,polarizacion='dw')
400 ld=CapturaValoresEnArchivo(ruta,polarizacion='dw')
398 part1=''
401 part1=''
399 part2=''
402 part2=''
400 if lu[i-1]=='1.0': part1='000'
403 if lu[i-1]=='1.0': part1='000'
401 if lu[i-1]=='2.0': part1='001'
404 if lu[i-1]=='2.0': part1='001'
402 if lu[i-1]=='3.0': part1='010'
405 if lu[i-1]=='3.0': part1='010'
403 if lu[i-1]=='0.0': part1='011'
406 if lu[i-1]=='0.0': part1='011'
404 if lu[i-1]=='0.5': part1='100'
407 if lu[i-1]=='0.5': part1='100'
405 if lu[i-1]=='1.5': part1='101'
408 if lu[i-1]=='1.5': part1='101'
406 if lu[i-1]=='2.5': part1='110'
409 if lu[i-1]=='2.5': part1='110'
407 if lu[i-1]=='3.5': part1='111'
410 if lu[i-1]=='3.5': part1='111'
408 if ld[i-1]=='1.0': part2='000'
411 if ld[i-1]=='1.0': part2='000'
409 if ld[i-1]=='2.0': part2='001'
412 if ld[i-1]=='2.0': part2='001'
410 if ld[i-1]=='3.0': part2='010'
413 if ld[i-1]=='3.0': part2='010'
411 if ld[i-1]=='0.0': part2='011'
414 if ld[i-1]=='0.0': part2='011'
412 if ld[i-1]=='0.5': part2='100'
415 if ld[i-1]=='0.5': part2='100'
413 if ld[i-1]=='1.5': part2='101'
416 if ld[i-1]=='1.5': part2='101'
414 if ld[i-1]=='2.5': part2='110'
417 if ld[i-1]=='2.5': part2='110'
415 if ld[i-1]=='3.5': part2='111'
418 if ld[i-1]=='3.5': part2='111'
416 fichero.write(part1+part2+'\n')
419 fichero.write(part1+part2+'\n')
417 fichero.write('------'+'\n')
420 fichero.write('------'+'\n')
418 fichero.close()
421 fichero.close()
419
422
420 def CreaFormatoFinal2():
423 def CreaFormatoFinal2():
421 ne=NumeroDeExperimentos(archivo)
424 ne=NumeroDeExperimentos(archivo)
422
425
423 #nombre01 = file1(archivo,'1')
426 #nombre01 = file1(archivo,'1')
424 nombre02 = file1(archivo,'2')
427 nombre02 = file1(archivo,'2')
425 fichero=open(CarpetaDeTrabajo+'FormatoControlCentral.txt','w')
428 fichero=open(CarpetaDeTrabajo+'FormatoControlCentral.txt','w')
426 fichero.write(nombre02+'\n')
429 fichero.write(nombre02+'\n')
427 fichero.write(str(ne)+'\n')
430 fichero.write(str(ne)+'\n')
428
431
429 for i in range(1,65):
432 for i in range(1,65):
430
433
431 if i<10:
434 if i<10:
432 nmod = '0'+str(i)
435 nmod = '0'+str(i)
433 else: nmod = str(i)
436 else: nmod = str(i)
434
437
435 fichero.write("ABS_" + nmod+'\n')
438 fichero.write("ABS_" + nmod+'\n')
436
439
437 for j in range(1,ne+1):
440 for j in range(1,ne+1):
438 ruta=CarpetaDeTrabajo+str(j)+'.txt'
441 ruta=CarpetaDeTrabajo+str(j)+'.txt'
439 lu=CapturaValoresEnArchivo2(ruta,polarizacion='up')
442 lu=CapturaValoresEnArchivo2(ruta,polarizacion='up')
440 ld=CapturaValoresEnArchivo2(ruta,polarizacion='dw')
443 ld=CapturaValoresEnArchivo2(ruta,polarizacion='dw')
441 part1=''
444 part1=''
442 part2=''
445 part2=''
443 if lu[i-1]=='1.0': part1='000'
446 if lu[i-1]=='1.0': part1='000'
444 if lu[i-1]=='2.0': part1='001'
447 if lu[i-1]=='2.0': part1='001'
445 if lu[i-1]=='3.0': part1='010'
448 if lu[i-1]=='3.0': part1='010'
446 if lu[i-1]=='0.0': part1='011'
449 if lu[i-1]=='0.0': part1='011'
447 if lu[i-1]=='0.5': part1='100'
450 if lu[i-1]=='0.5': part1='100'
448 if lu[i-1]=='1.5': part1='101'
451 if lu[i-1]=='1.5': part1='101'
449 if lu[i-1]=='2.5': part1='110'
452 if lu[i-1]=='2.5': part1='110'
450 if lu[i-1]=='3.5': part1='111'
453 if lu[i-1]=='3.5': part1='111'
451 if ld[i-1]=='1.0': part2='000'
454 if ld[i-1]=='1.0': part2='000'
452 if ld[i-1]=='2.0': part2='001'
455 if ld[i-1]=='2.0': part2='001'
453 if ld[i-1]=='3.0': part2='010'
456 if ld[i-1]=='3.0': part2='010'
454 if ld[i-1]=='0.0': part2='011'
457 if ld[i-1]=='0.0': part2='011'
455 if ld[i-1]=='0.5': part2='100'
458 if ld[i-1]=='0.5': part2='100'
456 if ld[i-1]=='1.5': part2='101'
459 if ld[i-1]=='1.5': part2='101'
457 if ld[i-1]=='2.5': part2='110'
460 if ld[i-1]=='2.5': part2='110'
458 if ld[i-1]=='3.5': part2='111'
461 if ld[i-1]=='3.5': part2='111'
459 fichero.write(part1+part2+'\n')
462 fichero.write(part1+part2+'\n')
460 fichero.write('------'+'\n')
463 fichero.write('------'+'\n')
461 fichero.close()
464 fichero.close()
462
465
463 def EliminaArchivosEnLaCarpeta():
466 def EliminaArchivosEnLaCarpeta():
464 ne=NumeroDeExperimentos(archivo)
467 ne=NumeroDeExperimentos(archivo)
465 for i in range(1,ne+1):
468 for i in range(1,ne+1):
466 os.remove(CarpetaDeTrabajo+str(i)+'.txt')
469 os.remove(CarpetaDeTrabajo+str(i)+'.txt')
467
470
468 CreaFicherosPrevios()
471 CreaFicherosPrevios()
469 CreaFormatoFinal2()
472 CreaFormatoFinal2()
470 EliminaArchivosEnLaCarpeta()
473 EliminaArchivosEnLaCarpeta()
471
474
472 ##########
475 ##########
473
476
474 if __name__ == '__main__':
477 if __name__ == '__main__':
475
478
476 filename = "experimento1.abs"
479 filename = "experimento1.abs"
477
480
478 absObj = ABSClient()
481 absObj = ABSClient()
479 absObj.sendFile(filename)
482 absObj.sendFile(filename)
480 # absObj.changeBeam("0")
483 # absObj.changeBeam("0")
481 # absObj.changeBeam("1")
484 # absObj.changeBeam("1")
482 # absObj.changeBeam("2")
485 # absObj.changeBeam("2")
483 # absObj.changeBeam("3")
486 # absObj.changeBeam("3")
484 # absObj.changeBeam("4")
487 # absObj.changeBeam("4")
485 # absObj.changeBeam("5")
488 # absObj.changeBeam("5")
486 # absObj.changeBeam("6")
489 # absObj.changeBeam("6")
487 # absObj.changeBeam("7")
490 # absObj.changeBeam("7")
488 # absObj.getStatus(5) No newline at end of file
491 # absObj.getStatus(5)
@@ -1,182 +1,189
1 #import tftpy
1 #import tftpy
2 import socket
2 import socket
3
3
4 class UDPComm:
4 class UDPComm:
5
5
6 __HEADER = "ABS"
6 __HEADER = "ABS"
7
7
8 def __init__(self, ipSource, ipDestino, portDestino, asServer=False):
8 def __init__(self, ipSource, ipDestino, portDestino, asServer=False):
9
9
10 self.ipSource = ipSource
10 self.ipSource = ipSource
11 self.ipDestino = ipDestino
11 self.ipDestino = ipDestino
12 self.portDestino = portDestino
12 self.portDestino = portDestino
13 self.addr = (ipDestino,portDestino)
13 self.addr = (ipDestino,portDestino)
14 self.answer = "none" #test
14 self.answer = "none" #test
15 self.mode = "none"
15 self.mode = "none"
16
16
17 self.openSocket(asServer)
17 self.openSocket(asServer)
18
18
19 def openSocket(self, asServer):
19 def openSocket(self, asServer):
20
20
21 #self.socket_c = socket.socket(AF_INET,SOCK_DGRAM)
21 #self.socket_c = socket.socket(AF_INET,SOCK_DGRAM)
22 self.socket_c = socket.socket(socket.AF_INET, socket.SOCK_DGRAM,0)
22 self.socket_c = socket.socket(socket.AF_INET, socket.SOCK_DGRAM,0)
23 # self.socket_c.connect((self.ipDestino, self.portDestino))
23 # self.socket_c.connect((self.ipDestino, self.portDestino))
24
24
25 if asServer:
25 if asServer:
26 self.configAsServer()
26 self.configAsServer()
27 self.mode = "server"
27 self.mode = "server"
28 else:
28 else:
29 self.configAsClient()
29 self.configAsClient()
30 self.mode = "client"
30 self.mode = "client"
31
31
32 def configAsClient(self):
32 def configAsClient(self):
33 #Configurar broadcast
33 #Configurar broadcast
34 self.socket_c.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
34 self.socket_c.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
35
35
36 def configAsServer(self):
36 def configAsServer(self):
37
37
38 self.socket_c.bind(self.addr)
38 self.socket_c.bind(self.addr)
39 print "\nServer initialized"
39 print "\nServer initialized"
40
40
41 def waitData(self, nbytes = 16384):
41 def waitData(self, nbytes = 16384):
42
42
43 print "\nWaiting some data"
43 print "\nWaiting some data"
44 trama_rx, self.answer = self.socket_c.recvfrom(nbytes)
44 trama_rx, self.answer = self.socket_c.recvfrom(nbytes)
45 print "\nThis socket has received some data from:"
45 print "\nThis socket has received some data from:"
46 print self.answer
46 print self.answer
47 ipSource, ipDestino, cmd, data = self.__getTrama(trama_rx)
47 ipSource, ipDestino, cmd, data = self.__getTrama(trama_rx)
48
48
49 return ipSource, ipDestino, cmd, data
49 return ipSource, ipDestino, cmd, data
50
50
51 def sendData(self, cmd, data):
51 def sendData(self, cmd, data):
52
52
53 if self.portDestino == 7000:
53 if self.portDestino == 7000:
54 trama_tx = self.__HEADER + ":" + str(self.ipSource) + ":" + str(self.ipDestino) + ":" + str(cmd) + ":" + str(data) + ":"
54 trama_tx = self.__HEADER + ":" + str(self.ipSource) + ":" + str(self.ipDestino) + ":" + str(cmd) + ":" + str(data) + ":"
55 else:
55 else:
56 trama_tx = data
56 trama_tx = data
57
57
58 if self.mode == "client":
58 if self.mode == "client":
59 destiny = self.addr
59 destiny = self.addr
60 else:
60 else:
61 destiny = self.answer
61 destiny = self.answer
62 # Send messages
62 # Send messages
63 if(self.socket_c.sendto(trama_tx, destiny)):
63 if(self.socket_c.sendto(trama_tx, destiny)):
64 print "Sending message:[" + trama_tx + "] to " + str(destiny)
64 print "Sending message:[" + trama_tx + "] to " + str(destiny)
65
65
66 def __getTrama(self, trama):
66 def __getTrama(self, trama):
67
67
68 FrameList = trama.split(':')
68 FrameList = trama.split(':')
69
69
70 header = FrameList[0]
70 header = FrameList[0]
71 ipSource = FrameList[1]
71 ipSource = FrameList[1]
72 ipDestino = FrameList[2]
72 ipDestino = FrameList[2]
73 cmd = FrameList[3]
73 cmd = FrameList[3]
74 data = FrameList[4]
74 data = FrameList[4]
75 trash = FrameList[5]
75 trash = FrameList[5]
76
76
77 return ipSource, ipDestino, cmd, data
77 return ipSource, ipDestino, cmd, data
78
78
79 class TCPComm:
79 class TCPComm:
80
80
81 __HEADER = "ABS"
81 __HEADER = "ABS"
82
82
83 def __init__(self, ipSource, ipDestino, portDestino, asServer=False):
83 def __init__(self, ipSource, ipDestino, portDestino, asServer=False):
84
84
85 self.ipSource = ipSource
85 self.ipSource = ipSource
86 self.ipDestino = ipDestino
86 self.ipDestino = ipDestino
87 self.portDestino = portDestino
87 self.portDestino = portDestino
88 self.addr = (ipDestino,portDestino)
88 self.addr = (ipDestino,portDestino)
89 self.addr2 = ("none",0)
89
90 self.sc = "none"
90 self.answer = "none" #test
91 self.answer = "none" #test
91 self.mode = "none"
92 self.mode = "none"
92
93
93 self.openSocket(asServer)
94 self.openSocket(asServer)
94
95
95 def openSocket(self, asServer):
96 def openSocket(self, asServer):
96
97
97 #self.socket_c = socket.socket(AF_INET,SOCK_DGRAM)
98 #self.socket_c = socket.socket(AF_INET,SOCK_DGRAM)
98 self.socket_c = socket.socket()
99 self.socket_c = socket.socket()
99 # self.socket_c.connect((self.ipDestino, self.portDestino))
100 # self.socket_c.connect((self.ipDestino, self.portDestino))
100
101
101 if asServer:
102 if asServer:
102 self.configAsServer()
103 self.configAsServer()
103 self.mode = "server"
104 self.mode = "server"
104 else:
105 else:
105 self.configAsClient()
106 self.configAsClient()
106 self.mode = "client"
107 self.mode = "client"
107
108
108 def configAsClient(self):
109 def configAsClient(self):
109 #Buscar broadcast TCP
110 #Buscar broadcast TCP
110 # self.socket_c.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
111 # self.socket_c.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
111 self.socket_c.connect(self.addr)
112 self.socket_c.connect(self.addr)
112
113
113 def configAsServer(self):
114 def configAsServer(self):
114
115
115 self.socket_c.bind(self.addr)
116 self.socket_c.bind(self.addr)
116 self.socket_c.listen(1)
117 self.socket_c.listen(1)
117 self.addr2 = self.socket_c.accept()
118 sc, addr = self.socket_c.accept()
119 self.sc = sc
120 self.answer = addr
118 print "\nServer initialized"
121 print "\nServer initialized"
119
122
120 def waitData(self, nbytes = 16384):
123 def waitData(self, nbytes = 16384):
121
124
122 print "\nWaiting some data"
125 print "\nWaiting some data"
123 if self.mode == "client":
126 if self.mode == "client":
124 trama_rx, self.answer = self.socket_c.recv(nbytes)
127 trama_rx = self.socket_c.recv(nbytes)
125 else:
128 else:
126 trama_rx, self.answer = self.addr2[0].recv(nbytes)
129 trama_rx = self.sc.recv(nbytes)
127
130
128 print "\nThis socket has received some data from:"
131 print "\nThis socket has received some data from:"
129 print self.answer
132 print self.answer
130
133
131 ipSource, ipDestino, cmd, data = self.__getTrama(trama_rx)
134 ipSource, ipDestino, cmd, data = self.__getTrama(trama_rx)
132
135
133 return ipSource, ipDestino, cmd, data
136 return ipSource, ipDestino, cmd, data
134
137
135 def sendData(self, cmd, data):
138 def sendData(self, cmd, data):
136
139
137 if self.portDestino == 7000:
140 if self.portDestino == 7000:
138 trama_tx = self.__HEADER + ":" + str(self.ipSource) + ":" + str(self.ipDestino) + ":" + str(cmd) + ":" + str(data) + ":"
141 trama_tx = self.__HEADER + ":" + str(self.ipSource) + ":" + str(self.ipDestino) + ":" + str(cmd) + ":" + str(data) + ":"
139 else:
142 else:
140 trama_tx = data
143 trama_tx = data
141 # Send messages
144 # Send messages
142 if self.mode == "client":
145 if self.mode == "client":
143 self.socket_c.send(trama_tx)
146 self.socket_c.send(trama_tx)
144 else:
147 else:
145 self.addr2[0].send(trama_tx)
148 self.addr2[0].send(trama_tx)
146 print "Sending message:[" + trama_tx + "]"
149 print "Sending message:[" + trama_tx + "]"
147
150
148 def __getTrama(self, trama):
151 def __getTrama(self, trama):
149
152
150 FrameList = trama.split(':')
153 FrameList = trama.split(':')
151
154
152 header = FrameList[0]
155 header = FrameList[0]
153 ipSource = FrameList[1]
156 ipSource = FrameList[1]
154 ipDestino = FrameList[2]
157 ipDestino = FrameList[2]
155 cmd = FrameList[3]
158 cmd = FrameList[3]
156 data = FrameList[4]
159 data = FrameList[4]
157 trash = FrameList[5]
160 trash = FrameList[5]
158
161
159 return ipSource, ipDestino, cmd, data
162 return ipSource, ipDestino, cmd, data
160
163
164 def close_socket():
165 self.socket_c.close()
166
167
161 #class FTPComm:
168 #class FTPComm:
162 #
169 #
163 # ftp_servidor = 'ftp.servidor.com'
170 # ftp_servidor = 'ftp.servidor.com'
164 # ftp_usuario = 'miusuario'
171 # ftp_usuario = 'miusuario'
165 # ftp_clave = 'miclave'
172 # ftp_clave = 'miclave'
166 # ftp_raiz = '/public_html'
173 # ftp_raiz = '/public_html'
167 #
174 #
168 # def __init__(self):
175 # def __init__(self):
169 #
176 #
170 # self.client = tftpy.TftpClient(self.ftp_servidor, '69')
177 # self.client = tftpy.TftpClient(self.ftp_servidor, '69')
171 #
178 #
172 #
179 #
173 # def sendFile(self, filename):
180 # def sendFile(self, filename):
174 #
181 #
175 # self.client.upload(filename)
182 # self.client.upload(filename)
176 #
183 #
177 #if __name__ == '__main__':
184 #if __name__ == '__main__':
178 #
185 #
179 # obj = FTPComm()
186 # obj = FTPComm()
180
187
181
188
182 No newline at end of file
189
General Comments 0
You need to be logged in to leave comments. Login now