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