##// END OF EJS Templates
changes with frame corrected
imanay -
r108:109
parent child
Show More
@@ -1,529 +1,531
1 1 # Needed for the FilesStuff class No newline at end of file
2 2 import os No newline at end of file
3 3 import numpy as np No newline at end of file
4 4 # Needed for the TCPComm class No newline at end of file
5 5 import socket No newline at end of file
6 6 No newline at end of file
7 7 class TCPComm: No newline at end of file
8 8 No newline at end of file
9 9 __HEADER = "JRO" No newline at end of file
10 10 __TYPE = "ABS" No newline at end of file
11 11 No newline at end of file
12 12 def __init__(self, ipSource, iDSource, ipDestino, iDDestino, portDestino, asServer=False): No newline at end of file
13 13 No newline at end of file
14 14 self.ipSource = ipSource No newline at end of file
15 15 self.iDSource = iDSource No newline at end of file
16 16 self.ipDestino = ipDestino No newline at end of file
17 17 self.iDDestino = iDDestino No newline at end of file
18 18 self.portDestino = portDestino No newline at end of file
19 19 self.addr = (ipDestino,portDestino) No newline at end of file
20 20 No newline at end of file
21 21 self.sc = "none" No newline at end of file
22 22 self.answer = "none" #test No newline at end of file
23 23 self.asServer = False No newline at end of file
24 24 self.len = "000000" No newline at end of file
25 25 self.crc = "0" No newline at end of file
26 26 No newline at end of file
27 27 self.openSocket(asServer) No newline at end of file
28 28 No newline at end of file
29 29 def openSocket(self, asServer): No newline at end of file
30 30 No newline at end of file
31 31 #self.socket_c = socket.socket(AF_INET,SOCK_DGRAM) No newline at end of file
32 32 # self.socket_c = socket.socket() No newline at end of file
33 33 # self.socket_c.connect((self.ipDestino, self.portDestino)) No newline at end of file
34 34 No newline at end of file
35 35 if asServer: No newline at end of file
36 36 self.socket_c = socket.socket() No newline at end of file
37 37 # self.configAsServer() No newline at end of file
38 38 self.socket_c.bind(self.addr) No newline at end of file
39 39 self.asServer = True No newline at end of file
40 40 else: No newline at end of file
41 41 # self.configAsClient() No newline at end of file
42 42 self.asServer = False #Socket is opened at the sendData function No newline at end of file
43 43 No newline at end of file
44 44 # def configAsClient(self): No newline at end of file
45 45 #Buscar broadcast TCP No newline at end of file
46 46 # self.socket_c.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) No newline at end of file
47 47 # self.socket_c.connect(self.addr) No newline at end of file
48 48 # pass No newline at end of file
49 49 No newline at end of file
50 50 # def configAsServer(self): No newline at end of file
51 51 # No newline at end of file
52 52 # self.socket_c.bind(self.addr) No newline at end of file
53 53 No newline at end of file
54 54 def waitData(self): No newline at end of file
55 55 if self.asServer == True: No newline at end of file
56 56 trama_rx, l = self.waitAsServer() No newline at end of file
57 57 else: No newline at end of file
58 58 trama_rx, l = self.waitAsClient() No newline at end of file
59 59 No newline at end of file
60 60 ipSource, ipDestino, cmd, data = self.__getTrama(trama_rx, l) No newline at end of file
61 61 No newline at end of file
62 62 return ipSource, ipDestino, cmd, data No newline at end of file
63 63 No newline at end of file
64 64 def waitAsClient2(self, nbytes = 1024): No newline at end of file
65 65 print "\nWaiting the server." No newline at end of file
66 66 # Short data through ethernet No newline at end of file
67 67 trama_rx = self.socket_c.recv(nbytes) No newline at end of file
68 68 print "\nThis socket has received this data: " + str(trama_rx) No newline at end of file
69 69 No newline at end of file
70 70 return trama_rx No newline at end of file
71 71 No newline at end of file
72 72 def waitAsServer2(self, nbytes = 1024): No newline at end of file
73 73 print "\nWaiting some client." No newline at end of file
74 74 self.socket_c.listen(1) No newline at end of file
75 75 sc, addr = self.socket_c.accept() No newline at end of file
76 76 self.sc = sc No newline at end of file
77 77 self.answer = addr No newline at end of file
78 78 # Big data through ethernet No newline at end of file
79 79 trama_rx = "" No newline at end of file
80 80 while True: No newline at end of file
81 81 tmp = self.sc.recv(nbytes) No newline at end of file
82 82 trama_rx = trama_rx + tmp No newline at end of file
83 83 if trama_rx[-4:] == "quit": No newline at end of file
84 84 break No newline at end of file
85 85 No newline at end of file
86 86 print "\nThis socket has received some data from: " + str(self.answer) No newline at end of file
87 87 No newline at end of file
88 88 return trama_rx No newline at end of file
89 89 No newline at end of file
90 90 def waitAsServer(self, nbytes = 1024): No newline at end of file
91 91 print "\nWaiting some client." No newline at end of file
92 92 self.socket_c.listen(1) No newline at end of file
93 93 sc, addr = self.socket_c.accept() No newline at end of file
94 94 self.sc = sc No newline at end of file
95 95 self.answer = addr No newline at end of file
96 96 # Big data through ethernet No newline at end of file
97 97 cnt = 0; No newline at end of file
98 98 first = 0; No newline at end of file
99 99 trama_rx = "" No newline at end of file
100 100 while True: No newline at end of file
101 101 tmp = self.sc.recv(nbytes) No newline at end of file
102 102 trama_rx = trama_rx + tmp No newline at end of file
103 103 cnt = len(trama_rx) No newline at end of file
104 104 if first == 0: No newline at end of file
105 105 first = 1 No newline at end of file
106 106 lng = int(trama_rx[20:26]) No newline at end of file
107 print str(lng) No newline at end of file
107 108 if cnt == lng: No newline at end of file
108 109 break No newline at end of file
109 110 No newline at end of file
110 111 print "\nThis socket has received some data from: " + str(self.answer) No newline at end of file
111 112 No newline at end of file
112 113 return trama_rx, lng No newline at end of file
113 114 No newline at end of file
114 115 def waitAsClient(self, nbytes = 1024): No newline at end of file
115 116 print "\nWaiting the server." No newline at end of file
116 117 # Short data through ethernet No newline at end of file
117 118 trama_rx = self.socket_c.recv(nbytes) No newline at end of file
118 119 lng = int(trama_rx[20:26]) No newline at end of file
120 print str(lng) No newline at end of file
119 121 print "\nThis socket has received this data: " + str(trama_rx) No newline at end of file
120 122 No newline at end of file
121 123 return trama_rx, lng No newline at end of file
122 124 No newline at end of file
123 125 def sendData2(self, cmd, data, ipDestino): No newline at end of file
124 126 No newline at end of file
125 127 trama_tx = self.__HEADER + ":" + self.__TYPE + ":" + str(self.ipSource) + ":" + str(ipDestino) + \ No newline at end of file
126 128 ":" + str(self.len) + ":" + str(cmd) + ":" + str(data) + ":" + str(self.crc) + ":" + "quit" No newline at end of file
127 129 No newline at end of file
128 130 if self.asServer == True: No newline at end of file
129 131 self.SendAsServer(trama_tx) No newline at end of file
130 132 else: No newline at end of file
131 133 self.SendAsClient(ipDestino, trama_tx) No newline at end of file
132 134 No newline at end of file
133 135 def sendData(self, cmd, data, ipDestino): No newline at end of file
134 136 No newline at end of file
135 137 trama_tx = self.__HEADER + self.__TYPE + self.iDSource + \ No newline at end of file
136 138 self.iDDestino + self.len + str(cmd) + str(data) + self.crc No newline at end of file
137 139 No newline at end of file
138 140 self.len = self.int2str(len(trama_tx)) No newline at end of file
139 141 No newline at end of file
140 142 trama_tx = self.__HEADER + self.__TYPE + self.iDSource + \ No newline at end of file
141 143 self.iDDestino + self.len + str(cmd) + str(data) + self.crc No newline at end of file
142 144 No newline at end of file
143 145 print trama_tx No newline at end of file
144 146 No newline at end of file
145 147 if self.asServer == True: No newline at end of file
146 148 self.SendAsServer(trama_tx) No newline at end of file
147 149 else: No newline at end of file
148 150 self.SendAsClient(ipDestino, trama_tx) No newline at end of file
149 151 No newline at end of file
150 152 def SendAsServer(self, trama_tx): No newline at end of file
151 153 No newline at end of file
152 154 self.sc.send(trama_tx) No newline at end of file
153 155 print "Sending message:[" + trama_tx + "] to: " + str(self.answer) No newline at end of file
154 156 No newline at end of file
155 157 No newline at end of file
156 158 def SendAsClient(self, ipDestino, trama_tx): No newline at end of file
157 159 No newline at end of file
158 160 self.socket_c.connect((ipDestino, self.portDestino)) No newline at end of file
159 161 self.socket_c.send(trama_tx) No newline at end of file
160 162 print "Sending message:[" + trama_tx + "] to: " + ipDestino No newline at end of file
161 163 No newline at end of file
162 164 def __getTrama2(self, trama): No newline at end of file
163 165 No newline at end of file
164 166 FrameList = trama.split(':') No newline at end of file
165 167 No newline at end of file
166 168 header = FrameList[0] No newline at end of file
167 169 TypeOfInstrument = FrameList[1] No newline at end of file
168 170 ipSource = FrameList[2] No newline at end of file
169 171 ipDestino = FrameList[3] No newline at end of file
170 172 len = FrameList[4] No newline at end of file
171 173 cmd = FrameList[5] No newline at end of file
172 174 data = FrameList[6] No newline at end of file
173 175 crc = FrameList[7] No newline at end of file
174 176 trash = FrameList[8] No newline at end of file
175 177 No newline at end of file
176 178 return ipSource, ipDestino, cmd, data No newline at end of file
177 179 No newline at end of file
178 180 def __getTrama(self, trama, l): No newline at end of file
179 181 No newline at end of file
180 182 header = trama[0:3] No newline at end of file
181 183 TypeOfInstrument = trama[3:6] No newline at end of file
182 184 ipSource = trama[6:13] No newline at end of file
183 185 ipDestino = trama[13:20] No newline at end of file
184 186 len = trama[20:26] No newline at end of file
185 187 cmd = trama[26:30] No newline at end of file
186 188 ldata = l-31 No newline at end of file
187 189 data = trama[30:30+ldata] No newline at end of file
188 190 crc = trama[30+ldata:] No newline at end of file
189 191 No newline at end of file
190 192 return ipSource, ipDestino, cmd, data No newline at end of file
191 193 No newline at end of file
192 194 def close_socket(self): No newline at end of file
193 195 self.socket_c.close() No newline at end of file
194 196 No newline at end of file
195 197 def open_socket(self): No newline at end of file
196 198 self.socket_c = socket.socket() No newline at end of file
197 199 No newline at end of file
198 200 def int2str(self, n): No newline at end of file
199 201 No newline at end of file
200 202 str_n = str(n) No newline at end of file
201 203 l_n = len(str_n) No newline at end of file
202 204 if l_n == 1: No newline at end of file
203 205 str_n = "00000" + str_n No newline at end of file
204 206 elif l_n == 2: No newline at end of file
205 207 str_n = "0000" + str_n No newline at end of file
206 208 elif l_n == 3: No newline at end of file
207 209 str_n = "000" + str_n No newline at end of file
208 210 elif l_n == 4: No newline at end of file
209 211 str_n = "00" + str_n No newline at end of file
210 212 elif l_n == 5: No newline at end of file
211 213 str_n = "0" + str_n No newline at end of file
212 214 return str_n No newline at end of file
213 215 No newline at end of file
214 216 class FilesStuff(): No newline at end of file
215 217 No newline at end of file
216 218 def lst2string(self, lst): No newline at end of file
217 219 string='' No newline at end of file
218 220 for i in lst: No newline at end of file
219 221 string=string+i No newline at end of file
220 222 return string No newline at end of file
221 223 No newline at end of file
222 224 def string2lst(self, string): No newline at end of file
223 225 lst = [] No newline at end of file
224 226 for i in string: No newline at end of file
225 227 lst.append(i) No newline at end of file
226 228 return lst No newline at end of file
227 229 No newline at end of file
228 230 No newline at end of file
229 231 def file1(self, filename, type): No newline at end of file
230 232 lst = self.string2lst(filename) No newline at end of file
231 233 fin = -1 No newline at end of file
232 234 t = len(lst) No newline at end of file
233 235 for i in np.arange(-1,-t,-1): No newline at end of file
234 236 if lst[i]=='/': No newline at end of file
235 237 fin=i No newline at end of file
236 238 break No newline at end of file
237 239 if type == '1': No newline at end of file
238 240 nombre2 = lst[fin+1:] No newline at end of file
239 241 nombre2[-1]='s' No newline at end of file
240 242 nombre2 = self.lst2string(nombre2) No newline at end of file
241 243 return nombre2 No newline at end of file
242 244 if type == '2': No newline at end of file
243 245 nombre2 = lst[fin+1:] No newline at end of file
244 246 nombre2[-1]='1' No newline at end of file
245 247 nombre2 = self.lst2string(nombre2) No newline at end of file
246 248 return nombre2 No newline at end of file
247 249 No newline at end of file
248 250 No newline at end of file
249 251 def EliminaSaltoDeLinea(self,cadena): No newline at end of file
250 252 i = 0 No newline at end of file
251 253 for elemento in cadena: No newline at end of file
252 254 if elemento =='\n' or elemento =='\r': No newline at end of file
253 255 pass No newline at end of file
254 256 else: No newline at end of file
255 257 i=i+1 No newline at end of file
256 258 return cadena [:i] No newline at end of file
257 259 No newline at end of file
258 260 def NumeroDeExperimentos(self, path): No newline at end of file
259 261 fichero1=open(path,'r') No newline at end of file
260 262 cont=0 No newline at end of file
261 263 for cadena in fichero1: No newline at end of file
262 264 cont=cont+1 No newline at end of file
263 265 if cont==3: No newline at end of file
264 266 nexp='' No newline at end of file
265 267 pos=0 No newline at end of file
266 268 for elemento in cadena: No newline at end of file
267 269 pos=pos+1 No newline at end of file
268 270 if elemento=='=': No newline at end of file
269 271 nexp=int(cadena[pos:]) No newline at end of file
270 272 return nexp No newline at end of file
271 273 fichero1.close() No newline at end of file
272 274 No newline at end of file
273 275 def Paridad(numero): No newline at end of file
274 276 if numero%2==0: return 'par' No newline at end of file
275 277 elif numero%2==1: return 'impar' No newline at end of file
276 278 No newline at end of file
277 279 def EvaluaCadena(self,cadena): No newline at end of file
278 280 if len(cadena)>35: No newline at end of file
279 281 if cadena[-1]=='$': No newline at end of file
280 282 return cadena[-35:-2] No newline at end of file
281 283 elif cadena[-1]==']': No newline at end of file
282 284 return cadena[-34:-1] No newline at end of file
283 285 else: No newline at end of file
284 286 return None No newline at end of file
285 287 No newline at end of file
286 288 def GuardaEnLista(self,path): No newline at end of file
287 289 fichero=open(path,'r') No newline at end of file
288 290 lista=[] No newline at end of file
289 291 for cadena in fichero: No newline at end of file
290 292 cadena = self.EliminaSaltoDeLinea(cadena) No newline at end of file
291 293 cadena = self.EvaluaCadena(cadena) No newline at end of file
292 294 if cadena != None: No newline at end of file
293 295 lista.append(cadena) No newline at end of file
294 296 fichero.close() No newline at end of file
295 297 return lista No newline at end of file
296 298 No newline at end of file
297 299 def CreaFicherosPrevios(self, path, archivo): No newline at end of file
298 300 vector = self.GuardaEnLista(archivo) No newline at end of file
299 301 for i in range(1,self.NumeroDeExperimentos(archivo)+1): No newline at end of file
300 302 fichero =open(path + str(i)+ '.txt','w') No newline at end of file
301 303 for j in range(0,16): No newline at end of file
302 304 fichero.write(vector[j+16*(i-1)]+'\n') No newline at end of file
303 305 fichero.close() No newline at end of file
304 306 No newline at end of file
305 307 def CapturaValoresEnArchivo(self, path, polarizacion='up'): No newline at end of file
306 308 fichero =open(path,'r') No newline at end of file
307 309 cnt=0 No newline at end of file
308 310 lstup=[] No newline at end of file
309 311 lstdw=[] No newline at end of file
310 312 for cadena in fichero: No newline at end of file
311 313 cnt=cnt+1 No newline at end of file
312 314 if cnt==1: No newline at end of file
313 315 nu01=cadena[1:4] No newline at end of file
314 316 nu02=cadena[5:8] No newline at end of file
315 317 nu03=cadena[9:12] No newline at end of file
316 318 nu04=cadena[13:16] No newline at end of file
317 319 eu01=cadena[17:20] No newline at end of file
318 320 eu02=cadena[21:24] No newline at end of file
319 321 eu03=cadena[25:28] No newline at end of file
320 322 eu04=cadena[29:32] No newline at end of file
321 323 if cnt==2: No newline at end of file
322 324 nu05=cadena[1:4] No newline at end of file
323 325 nu06=cadena[5:8] No newline at end of file
324 326 nu07=cadena[9:12] No newline at end of file
325 327 nu08=cadena[13:16] No newline at end of file
326 328 eu05=cadena[17:20] No newline at end of file
327 329 eu06=cadena[21:24] No newline at end of file
328 330 eu07=cadena[25:28] No newline at end of file
329 331 eu08=cadena[29:32] No newline at end of file
330 332 if cnt==3: No newline at end of file
331 333 nu09=cadena[1:4] No newline at end of file
332 334 nu10=cadena[5:8] No newline at end of file
333 335 nu11=cadena[9:12] No newline at end of file
334 336 nu12=cadena[13:16] No newline at end of file
335 337 eu09=cadena[17:20] No newline at end of file
336 338 eu10=cadena[21:24] No newline at end of file
337 339 eu11=cadena[25:28] No newline at end of file
338 340 eu12=cadena[29:32] No newline at end of file
339 341 if cnt==4: No newline at end of file
340 342 nu13=cadena[1:4] No newline at end of file
341 343 nu14=cadena[5:8] No newline at end of file
342 344 nu15=cadena[9:12] No newline at end of file
343 345 nu16=cadena[13:16] No newline at end of file
344 346 eu13=cadena[17:20] No newline at end of file
345 347 eu14=cadena[21:24] No newline at end of file
346 348 eu15=cadena[25:28] No newline at end of file
347 349 eu16=cadena[29:32] No newline at end of file
348 350 if cnt==5: No newline at end of file
349 351 wu01=cadena[1:4] No newline at end of file
350 352 wu02=cadena[5:8] No newline at end of file
351 353 wu03=cadena[9:12] No newline at end of file
352 354 wu04=cadena[13:16] No newline at end of file
353 355 su01=cadena[17:20] No newline at end of file
354 356 su02=cadena[21:24] No newline at end of file
355 357 su03=cadena[25:28] No newline at end of file
356 358 su04=cadena[29:32] No newline at end of file
357 359 if cnt==6: No newline at end of file
358 360 wu05=cadena[1:4] No newline at end of file
359 361 wu06=cadena[5:8] No newline at end of file
360 362 wu07=cadena[9:12] No newline at end of file
361 363 wu08=cadena[13:16] No newline at end of file
362 364 su05=cadena[17:20] No newline at end of file
363 365 su06=cadena[21:24] No newline at end of file
364 366 su07=cadena[25:28] No newline at end of file
365 367 su08=cadena[29:32] No newline at end of file
366 368 if cnt==7: No newline at end of file
367 369 wu09=cadena[1:4] No newline at end of file
368 370 wu10=cadena[5:8] No newline at end of file
369 371 wu11=cadena[9:12] No newline at end of file
370 372 wu12=cadena[13:16] No newline at end of file
371 373 su09=cadena[17:20] No newline at end of file
372 374 su10=cadena[21:24] No newline at end of file
373 375 su11=cadena[25:28] No newline at end of file
374 376 su12=cadena[29:32] No newline at end of file
375 377 if cnt==8: No newline at end of file
376 378 wu13=cadena[1:4] No newline at end of file
377 379 wu14=cadena[5:8] No newline at end of file
378 380 wu15=cadena[9:12] No newline at end of file
379 381 wu16=cadena[13:16] No newline at end of file
380 382 su13=cadena[17:20] No newline at end of file
381 383 su14=cadena[21:24] No newline at end of file
382 384 su15=cadena[25:28] No newline at end of file
383 385 su16=cadena[29:32] No newline at end of file
384 386 if cnt==9: No newline at end of file
385 387 nd01=cadena[1:4] No newline at end of file
386 388 nd02=cadena[5:8] No newline at end of file
387 389 nd03=cadena[9:12] No newline at end of file
388 390 nd04=cadena[13:16] No newline at end of file
389 391 ed01=cadena[17:20] No newline at end of file
390 392 ed02=cadena[21:24] No newline at end of file
391 393 ed03=cadena[25:28] No newline at end of file
392 394 ed04=cadena[29:32] No newline at end of file
393 395 if cnt==10: No newline at end of file
394 396 nd05=cadena[1:4] No newline at end of file
395 397 nd06=cadena[5:8] No newline at end of file
396 398 nd07=cadena[9:12] No newline at end of file
397 399 nd08=cadena[13:16] No newline at end of file
398 400 ed05=cadena[17:20] No newline at end of file
399 401 ed06=cadena[21:24] No newline at end of file
400 402 ed07=cadena[25:28] No newline at end of file
401 403 ed08=cadena[29:32] No newline at end of file
402 404 if cnt==11: No newline at end of file
403 405 nd09=cadena[1:4] No newline at end of file
404 406 nd10=cadena[5:8] No newline at end of file
405 407 nd11=cadena[9:12] No newline at end of file
406 408 nd12=cadena[13:16] No newline at end of file
407 409 ed09=cadena[17:20] No newline at end of file
408 410 ed10=cadena[21:24] No newline at end of file
409 411 ed11=cadena[25:28] No newline at end of file
410 412 ed12=cadena[29:32] No newline at end of file
411 413 if cnt==12: No newline at end of file
412 414 nd13=cadena[1:4] No newline at end of file
413 415 nd14=cadena[5:8] No newline at end of file
414 416 nd15=cadena[9:12] No newline at end of file
415 417 nd16=cadena[13:16] No newline at end of file
416 418 ed13=cadena[17:20] No newline at end of file
417 419 ed14=cadena[21:24] No newline at end of file
418 420 ed15=cadena[25:28] No newline at end of file
419 421 ed16=cadena[29:32] No newline at end of file
420 422 if cnt==13: No newline at end of file
421 423 wd01=cadena[1:4] No newline at end of file
422 424 wd02=cadena[5:8] No newline at end of file
423 425 wd03=cadena[9:12] No newline at end of file
424 426 wd04=cadena[13:16] No newline at end of file
425 427 sd01=cadena[17:20] No newline at end of file
426 428 sd02=cadena[21:24] No newline at end of file
427 429 sd03=cadena[25:28] No newline at end of file
428 430 sd04=cadena[29:32] No newline at end of file
429 431 if cnt==14: No newline at end of file
430 432 wd05=cadena[1:4] No newline at end of file
431 433 wd06=cadena[5:8] No newline at end of file
432 434 wd07=cadena[9:12] No newline at end of file
433 435 wd08=cadena[13:16] No newline at end of file
434 436 sd05=cadena[17:20] No newline at end of file
435 437 sd06=cadena[21:24] No newline at end of file
436 438 sd07=cadena[25:28] No newline at end of file
437 439 sd08=cadena[29:32] No newline at end of file
438 440 if cnt==15: No newline at end of file
439 441 wd09=cadena[1:4] No newline at end of file
440 442 wd10=cadena[5:8] No newline at end of file
441 443 wd11=cadena[9:12] No newline at end of file
442 444 wd12=cadena[13:16] No newline at end of file
443 445 sd09=cadena[17:20] No newline at end of file
444 446 sd10=cadena[21:24] No newline at end of file
445 447 sd11=cadena[25:28] No newline at end of file
446 448 sd12=cadena[29:32] No newline at end of file
447 449 if cnt==16: No newline at end of file
448 450 wd13=cadena[1:4] No newline at end of file
449 451 wd14=cadena[5:8] No newline at end of file
450 452 wd15=cadena[9:12] No newline at end of file
451 453 wd16=cadena[13:16] No newline at end of file
452 454 sd13=cadena[17:20] No newline at end of file
453 455 sd14=cadena[21:24] No newline at end of file
454 456 sd15=cadena[25:28] No newline at end of file
455 457 sd16=cadena[29:32] No newline at end of file
456 458 blck_1_up = [nu01,nu02,nu03,nu04,eu01,eu02,eu03,eu04,nu05,nu06,nu07,nu08,eu05,eu06,eu07,eu08] No newline at end of file
457 459 blck_1_dw = [nd01,nd02,nd03,nd04,ed01,ed02,ed03,ed04,nd05,nd06,nd07,nd08,ed05,ed06,ed07,ed08] No newline at end of file
458 460 blck_2_up = [nu09,nu10,nu11,nu12,eu09,eu10,eu11,eu12,nu13,nu14,nu15,nu16,eu13,eu14,eu15,eu16] No newline at end of file
459 461 blck_2_dw = [nd09,nd10,nd11,nd12,ed09,ed10,ed11,ed12,nd13,nd14,nd15,nd16,ed13,ed14,ed15,ed16] No newline at end of file
460 462 blck_3_up = [wu01,wu02,wu03,wu04,su01,su02,su03,su04,wu05,wu06,wu07,wu08,su05,su06,su07,su08] No newline at end of file
461 463 blck_3_dw = [wd01,wd02,wd03,wd04,sd01,sd02,sd03,sd04,wd05,wd06,wd07,wd08,sd05,sd06,sd07,sd08] No newline at end of file
462 464 blck_4_up = [wu09,wu10,wu11,wu12,su09,su10,su11,su12,wu13,wu14,wu15,wu16,su13,su14,su15,su16] No newline at end of file
463 465 blck_4_dw = [wd09,wd10,wd11,wd12,sd09,sd10,sd11,sd12,wd13,wd14,wd15,wd16,sd13,sd14,sd15,sd16] No newline at end of file
464 466 No newline at end of file
465 467 lstup = blck_1_up + blck_2_up + blck_3_up + blck_4_up No newline at end of file
466 468 lstdw = blck_1_dw + blck_2_dw + blck_3_dw + blck_4_dw No newline at end of file
467 469 No newline at end of file
468 470 if polarizacion=='up': No newline at end of file
469 471 return lstup No newline at end of file
470 472 elif polarizacion=='dw': No newline at end of file
471 473 return lstdw No newline at end of file
472 474 fichero.close() No newline at end of file
473 475 No newline at end of file
474 476 def CreaFormatoFinal(self, path, filename): No newline at end of file
475 477 ne=self.NumeroDeExperimentos(filename) No newline at end of file
476 478 No newline at end of file
477 479 #nombre01 = file1(archivo,'1') No newline at end of file
478 480 nombre02 = self.file1(filename,'2') No newline at end of file
479 481 fichero=open(path + 'CentralControlFormat.txt','w') No newline at end of file
480 482 fichero.write(nombre02+'\n') No newline at end of file
481 483 fichero.write(str(ne)+'\n') No newline at end of file
482 484 No newline at end of file
483 485 for i in range(1,65): No newline at end of file
484 486 No newline at end of file
485 487 if i<10: No newline at end of file
486 488 nmod = '0'+str(i) No newline at end of file
487 489 else: nmod = str(i) No newline at end of file
488 490 No newline at end of file
489 491 fichero.write("ABS_" + nmod+'\n') No newline at end of file
490 492 No newline at end of file
491 493 for j in range(1,ne+1): No newline at end of file
492 494 ruta=path+str(j)+'.txt' No newline at end of file
493 495 lu=self.CapturaValoresEnArchivo(ruta,polarizacion='up') No newline at end of file
494 496 ld=self.CapturaValoresEnArchivo(ruta,polarizacion='dw') No newline at end of file
495 497 part1='' No newline at end of file
496 498 part2='' No newline at end of file
497 499 if lu[i-1]=='1.0': part1='000' No newline at end of file
498 500 if lu[i-1]=='2.0': part1='001' No newline at end of file
499 501 if lu[i-1]=='3.0': part1='010' No newline at end of file
500 502 if lu[i-1]=='0.0': part1='011' No newline at end of file
501 503 if lu[i-1]=='0.5': part1='100' No newline at end of file
502 504 if lu[i-1]=='1.5': part1='101' No newline at end of file
503 505 if lu[i-1]=='2.5': part1='110' No newline at end of file
504 506 if lu[i-1]=='3.5': part1='111' No newline at end of file
505 507 if ld[i-1]=='1.0': part2='000' No newline at end of file
506 508 if ld[i-1]=='2.0': part2='001' No newline at end of file
507 509 if ld[i-1]=='3.0': part2='010' No newline at end of file
508 510 if ld[i-1]=='0.0': part2='011' No newline at end of file
509 511 if ld[i-1]=='0.5': part2='100' No newline at end of file
510 512 if ld[i-1]=='1.5': part2='101' No newline at end of file
511 513 if ld[i-1]=='2.5': part2='110' No newline at end of file
512 514 if ld[i-1]=='3.5': part2='111' No newline at end of file
513 515 fichero.write(part1+part2+'\n') No newline at end of file
514 516 fichero.write('------'+'\n') No newline at end of file
515 517 fichero.close() No newline at end of file
516 518 No newline at end of file
517 519 def EliminaArchivosEnLaCarpeta(self, path, filename): No newline at end of file
518 520 ne=self.NumeroDeExperimentos(filename) No newline at end of file
519 521 for i in range(1,ne+1): No newline at end of file
520 522 os.remove(path + str(i)+'.txt') No newline at end of file
521 523 No newline at end of file
522 524 No newline at end of file
523 525 def toCentralControlFormat(self, filename): No newline at end of file
524 526 """ Funcion que genera un archivo para el control central""" No newline at end of file
525 527 No newline at end of file
526 528 path = os.getcwd() + '/' No newline at end of file
527 529 self.CreaFicherosPrevios(path, filename) No newline at end of file
528 530 self.CreaFormatoFinal(path, filename) No newline at end of file
529 531 self.EliminaArchivosEnLaCarpeta(path, filename) No newline at end of file
@@ -1,186 +1,187
1 1 import os No newline at end of file
2 2 import library3 No newline at end of file
3 3 import time No newline at end of file
4 4 No newline at end of file
5 5 class ABSServer: No newline at end of file
6 6 No newline at end of file
7 7 def __init__(self,ipSource="localhost", ipDestino="192.168.1.117", portDestino=7000, ipDestino2="192.168.1.11", portDestino2=5500): No newline at end of file
8 8 No newline at end of file
9 9 self.ipSource = ipSource No newline at end of file
10 10 self.ipDestino = ipDestino No newline at end of file
11 11 self.portDestino = portDestino No newline at end of file
12 12 No newline at end of file
13 13 self.ipDestino2 = ipDestino2 No newline at end of file
14 14 self.portDestino2 = portDestino2 No newline at end of file
15 15 No newline at end of file
16 16 self.tx_buffer = "default" No newline at end of file
17 17 self.rx_buffer = "default" No newline at end of file
18 18 self.enaModules = [] No newline at end of file
19 19 No newline at end of file
20 20 self.createObjects() No newline at end of file
21 21 No newline at end of file
22 22 def createObjects(self): No newline at end of file
23 23 No newline at end of file
24 24 asServer = True No newline at end of file
25 25 self.commServerObj = library3.TCPComm("Central_Control", "CeCnMod", self.ipDestino, "CnMod01", self.portDestino, asServer) No newline at end of file
26 26 self.commClientObj = library3.TCPComm("Central_Control", "CeCnMod", self.ipDestino2, "CnMod01", self.portDestino2) No newline at end of file
27 27 No newline at end of file
28 28 def waitRequest(self): No newline at end of file
29 29 No newline at end of file
30 30 #Using rx buffer No newline at end of file
31 31 ipSource, ipDestino, cmd, self.rx_buffer = self.commServerObj.waitData() No newline at end of file
32 32 No newline at end of file
33 33 if cmd == "SNDF": No newline at end of file
34 34 datarpta = self.__sendFile2Modules(cmd = cmd) No newline at end of file
35 35 No newline at end of file
36 36 if cmd == "CHGB": No newline at end of file
37 37 datarpta = self.__changeBeam(cmd = cmd) No newline at end of file
38 38 No newline at end of file
39 39 if cmd == "ANST": No newline at end of file
40 40 self.__getControlModuleStatus(cmd = cmd) No newline at end of file
41 41 #Using tx buffer No newline at end of file
42 42 datarpta = self.tx_buffer No newline at end of file
43 43 No newline at end of file
44 44 if cmd == "NTST": No newline at end of file
45 45 self.enaModules = self.__getConnectionStatus() No newline at end of file
46 46 #Using tx buffer No newline at end of file
47 47 datarpta = self.enaModules No newline at end of file
48 48 No newline at end of file
49 49 self.commServerObj.sendData(cmd=cmd, data=datarpta, ipDestino = ipSource) No newline at end of file
50 50 No newline at end of file
51 51 def checkModule(self, address): No newline at end of file
52 52 No newline at end of file
53 53 cmd = "ping -c 1 -w 1 192.168.1."+ str(address) + " >> /dev/null" No newline at end of file
54 54 status = os.system(cmd) No newline at end of file
55 55 No newline at end of file
56 56 if status == 256: No newline at end of file
57 57 return False No newline at end of file
58 58 No newline at end of file
59 59 return True No newline at end of file
60 60 No newline at end of file
61 61 def __writeReport(self, enaModules): No newline at end of file
62 62 No newline at end of file
63 63 status_array = ["Status of modules\n"] No newline at end of file
64 64 status_array.append("----------------\n") No newline at end of file
65 65 No newline at end of file
66 66 for address in range(1,65): No newline at end of file
67 67 if address in enaModules: No newline at end of file
68 68 status_array.append("192.168.1." + str(address) + " [1 1]\n") No newline at end of file
69 69 else: No newline at end of file
70 70 status_array.append("192.168.1." + str(address) + " [0 0]\n") No newline at end of file
71 71 No newline at end of file
72 72 f = open("module_status.txt","w") No newline at end of file
73 73 f.writelines(status_array) No newline at end of file
74 74 f.close() No newline at end of file
75 75 No newline at end of file
76 76 def checkAntenna(self): No newline at end of file
77 77 No newline at end of file
78 78 """ No newline at end of file
79 79 Direccion de los modulos de las antenas: No newline at end of file
80 80 No newline at end of file
81 81 Norte : 01-16 No newline at end of file
82 82 Este : 17-32 No newline at end of file
83 83 Oeste: : 33-48 No newline at end of file
84 84 Sur : 49-64 No newline at end of file
85 85 No newline at end of file
86 86 """ No newline at end of file
87 87 No newline at end of file
88 88 enaModules2 = [] No newline at end of file
89 89 No newline at end of file
90 90 for address in range(1,65): No newline at end of file
91 91 if self.checkModule(address): No newline at end of file
92 92 enaModules2.append(address) No newline at end of file
93 93 No newline at end of file
94 94 self.__writeReport(enaModules2) No newline at end of file
95 95 return enaModules2 No newline at end of file
96 96 No newline at end of file
97 97 def __ConnectionWithControlModules(self,data,cmd,id): No newline at end of file
98 98 No newline at end of file
99 99 self.commClientObj.open_socket() No newline at end of file
100 100 ip = "192.168.1." + str(id) No newline at end of file
101 101 self.commClientObj.sendData(cmd, data, ip) No newline at end of file
102 102 ipSource, ipDestino, cmd, tmp = self.commClientObj.waitData() No newline at end of file
103 103 self.commClientObj.close_socket() No newline at end of file
104 104 No newline at end of file
105 105 return tmp No newline at end of file
106 106 No newline at end of file
107 107 def __All2Blocks(self,input): No newline at end of file
108 108 No newline at end of file
109 109 rx_frame_lst = input.split('\n',2) No newline at end of file
110 110 No newline at end of file
111 111 header = rx_frame_lst[0] + "\n" No newline at end of file
112 112 control_modules_str = rx_frame_lst[2] No newline at end of file
113 113 control_modules_lst = control_modules_str.split("------\n") No newline at end of file
114 114 No newline at end of file
115 115 return header, control_modules_lst No newline at end of file
116 116 No newline at end of file
117 117 No newline at end of file
118 118 def __sendFile2Modules(self,cmd): No newline at end of file
119 119 No newline at end of file
120 120 #Needed for the loop No newline at end of file
121 121 header, control_modules_lst = self.__All2Blocks(self.rx_buffer) No newline at end of file
122 122 correct = 0 No newline at end of file
123 123 No newline at end of file
124 124 for id in range(1,65): No newline at end of file
125 125 No newline at end of file
126 126 if id not in self.enaModules: No newline at end of file
127 127 continue No newline at end of file
128 128 No newline at end of file
129 129 if self.__ConnectionWithControlModules(header + control_modules_lst[id-1], cmd, id) == "OK": No newline at end of file
130 130 correct = correct + 1 No newline at end of file
131 131 No newline at end of file
132 132 if correct == len(self.enaModules): No newline at end of file
133 133 rpta = "OK" No newline at end of file
134 134 else: No newline at end of file
135 135 rpta = "Failure" No newline at end of file
136 136 No newline at end of file
137 137 return rpta No newline at end of file
138 138 No newline at end of file
139 139 def __changeBeam(self, cmd): No newline at end of file
140 140 No newline at end of file
141 141 correct = 0 No newline at end of file
142 142 # enaModules = self.checkAntenna() No newline at end of file
143 143 # enaModules = [11,12,13,14] No newline at end of file
144 144 No newline at end of file
145 145 for id in range(1,65): No newline at end of file
146 146 if id not in self.enaModules: No newline at end of file
147 147 continue No newline at end of file
148 148 No newline at end of file
149 149 if self.__ConnectionWithControlModules(self.rx_buffer,cmd,id) == "OK": No newline at end of file
150 150 correct = correct + 1 No newline at end of file
151 151 No newline at end of file
152 152 if correct == len(self.enaModules): No newline at end of file
153 153 rpta = "OK" No newline at end of file
154 154 else: No newline at end of file
155 155 rpta = "Failure" No newline at end of file
156 156 No newline at end of file
157 157 return rpta No newline at end of file
158 158 No newline at end of file
159 159 def __getControlModuleStatus(self, cmd): No newline at end of file
160 160 No newline at end of file
161 161 all_blocks = "" No newline at end of file
162 162 # enaModules = self.checkAntenna() No newline at end of file
163 163 # enaModules = [11,12,13,14] No newline at end of file
164 164 No newline at end of file
165 165 for id in range(1,65): No newline at end of file
166 166 if id not in self.enaModules: No newline at end of file
167 167 continue No newline at end of file
168 168 No newline at end of file
169 169 one_block = self.__ConnectionWithControlModules(self.rx_buffer,cmd,id) No newline at end of file
170 170 No newline at end of file
171 171 all_blocks = all_blocks + one_block No newline at end of file
172 172 #Using tx buffer No newline at end of file
173 print all_blocks No newline at end of file
173 174 self.tx_buffer = all_blocks No newline at end of file
174 175 No newline at end of file
175 176 def __getConnectionStatus(self): No newline at end of file
176 177 No newline at end of file
177 178 enaModules = self.checkAntenna() No newline at end of file
178 179 No newline at end of file
179 180 return enaModules No newline at end of file
180 181 No newline at end of file
181 182 if __name__ == '__main__': No newline at end of file
182 183 No newline at end of file
183 184 absObj = ABSServer() No newline at end of file
184 185 No newline at end of file
185 186 while 1: No newline at end of file
186 187 absObj.waitRequest() No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now