##// END OF EJS Templates
ABS Monitoring changes
imanay -
r146:147
parent child
Show More
@@ -1,87 +1,94
1 1 import library3 No newline at end of file
2 2 No newline at end of file
3 3 class ABSClient: No newline at end of file
4 4 No newline at end of file
5 5 def __init__(self,ipSource="192.168.1.117", iDSource="Clnt_01", ipDestino="192.168.1.117", iDDestino = "CeCnMod", portDestino=7000): No newline at end of file
6 6 No newline at end of file
7 7 self.ipSource = ipSource No newline at end of file
8 8 self.iDSource = iDSource No newline at end of file
9 9 self.ipDestino = ipDestino No newline at end of file
10 10 self.iDDestino = iDDestino 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.createObjects() No newline at end of file
14 14 No newline at end of file
15 15 def createObjects(self): No newline at end of file
16 16 No newline at end of file
17 17 self.commObj = library3.TCPComm(self.ipSource, self.iDSource, self.ipDestino, self.iDDestino, self.portDestino) No newline at end of file
18 18 # self.wFiles = library3.FilesStuff() No newline at end of file
19 19 No newline at end of file
20 20 def __ConnectionWithCentralControl(self, cmd, data): No newline at end of file
21 21 No newline at end of file
22 22 self.commObj.open_socket() No newline at end of file
23 23 self.commObj.sendData(cmd = cmd, data = data, ipDestino = self.ipDestino) No newline at end of file
24 24 ipSource, ipDestino, cmd, output = self.commObj.waitData() No newline at end of file
25 25 self.commObj.close_socket() No newline at end of file
26 26 No newline at end of file
27 27 return output No newline at end of file
28 28 No newline at end of file
29 29 # def abs2ControlModuleFormatFile(self, filename): No newline at end of file
30 30 # No newline at end of file
31 31 # #From matriz to control module format No newline at end of file
32 32 # self.wFiles.toCentralControlFormat(filename) No newline at end of file
33 33 # FileName = "CentralControlFormat.txt" No newline at end of file
34 34 # F_Obj = open(FileName,"r") No newline at end of file
35 35 # FileList = F_Obj.readlines() No newline at end of file
36 36 # F_Obj.close() No newline at end of file
37 37 # FileStr = "".join(FileList) No newline at end of file
38 38 # No newline at end of file
39 39 # return FileStr No newline at end of file
40 40 No newline at end of file
41 41 def sendFile(self, filename): No newline at end of file
42 42 No newline at end of file
43 43 data = self.__readFile(filename) No newline at end of file
44 44 self.__ConnectionWithCentralControl(cmd = "SNDF", data = data) No newline at end of file
45 45 No newline at end of file
46 46 def changeBeam(self, newBeam): No newline at end of file
47 47 No newline at end of file
48 48 self.__ConnectionWithCentralControl(cmd = "CHGB", data = newBeam) No newline at end of file
49 49 No newline at end of file
50 50 def __writeFile(self, filename, data): No newline at end of file
51 51 No newline at end of file
52 52 fobj = open(filename,"w") No newline at end of file
53 53 fobj.writelines(data) No newline at end of file
54 54 fobj.close() No newline at end of file
55 55 No newline at end of file
56 56 def __readFile(self, filename): No newline at end of file
57 57 No newline at end of file
58 58 fobj = open(filename,"r") No newline at end of file
59 59 listData = fobj.readlines() No newline at end of file
60 60 fobj.close() No newline at end of file
61 61 tmp = "".join(listData) No newline at end of file
62 62 #Adding filename to the begining of the data No newline at end of file
63 63 data = filename + '\n' + tmp No newline at end of file
64 64 return data No newline at end of file
65 65 No newline at end of file
66 66 No newline at end of file
67 67 def getControlModuleStatus(self, data): No newline at end of file
68 68 No newline at end of file
69 69 data = self.__ConnectionWithCentralControl(cmd = "ANST", data = data) No newline at end of file
70 70 self.__writeFile("report.txt", data) No newline at end of file
71 71
72 No newline at end of file
72 def getControlModulePhase(self, data): No newline at end of file
73 73
74 No newline at end of file
74 data = self.__ConnectionWithCentralControl(cmd = "ANPH", data = data) No newline at end of file
No newline at end of file
75 data = self.__ConnectionWithCentralControl(cmd = "LWPH", data = u + '/' + pw + '/')
No newline at end of file
76 elif opt == '1':
No newline at end of file
77 data = self.__ConnectionWithCentralControl(cmd = "BGPH", data = u + '/' + pw + '/')
No newline at end of file
78 elif opt == '2':
No newline at end of file
79 data = self.__ConnectionWithCentralControl(cmd = "cBPH", data = u + '/' + pw + '/')
No newline at end of file
80 else:
No newline at end of file
81 data = self.__ConnectionWithCentralControl(cmd = "cLPH", data = u + '/' + pw + '/') No newline at end of file
75 82 # self.__writeFile("report.txt", data) No newline at end of file
76 83 No newline at end of file
77 84 def getConnectionStatus(self): No newline at end of file
78 85 No newline at end of file
79 86 data = self.__ConnectionWithCentralControl(cmd = "NTST", data = "none") No newline at end of file
80 87 self.__writeFile("connection_status.txt", data) No newline at end of file
81 88 No newline at end of file
82 89 if __name__ == '__main__': No newline at end of file
83 90 No newline at end of file
84 91 filename = "experimento1.abs" No newline at end of file
85 92 No newline at end of file
86 93 absObj = ABSClient() No newline at end of file
87 94 absObj.sendFile(filename) No newline at end of file
@@ -1,290 +1,312
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, rx_buffer = "default"): 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.rx_buffer = rx_buffer No newline at end of file
19 19 self.enaModules = [] No newline at end of file
20 20 No newline at end of file
21 21 self.createObjects() No newline at end of file
22 22 No newline at end of file
23 23 def createObjects(self): No newline at end of file
24 24 No newline at end of file
25 25 asServer = True No newline at end of file
26 26 self.commServerObj = library3.TCPComm("Central_Control", "CeCnMod", self.ipDestino, "CnMod01", self.portDestino, asServer) No newline at end of file
27 27 self.commClientObj = library3.TCPComm("Central_Control", "CeCnMod", self.ipDestino2, "CnMod01", self.portDestino2) No newline at end of file
28 28 self.wFiles = library3.FilesStuff() No newline at end of file
29 29 No newline at end of file
30 30 def waitRequest(self): No newline at end of file
31 31 No newline at end of file
32 32 #Using rx buffer No newline at end of file
33 33 ipSource, ipDestino, cmd, self.rx_buffer = self.commServerObj.waitData() No newline at end of file
34 34 No newline at end of file
35 35 if cmd == "SNDF": No newline at end of file
36 36 datarpta = self.__sendFile2Modules(cmd = cmd) No newline at end of file
37 37 No newline at end of file
38 38 if cmd == "CHGB": No newline at end of file
39 39 datarpta = self.__changeBeam(cmd = cmd) No newline at end of file
40 40 No newline at end of file
41 41 if cmd == "ANST": No newline at end of file
42 42 self.__getControlModuleStatus(cmd = cmd) No newline at end of file
43 43 #Using tx buffer No newline at end of file
44 44 datarpta = self.tx_buffer No newline at end of file
45 45
46 No newline at end of file
46 if cmd == "ANPH":
No newline at end of file
47 No newline at end of file
47 self.__getControlModulePhase(cmd = cmd) No newline at end of file
No newline at end of file
48 #Using tx buffer
No newline at end of file
49 datarpta = self.tx_buffer
No newline at end of file
50
No newline at end of file
51 if cmd == "LWPH":
No newline at end of file
52 self.__getControlModuleLowPhase(cmd = cmd) No newline at end of file
48 53 #Using tx buffer No newline at end of file
49 54 datarpta = self.tx_buffer No newline at end of file
50 55 No newline at end of file
51 56 if cmd == "NTST": No newline at end of file
52 57 #Using tx buffer No newline at end of file
53 58 datarpta = self.__getConnectionStatus(cmd = cmd) No newline at end of file
54 59 No newline at end of file
55 60 self.commServerObj.sendData(cmd=cmd, data=datarpta, ipDestino = ipSource) No newline at end of file
56 61 No newline at end of file
57 62 def checkModule(self, address): No newline at end of file
58 63 No newline at end of file
59 64 cmd = "ping -c 1 -w 1 192.168.1."+ str(address) + " >> /dev/null" No newline at end of file
60 65 status = os.system(cmd) No newline at end of file
61 66 No newline at end of file
62 67 if status == 256: No newline at end of file
63 68 return False No newline at end of file
64 69 No newline at end of file
65 70 return True No newline at end of file
66 71 No newline at end of file
67 72 def __writeReport(self, enaModules): No newline at end of file
68 73 No newline at end of file
69 74 status_array = ["Status of modules\n"] No newline at end of file
70 75 status_array.append("----------------\n") No newline at end of file
71 76 No newline at end of file
72 77 for address in range(1,65): No newline at end of file
73 78 if address in enaModules: No newline at end of file
74 79 status_array.append("192.168.1." + str(address) + " [1 1]\n") No newline at end of file
75 80 else: No newline at end of file
76 81 status_array.append("192.168.1." + str(address) + " [0 0]\n") No newline at end of file
77 82 No newline at end of file
78 83 filename = "module_status.txt" No newline at end of file
79 84 self.__writeFile(filename,status_array) No newline at end of file
80 85 # f = open("module_status.txt","w") No newline at end of file
81 86 # f.writelines(status_array) No newline at end of file
82 87 # f.close() No newline at end of file
83 88 No newline at end of file
84 89 No newline at end of file
85 90 def __writeFile(self, filename, data): No newline at end of file
86 91 No newline at end of file
87 92 fobj = open(filename,"w") No newline at end of file
88 93 fobj.writelines(data) No newline at end of file
89 94 fobj.close() No newline at end of file
90 95 No newline at end of file
91 96 def checkAntenna(self): No newline at end of file
92 97 No newline at end of file
93 98 """ No newline at end of file
94 99 Direccion de los modulos de las antenas: No newline at end of file
95 100 No newline at end of file
96 101 Norte : 01-16 No newline at end of file
97 102 Este : 17-32 No newline at end of file
98 103 Oeste: : 33-48 No newline at end of file
99 104 Sur : 49-64 No newline at end of file
100 105 No newline at end of file
101 106 """ No newline at end of file
102 107 No newline at end of file
103 108 enaModules2 = [] No newline at end of file
104 109 No newline at end of file
105 110 for address in range(1,65): No newline at end of file
106 111 if self.checkModule(address): No newline at end of file
107 112 enaModules2.append(address) No newline at end of file
108 113 No newline at end of file
109 114 self.__writeReport(enaModules2) No newline at end of file
110 115 return enaModules2 No newline at end of file
111 116 No newline at end of file
112 117 def __ConnectionWithControlModules(self,data,cmd,id): No newline at end of file
113 118 No newline at end of file
114 119 self.commClientObj.open_socket() No newline at end of file
115 120 ip = "192.168.1." + str(id) No newline at end of file
116 121 self.commClientObj.sendData(cmd, data, ip) No newline at end of file
117 122 ipSource, ipDestino, cmd, tmp = self.commClientObj.waitData() No newline at end of file
118 123 self.commClientObj.close_socket() No newline at end of file
119 124 No newline at end of file
120 125 return tmp No newline at end of file
121 126 No newline at end of file
122 127 def abs2ControlModuleFormatFile(self, filename): No newline at end of file
123 128 No newline at end of file
124 129 #From matriz to control module format No newline at end of file
125 130 self.wFiles.toCentralControlFormat(filename) No newline at end of file
126 131 FileName = "CentralControlFormat.txt" No newline at end of file
127 132 F_Obj = open(FileName,"r") No newline at end of file
128 133 FileList = F_Obj.readlines() No newline at end of file
129 134 F_Obj.close() No newline at end of file
130 135 FileStr = "".join(FileList) No newline at end of file
131 136 No newline at end of file
132 137 return FileStr No newline at end of file
133 138 No newline at end of file
134 139 def __All2Blocks(self,input): No newline at end of file
135 140 No newline at end of file
136 141 rx_frame_lst = input.split('\n',2) No newline at end of file
137 142 No newline at end of file
138 143 header = rx_frame_lst[0] + "\n" No newline at end of file
139 144 control_modules_str = rx_frame_lst[2] No newline at end of file
140 145 control_modules_lst = control_modules_str.split("------\n") No newline at end of file
141 146 No newline at end of file
142 147 return header, control_modules_lst No newline at end of file
143 148 No newline at end of file
144 149 No newline at end of file
145 150 def __sendFile2Modules(self,cmd): No newline at end of file
146 151 No newline at end of file
147 152 rx_buffer_lst = self.rx_buffer.split('\n',1) No newline at end of file
148 153 #Getting the filename from the begining of data No newline at end of file
149 154 filename = rx_buffer_lst[0] No newline at end of file
150 155 tmp = rx_buffer_lst[1] No newline at end of file
151 156 self.__writeFile(filename,tmp) No newline at end of file
152 157 data = self.abs2ControlModuleFormatFile(filename) No newline at end of file
153 158 #Needed for the loop No newline at end of file
154 159 header, control_modules_lst = self.__All2Blocks(data) No newline at end of file
155 160 correct = 0 No newline at end of file
156 161 No newline at end of file
157 162 for id in range(1,65): No newline at end of file
158 163 No newline at end of file
159 164 if id not in self.enaModules: No newline at end of file
160 165 continue No newline at end of file
161 166 No newline at end of file
162 167 if self.__ConnectionWithControlModules(header + control_modules_lst[id-1], cmd, id) == "OK": No newline at end of file
163 168 correct = correct + 1 No newline at end of file
164 169 No newline at end of file
165 170 if correct == len(self.enaModules): No newline at end of file
166 171 rpta = "OK" No newline at end of file
167 172 else: No newline at end of file
168 173 rpta = "Failure" No newline at end of file
169 174 No newline at end of file
170 175 return rpta No newline at end of file
171 176 No newline at end of file
172 177 def __changeBeam(self, cmd): No newline at end of file
173 178 No newline at end of file
174 179 correct = 0 No newline at end of file
175 180 # enaModules = self.checkAntenna() No newline at end of file
176 181 # enaModules = [11,12,13,14] No newline at end of file
177 182 No newline at end of file
178 183 for id in range(1,65): No newline at end of file
179 184 if id not in self.enaModules: No newline at end of file
180 185 continue No newline at end of file
181 186 No newline at end of file
182 187 if self.__ConnectionWithControlModules(self.rx_buffer,cmd,id) == "OK": No newline at end of file
183 188 correct = correct + 1 No newline at end of file
184 189 No newline at end of file
185 190 if correct == len(self.enaModules): No newline at end of file
186 191 rpta = "OK" No newline at end of file
187 192 else: No newline at end of file
188 193 rpta = "Failure" No newline at end of file
189 194 No newline at end of file
190 195 return rpta No newline at end of file
191 196 No newline at end of file
192 197 def __getControlModuleStatus(self, cmd): No newline at end of file
193 198 No newline at end of file
194 199 all_blocks = "" No newline at end of file
195 200 # enaModules = self.checkAntenna() No newline at end of file
196 201 # enaModules = [11,12,13,14] No newline at end of file
197 202 No newline at end of file
198 203 for id in range(1,65): No newline at end of file
199 204 if id not in self.enaModules: No newline at end of file
200 205 continue No newline at end of file
201 206 No newline at end of file
202 207 one_block = self.__ConnectionWithControlModules(self.rx_buffer,cmd,id) No newline at end of file
203 208 No newline at end of file
204 209 all_blocks = all_blocks + one_block No newline at end of file
205 210 #Using tx buffer No newline at end of file
206 211 print all_blocks No newline at end of file
207 212 self.tx_buffer = all_blocks No newline at end of file
208 213
214 No newline at end of file
209 def __getControlModulePhase(self, cmd): No newline at end of file
No newline at end of file
215
No newline at end of file
216 all_blocks = ""
No newline at end of file
217 # enaModules = self.checkAntenna()
No newline at end of file
218 # enaModules = [11,12,13,14]
No newline at end of file
219
No newline at end of file
220 for id in range(1,65):
No newline at end of file
221 if id not in self.enaModules:
No newline at end of file
222 continue
No newline at end of file
223
No newline at end of file
224 one_block = self.__ConnectionWithControlModules(self.rx_buffer,cmd,id)
No newline at end of file
225
No newline at end of file
226 all_blocks = all_blocks + one_block
No newline at end of file
227 #Using tx buffer
No newline at end of file
228 print all_blocks
No newline at end of file
229 self.tx_buffer = all_blocks
No newline at end of file
230
No newline at end of file
231 def __getControlModuleLowPhase(self, cmd): No newline at end of file
210 232 No newline at end of file
211 233 all_blocks = "" No newline at end of file
212 234 # enaModules = self.checkAntenna() No newline at end of file
213 235 # enaModules = [11,12,13,14] No newline at end of file
214 236 No newline at end of file
215 237 for id in range(1,65): No newline at end of file
216 238 if id not in self.enaModules: No newline at end of file
217 239 continue No newline at end of file
218 240 No newline at end of file
219 241 one_block = self.__ConnectionWithControlModules(self.rx_buffer,cmd,id) No newline at end of file
220 242 No newline at end of file
221 243 all_blocks = all_blocks + one_block No newline at end of file
222 244 #Using tx buffer No newline at end of file
223 245 print all_blocks No newline at end of file
224 246 self.tx_buffer = all_blocks No newline at end of file
225 247 No newline at end of file
226 248 def __getConnectionStatus(self, cmd): No newline at end of file
227 249 No newline at end of file
228 250 ena = self.checkAntenna() No newline at end of file
229 251 print ena No newline at end of file
230 252 self.enaModules = ena No newline at end of file
231 253 No newline at end of file
232 254 blockLst = [] No newline at end of file
233 255 No newline at end of file
234 256 for id in range(1,65): No newline at end of file
235 257 if id not in self.enaModules: No newline at end of file
236 258 continue No newline at end of file
237 259 No newline at end of file
238 260 blockStr = self.__ConnectionWithControlModules(self.rx_buffer,cmd,id) No newline at end of file
239 261 blockLst.append(blockStr + ", 192.168.1." + str(id) + "\n") No newline at end of file
240 262 #Using tx buffer No newline at end of file
241 263 self.tx_buffer = "".join(blockLst) No newline at end of file
242 264 print self.tx_buffer No newline at end of file
243 265 No newline at end of file
244 266 return self.tx_buffer No newline at end of file
245 267 No newline at end of file
246 268 def getConnectionStatus(self, cmd): No newline at end of file
247 269 No newline at end of file
248 270 ena = self.checkAntenna() No newline at end of file
249 271 self.enaModules = ena No newline at end of file
250 272 No newline at end of file
251 273 blockLst = [] No newline at end of file
252 274 No newline at end of file
253 275 for id in range(1,65): No newline at end of file
254 276 if id not in self.enaModules: No newline at end of file
255 277 continue No newline at end of file
256 278 No newline at end of file
257 279 blockStr = self.__ConnectionWithControlModules(self.rx_buffer,cmd,id) No newline at end of file
258 280 blockLst.append(blockStr + ", 192.168.1." + str(id) + "\n") No newline at end of file
259 281 #Using tx buffer No newline at end of file
260 282 self.tx_buffer = "".join(blockLst) No newline at end of file
261 283 print self.tx_buffer No newline at end of file
262 284 No newline at end of file
263 285 return self.tx_buffer No newline at end of file
264 286 No newline at end of file
265 287 def getControlModuleStatus(self, cmd): No newline at end of file
266 288 No newline at end of file
267 289 all_blocks = "" No newline at end of file
268 290 # enaModules = self.checkAntenna() No newline at end of file
269 291 # enaModules = [11,12,13,14] No newline at end of file
270 292 No newline at end of file
271 293 for id in range(1,65): No newline at end of file
272 294 if id not in self.enaModules: No newline at end of file
273 295 continue No newline at end of file
274 296 No newline at end of file
275 297 one_block = self.__ConnectionWithControlModules(self.rx_buffer,cmd,id) No newline at end of file
276 298 No newline at end of file
277 299 all_blocks = all_blocks + one_block No newline at end of file
278 300 #Using tx buffer No newline at end of file
279 301 print all_blocks No newline at end of file
280 302 self.tx_buffer = all_blocks No newline at end of file
281 303 No newline at end of file
282 304 return all_blocks No newline at end of file
283 305 No newline at end of file
284 306 No newline at end of file
285 307 if __name__ == '__main__': No newline at end of file
286 308 No newline at end of file
287 309 absObj = ABSServer() No newline at end of file
288 310 No newline at end of file
289 311 while 1: No newline at end of file
290 312 absObj.waitRequest() No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now