@@ -1,114 +1,127 | |||
|
1 | 1 | """ |
|
2 | ||
|
3 | Este script se ha configurado para procesar datos de JASMET 30.15MHz | |
|
4 | ||
|
5 | 2 | Se debe verficar que el disco de datos se encuentra montado en el sistema |
|
6 | ||
|
7 | 3 | """ |
|
8 | 4 | import os, sys |
|
9 | 5 | |
|
10 | 6 | path = os.path.split(os.getcwd())[0] |
|
11 | 7 | sys.path.append(path) |
|
12 | 8 | |
|
13 | 9 | from controller import * |
|
14 | 10 | |
|
15 | 11 | desc = "Meteor Experiment Test" |
|
16 | 12 | filename = "meteor20130812.xml" |
|
17 | 13 | |
|
18 | 14 | controllerObj = Project() |
|
19 | 15 | controllerObj.setup(id = '191', name='meteor_test01', description=desc) |
|
20 | 16 | |
|
21 |
|
|
|
22 | # | |
|
23 | # path = '/Volumes/FREE_DISK/meteor_data' | |
|
24 | # | |
|
25 | # path = '/Users/dsuarez/Movies/meteor' | |
|
26 | ||
|
27 | # path = '/home/dsuarez/.gvfs/data on 10.10.20.6/RAW_EXP' | |
|
28 | ||
|
29 | # DEFINE EL PATH PARA DIA o NOCHE | |
|
30 | path = '' | |
|
17 | path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' | |
|
31 | 18 | |
|
32 | 19 | |
|
33 | 20 | readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', |
|
34 | 21 | path=path, |
|
35 | 22 | startDate='2013/08/21', |
|
36 | 23 | endDate='2013/08/21', |
|
37 | 24 | startTime='00:00:00', |
|
38 | 25 | endTime='23:59:59', |
|
39 | 26 | online=1, |
|
40 |
delay= |
|
|
27 | delay=10, | |
|
41 | 28 | walk=1) |
|
42 | 29 | |
|
43 | 30 | opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') |
|
44 | 31 | |
|
45 | 32 | procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) |
|
46 | 33 | |
|
47 | ||
|
48 | 34 | opObj11 = procUnitConfObj0.addOperation(name='setRadarFrequency') |
|
49 | ||
|
50 | 35 | opObj11.addParameter(name='frequency', value='30.15e6', format='float') |
|
51 | 36 | |
|
52 | ||
|
53 | 37 | opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') |
|
54 | 38 | |
|
55 | ||
|
56 | 39 | opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') |
|
57 | 40 | opObj11.addParameter(name='n', value='2', format='int') |
|
58 | 41 | |
|
59 | opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') | |
|
60 |
|
|
|
61 |
|
|
|
62 | opObj11.addParameter(name='profilesPerBlock', value='200', format='int') | |
|
42 | procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) | |
|
43 | procUnitConfObj1.addParameter(name='nProfiles', value='200', format='int') | |
|
44 | procUnitConfObj1.addParameter(name='nFFTPoints', value='200', format='int') | |
|
63 | 45 | |
|
46 | opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') | |
|
47 | opObj11.addParameter(name='n', value='4', format='int') | |
|
64 | 48 | |
|
49 | opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') | |
|
50 | opObj11.addParameter(name='id', value='100', format='int') | |
|
51 | opObj11.addParameter(name='wintitle', value='JASMET30MHZ', format='str') | |
|
52 | opObj11.addParameter(name='showprofile', value='0', format='int') | |
|
53 | opObj11.addParameter(name='timerange', value='300', format='int') | |
|
54 | opObj11.addParameter(name='zmin', value='55', format='float') | |
|
55 | opObj11.addParameter(name='zmax', value='75', format='float') | |
|
56 | # # opObj11.addParameter(name='xmin', value='18', format='float') | |
|
57 | # # opObj11.addParameter(name='xmax', value='', format='float') | |
|
58 | opObj11.addParameter(name='save', value='1', format='int') | |
|
59 | opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/jasmet_abril', format='str') | |
|
60 | opObj11.addParameter(name='ftp', value='1', format='int') | |
|
61 | opObj11.addParameter(name='ftp_wei', value='1', format='int') | |
|
62 | opObj11.addParameter(name='exp_code', value='15', format='int') | |
|
63 | opObj11.addParameter(name='sub_exp_code', value='1', format='int') | |
|
64 | ||
|
65 | opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') | |
|
66 | opObj11.addParameter(name='id', value='101', format='int') | |
|
67 | opObj11.addParameter(name='wintitle', value='JASMET30MHZ', format='str') | |
|
68 | opObj11.addParameter(name='zmin', value='55', format='float') | |
|
69 | opObj11.addParameter(name='zmax', value='75', format='float') | |
|
70 | opObj11.addParameter(name='save', value='1', format='int') | |
|
71 | opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/jasmet_abril', format='str') | |
|
72 | opObj11.addParameter(name='ftp', value='1', format='int') | |
|
73 | opObj11.addParameter(name='ftp_wei', value='1', format='int') | |
|
74 | opObj11.addParameter(name='exp_code', value='15', format='int') | |
|
75 | opObj11.addParameter(name='sub_exp_code', value='1', format='int') | |
|
76 | ||
|
77 | opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') | |
|
78 | opObj11.addParameter(name='id', value='103', format='int') | |
|
79 | opObj11.addParameter(name='wintitle', value='JASMET30MHZ', format='str') | |
|
80 | opObj11.addParameter(name='showprofile', value='0', format='int') | |
|
81 | #opObj11.addParameter(name='timerange', value='300', format='int') | |
|
82 | opObj11.addParameter(name='xmin', value='0', format='float') | |
|
83 | opObj11.addParameter(name='xmax', value='24', format='float') | |
|
84 | opObj11.addParameter(name='zmin', value='55', format='float') | |
|
85 | opObj11.addParameter(name='zmax', value='75', format='float') | |
|
86 | opObj11.addParameter(name='save', value='1', format='int') | |
|
87 | opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/jasmet_abril', format='str') | |
|
65 | 88 | |
|
66 | # procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) | |
|
67 | # procUnitConfObj1.addParameter(name='nProfiles', value='200', format='int') | |
|
68 | # procUnitConfObj1.addParameter(name='nFFTPoints', value='200', format='int') | |
|
69 | # | |
|
70 | # | |
|
71 | # opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') | |
|
72 | # opObj11.addParameter(name='n', value='4', format='int') | |
|
73 | 89 | |
|
90 | """ | |
|
91 | ########################################### BEACON ########################################## | |
|
92 | """ | |
|
74 | 93 | |
|
94 | procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) | |
|
95 | procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') | |
|
96 | procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') | |
|
97 | procUnitConfObjBeacon.addParameter(name='pairsList', value='(0,5),(1,5),(2,5),(3,5),(4,5)', format='pairsList') | |
|
98 | ||
|
99 | opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') | |
|
100 | opObj11.addParameter(name='n', value='4', format='int') | |
|
101 | ||
|
102 | opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') | |
|
103 | ||
|
104 | opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') | |
|
105 | opObj11.addParameter(name='id', value='201', format='int') | |
|
106 | opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') | |
|
107 | opObj11.addParameter(name='timerange', value='300', format='int') | |
|
108 | opObj11.addParameter(name='ymin', value='-180', format='float') | |
|
109 | opObj11.addParameter(name='ymax', value='180', format='float') | |
|
110 | opObj11.addParameter(name='save', value='1', format='int') | |
|
111 | opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/jasmet_abril', format='str') | |
|
112 | opObj11.addParameter(name='ftp', value='1', format='int') | |
|
113 | opObj11.addParameter(name='ftp_wei', value='1', format='int') | |
|
114 | opObj11.addParameter(name='exp_code', value='15', format='int') | |
|
115 | opObj11.addParameter(name='sub_exp_code', value='0', format='int') | |
|
75 | 116 | |
|
76 | # opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') | |
|
77 | # opObj11.addParameter(name='id', value='100', format='int') | |
|
78 | # opObj11.addParameter(name='wintitle', value='JASMET30MHZ', format='str') | |
|
79 | # opObj11.addParameter(name='timerange', value='300', format='int') | |
|
80 | # opObj11.addParameter(name='zmin', value='20', format='float') | |
|
81 | # opObj11.addParameter(name='zmax', value='60', format='float') | |
|
82 | # # opObj11.addParameter(name='xmin', value='18', format='float') | |
|
83 | # # opObj11.addParameter(name='xmax', value='', format='float') | |
|
84 | # opObj11.addParameter(name='save', value='1', format='int') | |
|
85 | # opObj11.addParameter(name='figpath', value='/home/operaciones/Pictures', format='str') | |
|
86 | # opObj11.addParameter(name='ftp', value='1', format='int') | |
|
87 | # opObj11.addParameter(name='wr_period', value='10', format='int') | |
|
88 | # opObj11.addParameter(name='ftp_wei', value='1', format='int') | |
|
89 | # opObj11.addParameter(name='exp_code', value='15', format='int') | |
|
90 | ||
|
91 | ||
|
92 | # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') | |
|
93 | # opObj11.addParameter(name='id', value='101', format='int') | |
|
94 | # opObj11.addParameter(name='wintitle', value='JASMET30MHZ', format='str') | |
|
95 | # opObj11.addParameter(name='zmin', value='20', format='float') | |
|
96 | # opObj11.addParameter(name='zmax', value='60', format='float') | |
|
97 | # # opObj11.addParameter(name='realtime', value='1', format='bool') | |
|
98 | # # opObj11.addParameter(name='show', value='0', format='bool') | |
|
99 | # opObj11.addParameter(name='save', value='1', format='int') | |
|
100 | # opObj11.addParameter(name='figpath', value='/home/operaciones/Pictures', format='str') | |
|
101 | # opObj11.addParameter(name='ftp', value='1', format='int') | |
|
102 | # opObj11.addParameter(name='wr_period', value='10', format='int') | |
|
103 | # opObj11.addParameter(name='ftp_wei', value='1', format='int') | |
|
104 | # opObj11.addParameter(name='exp_code', value='15', format='int') | |
|
105 | 117 | |
|
106 | 118 | |
|
107 | 119 | print "Escribiendo el archivo XML" |
|
108 | 120 | controllerObj.writeXml(filename) |
|
109 | 121 | print "Leyendo el archivo XML" |
|
110 | 122 | controllerObj.readXml(filename) |
|
111 | 123 | |
|
112 | 124 | controllerObj.createObjects() |
|
113 | 125 | controllerObj.connectObjects() |
|
114 | 126 | controllerObj.run() |
|
127 |
@@ -1,109 +1,129 | |||
|
1 | 1 | """ |
|
2 | 2 | |
|
3 | 3 | |
|
4 | 4 | |
|
5 | 5 | Se debe verficar que el disco de datos se encuentra montado en el sistema |
|
6 | 6 | |
|
7 | 7 | """ |
|
8 | 8 | import os, sys |
|
9 | 9 | |
|
10 | 10 | path = os.path.split(os.getcwd())[0] |
|
11 | 11 | sys.path.append(path) |
|
12 | 12 | |
|
13 | 13 | from controller import * |
|
14 | 14 | |
|
15 | 15 | desc = "Meteor Experiment Test" |
|
16 | 16 | filename = "meteor20130812.xml" |
|
17 | 17 | |
|
18 | 18 | controllerObj = Project() |
|
19 | 19 | controllerObj.setup(id = '191', name='meteor_test01', description=desc) |
|
20 | 20 | |
|
21 |
|
|
|
22 | # | |
|
23 | # path = '/Volumes/FREE_DISK/meteor_data' | |
|
24 | # | |
|
25 | # path = '/Users/dsuarez/Movies/meteor' | |
|
26 | ||
|
27 | # path = '/home/dsuarez/.gvfs/data on 10.10.20.6/RAW_EXP' | |
|
28 | ||
|
29 | # DEFINE EL PATH PARA DIA o NOCHE | |
|
30 | path = '' | |
|
21 | path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' | |
|
31 | 22 | |
|
32 | 23 | |
|
33 | 24 | readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', |
|
34 | 25 | path=path, |
|
35 | 26 | startDate='2013/08/21', |
|
36 | 27 | endDate='2013/08/21', |
|
37 | 28 | startTime='00:00:00', |
|
38 | 29 | endTime='23:59:59', |
|
39 | 30 | online=1, |
|
40 |
delay= |
|
|
31 | delay=10, | |
|
41 | 32 | walk=1) |
|
42 | 33 | |
|
43 | 34 | opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') |
|
44 | 35 | |
|
45 | 36 | procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) |
|
46 | 37 | |
|
47 | 38 | |
|
48 | 39 | opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') |
|
49 | 40 | |
|
50 | 41 | |
|
51 | 42 | opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') |
|
52 | 43 | opObj11.addParameter(name='n', value='2', format='int') |
|
53 | 44 | |
|
54 | opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') | |
|
55 |
|
|
|
56 |
|
|
|
57 | opObj11.addParameter(name='profilesPerBlock', value='200', format='int') | |
|
45 | procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) | |
|
46 | procUnitConfObj1.addParameter(name='nProfiles', value='200', format='int') | |
|
47 | procUnitConfObj1.addParameter(name='nFFTPoints', value='200', format='int') | |
|
58 | 48 | |
|
49 | opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') | |
|
50 | opObj11.addParameter(name='n', value='4', format='int') | |
|
59 | 51 | |
|
52 | opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') | |
|
53 | opObj11.addParameter(name='id', value='100', format='int') | |
|
54 | opObj11.addParameter(name='wintitle', value='JASMET50MHZ', format='str') | |
|
55 | opObj11.addParameter(name='showprofile', value='0', format='int') | |
|
56 | opObj11.addParameter(name='timerange', value='300', format='int') | |
|
57 | opObj11.addParameter(name='zmin', value='55', format='float') | |
|
58 | opObj11.addParameter(name='zmax', value='75', format='float') | |
|
59 | # # opObj11.addParameter(name='xmin', value='18', format='float') | |
|
60 | # # opObj11.addParameter(name='xmax', value='', format='float') | |
|
61 | opObj11.addParameter(name='save', value='1', format='int') | |
|
62 | opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/jasmet_abril', format='str') | |
|
63 | opObj11.addParameter(name='ftp', value='1', format='int') | |
|
64 | opObj11.addParameter(name='ftp_wei', value='1', format='int') | |
|
65 | opObj11.addParameter(name='exp_code', value='15', format='int') | |
|
66 | opObj11.addParameter(name='sub_exp_code', value='0', format='int') | |
|
67 | ||
|
68 | opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') | |
|
69 | opObj11.addParameter(name='id', value='101', format='int') | |
|
70 | opObj11.addParameter(name='wintitle', value='JASMET50MHZ', format='str') | |
|
71 | opObj11.addParameter(name='zmin', value='55', format='float') | |
|
72 | opObj11.addParameter(name='zmax', value='75', format='float') | |
|
73 | opObj11.addParameter(name='save', value='1', format='int') | |
|
74 | opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/jasmet_abril', format='str') | |
|
75 | opObj11.addParameter(name='ftp', value='1', format='int') | |
|
76 | opObj11.addParameter(name='ftp_wei', value='1', format='int') | |
|
77 | opObj11.addParameter(name='exp_code', value='15', format='int') | |
|
78 | opObj11.addParameter(name='sub_exp_code', value='0', format='int') | |
|
79 | ||
|
80 | opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') | |
|
81 | opObj11.addParameter(name='id', value='103', format='int') | |
|
82 | opObj11.addParameter(name='wintitle', value='JASMET50MHZ', format='str') | |
|
83 | opObj11.addParameter(name='showprofile', value='0', format='int') | |
|
84 | #opObj11.addParameter(name='timerange', value='300', format='int') | |
|
85 | opObj11.addParameter(name='xmin', value='0', format='float') | |
|
86 | opObj11.addParameter(name='xmax', value='24', format='float') | |
|
87 | opObj11.addParameter(name='zmin', value='55', format='float') | |
|
88 | opObj11.addParameter(name='zmax', value='75', format='float') | |
|
89 | opObj11.addParameter(name='save', value='1', format='int') | |
|
90 | opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/jasmet_abril', format='str') | |
|
60 | 91 | |
|
61 | # procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) | |
|
62 | # procUnitConfObj1.addParameter(name='nProfiles', value='200', format='int') | |
|
63 | # procUnitConfObj1.addParameter(name='nFFTPoints', value='200', format='int') | |
|
64 | # | |
|
65 | # | |
|
66 | # opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') | |
|
67 | # opObj11.addParameter(name='n', value='4', format='int') | |
|
68 | 92 | |
|
93 | """ | |
|
94 | ########################################### BEACON ########################################## | |
|
95 | """ | |
|
69 | 96 | |
|
97 | procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) | |
|
98 | procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') | |
|
99 | procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') | |
|
100 | procUnitConfObjBeacon.addParameter(name='pairsList', value='(0,5),(1,5),(2,5),(3,5),(4,5)', format='pairsList') | |
|
101 | ||
|
102 | opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') | |
|
103 | opObj11.addParameter(name='n', value='4', format='int') | |
|
104 | ||
|
105 | opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') | |
|
106 | ||
|
107 | opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') | |
|
108 | opObj11.addParameter(name='id', value='201', format='int') | |
|
109 | opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') | |
|
110 | opObj11.addParameter(name='timerange', value='300', format='int') | |
|
111 | opObj11.addParameter(name='ymin', value='-180', format='float') | |
|
112 | opObj11.addParameter(name='ymax', value='180', format='float') | |
|
113 | opObj11.addParameter(name='save', value='1', format='int') | |
|
114 | opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/jasmet_abril', format='str') | |
|
115 | opObj11.addParameter(name='ftp', value='1', format='int') | |
|
116 | opObj11.addParameter(name='ftp_wei', value='1', format='int') | |
|
117 | opObj11.addParameter(name='exp_code', value='15', format='int') | |
|
118 | opObj11.addParameter(name='sub_exp_code', value='0', format='int') | |
|
70 | 119 | |
|
71 | # opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') | |
|
72 | # opObj11.addParameter(name='id', value='100', format='int') | |
|
73 | # opObj11.addParameter(name='wintitle', value='JASMET30MHZ', format='str') | |
|
74 | # opObj11.addParameter(name='timerange', value='300', format='int') | |
|
75 | # opObj11.addParameter(name='zmin', value='20', format='float') | |
|
76 | # opObj11.addParameter(name='zmax', value='60', format='float') | |
|
77 | # # opObj11.addParameter(name='xmin', value='18', format='float') | |
|
78 | # # opObj11.addParameter(name='xmax', value='', format='float') | |
|
79 | # opObj11.addParameter(name='save', value='1', format='int') | |
|
80 | # opObj11.addParameter(name='figpath', value='/home/operaciones/Pictures', format='str') | |
|
81 | # opObj11.addParameter(name='ftp', value='1', format='int') | |
|
82 | # opObj11.addParameter(name='wr_period', value='10', format='int') | |
|
83 | # opObj11.addParameter(name='ftp_wei', value='1', format='int') | |
|
84 | # opObj11.addParameter(name='exp_code', value='15', format='int') | |
|
85 | ||
|
86 | ||
|
87 | # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') | |
|
88 | # opObj11.addParameter(name='id', value='101', format='int') | |
|
89 | # opObj11.addParameter(name='wintitle', value='JASMET30MHZ', format='str') | |
|
90 | # opObj11.addParameter(name='zmin', value='20', format='float') | |
|
91 | # opObj11.addParameter(name='zmax', value='60', format='float') | |
|
92 | # # opObj11.addParameter(name='realtime', value='1', format='bool') | |
|
93 | # # opObj11.addParameter(name='show', value='0', format='bool') | |
|
94 | # opObj11.addParameter(name='save', value='1', format='int') | |
|
95 | # opObj11.addParameter(name='figpath', value='/home/operaciones/Pictures', format='str') | |
|
96 | # opObj11.addParameter(name='ftp', value='1', format='int') | |
|
97 | # opObj11.addParameter(name='wr_period', value='10', format='int') | |
|
98 | # opObj11.addParameter(name='ftp_wei', value='1', format='int') | |
|
99 | # opObj11.addParameter(name='exp_code', value='15', format='int') | |
|
100 | 120 | |
|
101 | 121 | |
|
102 | 122 | print "Escribiendo el archivo XML" |
|
103 | 123 | controllerObj.writeXml(filename) |
|
104 | 124 | print "Leyendo el archivo XML" |
|
105 | 125 | controllerObj.readXml(filename) |
|
106 | 126 | |
|
107 | 127 | controllerObj.createObjects() |
|
108 | 128 | controllerObj.connectObjects() |
|
109 | 129 | controllerObj.run() |
General Comments 0
You need to be logged in to leave comments.
Login now