Generation working and Compilation of MARTe components
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,103 @@
|
||||
#test configuration file2,,,,,,
|
||||
#Time,MHVPS,BPS,APS,MC,GC,FHPS
|
||||
0,60,45,0,10,10,10
|
||||
10,55,40,-2,9,9,9
|
||||
20,50,35,-4,8,8,8
|
||||
30,45,30,-6,7,7,7
|
||||
40,40,25,-8,6,6,6
|
||||
50,35,20,-10,5,5,5
|
||||
60,30,15,-12,4,4,4
|
||||
70,25,10,-14,3,3,3
|
||||
80,20,5,-16,2,2,2
|
||||
90,15,0,-18,1,1,1
|
||||
100,10,-5,-20,0,0,0
|
||||
110,5,0,-22,1,1,1
|
||||
120,0,5,-20,2,2,2
|
||||
130,-5,10,-18,3,3,3
|
||||
140,0,15,-16,4,4,4
|
||||
150,5,20,-14,5,5,5
|
||||
160,10,25,-12,6,6,6
|
||||
170,15,30,-10,7,7,7
|
||||
180,20,35,-8,8,8,8
|
||||
190,25,40,-6,9,9,9
|
||||
200,30,45,-4,10,10,10
|
||||
210,35,40,-2,9,9,9
|
||||
220,40,35,0,8,8,8
|
||||
230,45,30,-2,7,7,7
|
||||
240,50,25,-4,6,6,6
|
||||
250,55,20,-6,5,5,5
|
||||
260,60,15,-8,4,4,4
|
||||
270,55,10,-10,3,3,3
|
||||
280,50,5,-12,2,2,2
|
||||
290,45,0,-14,1,1,1
|
||||
300,40,-5,-16,0,0,0
|
||||
310,35,0,-18,1,1,1
|
||||
320,30,5,-20,2,2,2
|
||||
330,25,10,-25,3,3,3
|
||||
340,20,15,-20,4,4,4
|
||||
350,15,20,-18,5,5,5
|
||||
360,10,25,-16,6,6,6
|
||||
370,5,30,-14,7,7,7
|
||||
380,0,35,-12,8,8,8
|
||||
390,-5,40,-10,9,9,9
|
||||
400,0,45,-8,10,10,10
|
||||
410,5,40,-6,9,9,9
|
||||
420,10,35,-4,8,8,8
|
||||
430,15,30,-2,7,7,7
|
||||
440,20,25,0,6,6,6
|
||||
450,25,20,-2,5,5,5
|
||||
460,30,15,-4,4,4,4
|
||||
470,35,10,-6,3,3,3
|
||||
480,40,5,-8,2,2,2
|
||||
490,45,0,-10,1,1,1
|
||||
500,50,-5,-12,0,0,0
|
||||
510,55,0,-14,1,1,1
|
||||
520,60,5,-16,2,2,2
|
||||
530,55,10,-18,3,3,3
|
||||
540,50,15,-20,4,4,4
|
||||
550,45,20,-30,5,5,5
|
||||
560,40,25,-20,6,6,6
|
||||
570,35,30,-18,7,7,7
|
||||
580,30,35,-16,8,8,8
|
||||
590,25,40,-14,9,9,9
|
||||
600,20,45,-12,10,10,10
|
||||
610,15,40,-10,9,9,9
|
||||
620,10,35,-8,8,8,8
|
||||
630,5,30,-6,7,7,7
|
||||
640,0,25,-4,6,6,6
|
||||
650,-5,20,-2,5,5,5
|
||||
660,0,15,0,4,4,4
|
||||
670,5,10,-2,3,3,3
|
||||
680,10,5,-4,2,2,2
|
||||
690,15,0,-6,1,1,1
|
||||
700,20,-5,-8,0,0,0
|
||||
710,25,0,-10,1,1,1
|
||||
720,30,5,-12,2,2,2
|
||||
730,35,10,-14,3,3,3
|
||||
740,40,15,-16,4,4,4
|
||||
750,45,20,-18,5,5,5
|
||||
760,50,25,-20,6,6,6
|
||||
770,55,30,-22,7,7,7
|
||||
780,60,35,-20,8,8,8
|
||||
790,55,40,-18,9,9,9
|
||||
800,50,45,-16,10,10,10
|
||||
810,45,40,-14,9,9,9
|
||||
820,40,35,-12,8,8,8
|
||||
830,35,30,-10,7,7,7
|
||||
840,30,25,-8,6,6,6
|
||||
850,25,20,-6,5,5,5
|
||||
860,20,15,-4,4,4,4
|
||||
870,15,10,-2,3,3,3
|
||||
880,10,5,0,2,2,2
|
||||
890,5,0,-2,1,1,1
|
||||
900,0,-5,-4,0,0,0
|
||||
910,-5,0,-6,1,1,1
|
||||
920,0,5,-8,2,2,2
|
||||
930,5,10,-10,3,3,3
|
||||
940,10,15,-12,4,4,4
|
||||
950,15,20,-14,5,5,5
|
||||
960,20,25,-16,6,6,6
|
||||
970,25,30,-18,7,7,7
|
||||
980,30,35,-20,8,8,8
|
||||
990,35,40,-22,9,9,9
|
||||
1000,40,45,-20,10,10,10
|
||||
|
@@ -0,0 +1,103 @@
|
||||
#test configuration file2,,,,,,
|
||||
#Time,MHVPS,BPS,APS,MC,GC,FHPS
|
||||
0,60,45,10,10,10,10
|
||||
10,55,40,9,9,9,9
|
||||
20,50,35,8,8,8,8
|
||||
30,45,30,7,7,7,7
|
||||
40,40,25,6,6,6,6
|
||||
50,35,20,5,5,5,5
|
||||
60,30,15,4,4,4,4
|
||||
70,25,10,3,3,3,3
|
||||
80,20,5,2,2,2,2
|
||||
90,15,0,1,1,1,1
|
||||
100,10,-5,0,0,0,0
|
||||
110,5,0,1,1,1,1
|
||||
120,0,5,2,2,2,2
|
||||
130,-5,10,3,3,3,3
|
||||
140,0,15,4,4,4,4
|
||||
150,5,20,5,5,5,5
|
||||
160,10,25,6,6,6,6
|
||||
170,15,30,7,7,7,7
|
||||
180,20,35,8,8,8,8
|
||||
190,25,40,9,9,9,9
|
||||
200,30,45,10,10,10,10
|
||||
210,35,40,11,9,9,9
|
||||
220,40,35,12,8,8,8
|
||||
230,45,30,11,7,7,7
|
||||
240,50,25,10,6,6,6
|
||||
250,55,20,9,5,5,5
|
||||
260,60,15,8,4,4,4
|
||||
270,55,10,7,3,3,3
|
||||
280,50,5,6,2,2,2
|
||||
290,45,0,5,1,1,1
|
||||
300,40,-5,4,0,0,0
|
||||
310,35,0,3,1,1,1
|
||||
320,30,5,2,2,2,2
|
||||
330,25,10,1,3,3,3
|
||||
340,20,15,0,4,4,4
|
||||
350,15,20,1,5,5,5
|
||||
360,10,25,2,6,6,6
|
||||
370,5,30,3,7,7,7
|
||||
380,0,35,4,8,8,8
|
||||
390,-5,40,5,9,9,9
|
||||
400,0,45,6,10,10,10
|
||||
410,5,40,7,9,9,9
|
||||
420,10,35,8,8,8,8
|
||||
430,15,30,9,7,7,7
|
||||
440,20,25,10,6,6,6
|
||||
450,25,20,11,5,5,5
|
||||
460,30,15,12,4,4,4
|
||||
470,35,10,11,3,3,3
|
||||
480,40,5,10,2,2,2
|
||||
490,45,0,9,1,1,1
|
||||
500,50,-5,8,0,0,0
|
||||
510,55,0,7,1,1,1
|
||||
520,60,5,6,2,2,2
|
||||
530,55,10,5,3,3,3
|
||||
540,50,15,4,4,4,4
|
||||
550,45,20,3,5,5,5
|
||||
560,40,25,2,6,6,6
|
||||
570,35,30,1,7,7,7
|
||||
580,30,35,0,8,8,8
|
||||
590,25,40,1,9,9,9
|
||||
600,20,45,2,10,10,10
|
||||
610,15,40,3,9,9,9
|
||||
620,10,35,4,8,8,8
|
||||
630,5,30,5,7,7,7
|
||||
640,0,25,6,6,6,6
|
||||
650,-5,20,7,5,5,5
|
||||
660,0,15,8,4,4,4
|
||||
670,5,10,9,3,3,3
|
||||
680,10,5,10,2,2,2
|
||||
690,15,0,11,1,1,1
|
||||
700,20,-5,12,0,0,0
|
||||
710,25,0,11,1,1,1
|
||||
720,30,5,10,2,2,2
|
||||
730,35,10,9,3,3,3
|
||||
740,40,15,8,4,4,4
|
||||
750,45,20,7,5,5,5
|
||||
760,50,25,6,6,6,6
|
||||
770,55,30,5,7,7,7
|
||||
780,60,35,4,8,8,8
|
||||
790,55,40,3,9,9,9
|
||||
800,50,45,2,10,10,10
|
||||
810,45,40,1,9,9,9
|
||||
820,40,35,0,8,8,8
|
||||
830,35,30,1,7,7,7
|
||||
840,30,25,2,6,6,6
|
||||
850,25,20,3,5,5,5
|
||||
860,20,15,4,4,4,4
|
||||
870,15,10,5,3,3,3
|
||||
880,10,5,6,2,2,2
|
||||
890,5,0,7,1,1,1
|
||||
900,0,-5,8,0,0,0
|
||||
910,-5,0,9,1,1,1
|
||||
920,0,5,10,2,2,2
|
||||
930,5,10,11,3,3,3
|
||||
940,10,15,12,4,4,4
|
||||
950,15,20,11,5,5,5
|
||||
960,20,25,10,6,6,6
|
||||
970,25,30,9,7,7,7
|
||||
980,30,35,8,8,8,8
|
||||
990,35,40,7,9,9,9
|
||||
1000,40,45,6,10,10,10
|
||||
|
@@ -0,0 +1,103 @@
|
||||
#test configuration file2,,,,,,
|
||||
#Time,MHVPS,BPS,APS,MC,GC,FHPS
|
||||
0,60,45,10,10,10,10
|
||||
10,55,40,7,9,9,9
|
||||
20,50,35,4,8,8,8
|
||||
30,45,30,1,7,7,7
|
||||
40,40,25,-2,6,6,6
|
||||
50,35,20,-5,5,5,5
|
||||
60,30,15,-8,4,4,4
|
||||
70,25,10,-11,3,3,3
|
||||
80,20,5,-14,2,2,2
|
||||
90,15,0,-17,1,1,1
|
||||
100,10,-5,-20,0,0,0
|
||||
110,5,0,-23,1,1,1
|
||||
120,0,5,-20,2,2,2
|
||||
130,-5,10,-17,3,3,3
|
||||
140,0,15,-14,4,4,4
|
||||
150,5,20,-11,5,5,5
|
||||
160,10,25,-8,6,6,6
|
||||
170,15,30,-5,7,7,7
|
||||
180,20,35,-2,8,8,8
|
||||
190,25,40,1,9,9,9
|
||||
200,30,45,4,10,10,10
|
||||
210,35,40,7,9,9,9
|
||||
220,40,35,10,8,8,8
|
||||
230,45,30,13,7,7,7
|
||||
240,50,25,10,6,6,6
|
||||
250,55,20,7,5,5,5
|
||||
260,60,15,4,4,4,4
|
||||
270,55,10,1,3,3,3
|
||||
280,50,5,-2,2,2,2
|
||||
290,45,0,-5,1,1,1
|
||||
300,40,-5,-8,0,0,0
|
||||
310,35,0,-11,1,1,1
|
||||
320,30,5,-14,2,2,2
|
||||
330,25,10,-17,3,3,3
|
||||
340,20,15,-20,4,4,4
|
||||
350,15,20,-23,5,5,5
|
||||
360,10,25,-20,6,6,6
|
||||
370,5,30,-17,7,7,7
|
||||
380,0,35,-14,8,8,8
|
||||
390,-5,40,-11,9,9,9
|
||||
400,0,45,-8,10,10,10
|
||||
410,5,40,-5,9,9,9
|
||||
420,10,35,-2,8,8,8
|
||||
430,15,30,1,7,7,7
|
||||
440,20,25,4,6,6,6
|
||||
450,25,20,7,5,5,5
|
||||
460,30,15,10,4,4,4
|
||||
470,35,10,13,3,3,3
|
||||
480,40,5,10,2,2,2
|
||||
490,45,0,7,1,1,1
|
||||
500,50,-5,4,0,0,0
|
||||
510,55,0,1,1,1,1
|
||||
520,60,5,-2,2,2,2
|
||||
530,55,10,-5,3,3,3
|
||||
540,50,15,-8,4,4,4
|
||||
550,45,20,-11,5,5,5
|
||||
560,40,25,-14,6,6,6
|
||||
570,35,30,-17,7,7,7
|
||||
580,30,35,-20,8,8,8
|
||||
590,25,40,-23,9,9,9
|
||||
600,20,45,-20,10,10,10
|
||||
610,15,40,-17,9,9,9
|
||||
620,10,35,-14,8,8,8
|
||||
630,5,30,-11,7,7,7
|
||||
640,0,25,-8,6,6,6
|
||||
650,-5,20,-5,5,5,5
|
||||
660,0,15,-2,4,4,4
|
||||
670,5,10,1,3,3,3
|
||||
680,10,5,4,2,2,2
|
||||
690,15,0,7,1,1,1
|
||||
700,20,-5,10,0,0,0
|
||||
710,25,0,13,1,1,1
|
||||
720,30,5,10,2,2,2
|
||||
730,35,10,7,3,3,3
|
||||
740,40,15,4,4,4,4
|
||||
750,45,20,1,5,5,5
|
||||
760,50,25,-2,6,6,6
|
||||
770,55,30,-5,7,7,7
|
||||
780,60,35,-8,8,8,8
|
||||
790,55,40,-11,9,9,9
|
||||
800,50,45,-14,10,10,10
|
||||
810,45,40,-17,9,9,9
|
||||
820,40,35,-20,8,8,8
|
||||
830,35,30,-23,7,7,7
|
||||
840,30,25,-20,6,6,6
|
||||
850,25,20,-17,5,5,5
|
||||
860,20,15,-14,4,4,4
|
||||
870,15,10,-11,3,3,3
|
||||
880,10,5,-8,2,2,2
|
||||
890,5,0,-5,1,1,1
|
||||
900,0,-5,-2,0,0,0
|
||||
910,-5,0,1,1,1,1
|
||||
920,0,5,4,2,2,2
|
||||
930,5,10,7,3,3,3
|
||||
940,10,15,10,4,4,4
|
||||
950,15,20,13,5,5,5
|
||||
960,20,25,10,6,6,6
|
||||
970,25,30,7,7,7,7
|
||||
980,30,35,4,8,8,8
|
||||
990,35,40,1,9,9,9
|
||||
1000,40,45,-2,10,10,10
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@@ -0,0 +1,41 @@
|
||||
-100,0,0,0,0,0,0
|
||||
-90,1,1,1,1,1,1
|
||||
-80,2,2,2,2,2,2
|
||||
-70,3,3,3,3,3,3
|
||||
-60,4,4,4,4,4,4
|
||||
-50,5,5,5,5,5,5
|
||||
-40,6,6,6,6,6,6
|
||||
-30,7,7,7,7,7,7
|
||||
-20,8,8,8,8,8,8
|
||||
-10,9,9,9,9,9,9
|
||||
0,10,10,10,10,10,10
|
||||
10,9,9,9,9,9,9
|
||||
20,8,8,8,8,8,8
|
||||
30,7,7,7,7,7,7
|
||||
40,6,6,6,6,6,6
|
||||
50,5,5,5,5,5,5
|
||||
60,4,4,4,4,4,4
|
||||
70,3,3,3,3,3,3
|
||||
80,2,2,2,2,2,2
|
||||
90,1,1,1,1,1,1
|
||||
100,0,0,0,0,0,0
|
||||
110,1,1,1,1,1,1
|
||||
120,2,2,2,2,2,2
|
||||
130,3,3,3,3,3,3
|
||||
140,4,4,4,4,4,4
|
||||
150,5,5,5,5,5,5
|
||||
160,6,6,6,6,6,6
|
||||
170,7,7,7,7,7,7
|
||||
180,8,8,8,8,8,8
|
||||
190,9,9,9,9,9,9
|
||||
200,10,10,10,10,10,10
|
||||
210,9,9,9,9,9,9
|
||||
220,8,8,8,8,8,8
|
||||
230,7,7,7,7,7,7
|
||||
240,6,6,6,6,6,6
|
||||
250,5,5,5,5,5,5
|
||||
260,4,4,4,4,4,4
|
||||
270,3,3,3,3,3,3
|
||||
280,2,2,2,2,2,2
|
||||
290,1,1,1,1,1,1
|
||||
300,0,0,0,0,0,0
|
||||
|
@@ -0,0 +1,41 @@
|
||||
-100,0,0,0,0,0
|
||||
-90,1,1,1,1,1
|
||||
-80,2,2,2,2,2
|
||||
-70,3,3,3,3,3
|
||||
-60,4,4,4,4,4
|
||||
-50,5,5,5,5,5
|
||||
-40,6,6,6,6,6
|
||||
-30,7,7,7,7,7
|
||||
-20,8,8,8,8,8
|
||||
-10,9,9,9,9,9
|
||||
0,10,10,10,10,10
|
||||
10,9,9,9,9,9
|
||||
20,8,8,8,8,8
|
||||
30,7,7,7,7,7
|
||||
40,6,6,6,6,6
|
||||
50,5,5,5,5,5
|
||||
60,4,4,4,4,4
|
||||
70,3,3,3,3,3
|
||||
80,2,2,2,2,2
|
||||
90,1,1,1,1,1
|
||||
100,0,0,0,0,0
|
||||
110,1,1,1,1,1
|
||||
120,2,2,2,2,2
|
||||
130,3,3,3,3,3
|
||||
140,4,4,4,4,4
|
||||
150,5,5,5,5,5
|
||||
160,6,6,6,6,6
|
||||
170,7,7,7,7,7
|
||||
180,8,8,8,8,8
|
||||
190,9,9,9,9,9
|
||||
200,10,10,10,10,10
|
||||
210,9,9,9,9,9
|
||||
220,8,8,8,8,8
|
||||
230,7,7,7,7,7
|
||||
240,6,6,6,6,6
|
||||
250,5,5,5,5,5
|
||||
260,4,4,4,4,4
|
||||
270,3,3,3,3,3
|
||||
280,2,2,2,2,2
|
||||
290,1,1,1,1,1
|
||||
300,0,0,0,0,0
|
||||
@@ -0,0 +1,103 @@
|
||||
#test configuration file2,,,,,,
|
||||
#Time,MHVPS,BPS,APS,MC,GC,FHPS
|
||||
0,10,10,10,10,10,10
|
||||
10,9,9,9,9,9,9
|
||||
20,8,8,8,8,8,8
|
||||
30,7,7,7,7,7,7
|
||||
40,6,6,6,6,6,6
|
||||
50,5,5,5,5,5,5
|
||||
60,4,4,4,4,4,4
|
||||
70,3,3,3,3,3,3
|
||||
80,2,2,2,2,2,2
|
||||
90,1,1,1,1,1,1
|
||||
100,0,0,0,0,0,0
|
||||
110,1,1,1,1,1,1
|
||||
120,2,2,2,2,2,2
|
||||
130,3,3,3,3,3,3
|
||||
140,4,4,4,4,4,4
|
||||
150,5,5,5,5,5,5
|
||||
160,6,6,6,6,6,6
|
||||
170,7,7,7,7,7,7
|
||||
180,8,8,8,8,8,8
|
||||
190,9,9,9,9,9,9
|
||||
200,10,10,10,10,10,10
|
||||
210,9,9,9,9,9,9
|
||||
220,8,8,8,8,8,8
|
||||
230,7,7,7,7,7,7
|
||||
240,6,6,6,6,6,6
|
||||
250,5,5,5,5,5,5
|
||||
260,4,4,4,4,4,4
|
||||
270,3,3,3,3,3,3
|
||||
280,2,2,2,2,2,2
|
||||
290,1,1,1,1,1,1
|
||||
300,0,0,0,0,0,0
|
||||
310,1,1,1,1,1,1
|
||||
320,2,2,2,2,2,2
|
||||
330,3,3,3,3,3,3
|
||||
340,4,4,4,4,4,4
|
||||
350,5,5,5,5,5,5
|
||||
360,6,6,6,6,6,6
|
||||
370,7,7,7,7,7,7
|
||||
380,8,8,8,8,8,8
|
||||
390,9,9,9,9,9,9
|
||||
400,10,10,10,10,10,10
|
||||
410,9,9,9,9,9,9
|
||||
420,8,8,8,8,8,8
|
||||
430,7,7,7,7,7,7
|
||||
440,6,6,6,6,6,6
|
||||
450,5,5,5,5,5,5
|
||||
460,4,4,4,4,4,4
|
||||
470,3,3,3,3,3,3
|
||||
480,2,2,2,2,2,2
|
||||
490,1,1,1,1,1,1
|
||||
500,0,0,0,0,0,0
|
||||
510,1,1,1,1,1,1
|
||||
520,2,2,2,2,2,2
|
||||
530,3,3,3,3,3,3
|
||||
540,4,4,4,4,4,4
|
||||
550,5,5,5,5,5,5
|
||||
560,6,6,6,6,6,6
|
||||
570,7,7,7,7,7,7
|
||||
580,8,8,8,8,8,8
|
||||
590,9,9,9,9,9,9
|
||||
600,10,10,10,10,10,10
|
||||
610,9,9,9,9,9,9
|
||||
620,8,8,8,8,8,8
|
||||
630,7,7,7,7,7,7
|
||||
640,6,6,6,6,6,6
|
||||
650,5,5,5,5,5,5
|
||||
660,4,4,4,4,4,4
|
||||
670,3,3,3,3,3,3
|
||||
680,2,2,2,2,2,2
|
||||
690,1,1,1,1,1,1
|
||||
700,0,0,0,0,0,0
|
||||
710,1,1,1,1,1,1
|
||||
720,2,2,2,2,2,2
|
||||
730,3,3,3,3,3,3
|
||||
740,4,4,4,4,4,4
|
||||
750,5,5,5,5,5,5
|
||||
760,6,6,6,6,6,6
|
||||
770,7,7,7,7,7,7
|
||||
780,8,8,8,8,8,8
|
||||
790,9,9,9,9,9,9
|
||||
800,10,10,10,10,10,10
|
||||
810,9,9,9,9,9,9
|
||||
820,8,8,8,8,8,8
|
||||
830,7,7,7,7,7,7
|
||||
840,6,6,6,6,6,6
|
||||
850,5,5,5,5,5,5
|
||||
860,4,4,4,4,4,4
|
||||
870,3,3,3,3,3,3
|
||||
880,2,2,2,2,2,2
|
||||
890,1,1,1,1,1,1
|
||||
900,0,0,0,0,0,0
|
||||
910,1,1,1,1,1,1
|
||||
920,2,2,2,2,2,2
|
||||
930,3,3,3,3,3,3
|
||||
940,4,4,4,4,4,4
|
||||
950,5,5,5,5,5,5
|
||||
960,6,6,6,6,6,6
|
||||
970,7,7,7,7,7,7
|
||||
980,8,8,8,8,8,8
|
||||
990,9,9,9,9,9,9
|
||||
1000,10,10,10,10,10,10
|
||||
|
@@ -0,0 +1,103 @@
|
||||
#test configuration file2
|
||||
#Time,BPS,APS,MC,GC,FHPS
|
||||
0,10,10,10,10,10
|
||||
10,9,9,9,9,9
|
||||
20,8,8,8,8,8
|
||||
30,7,7,7,7,7
|
||||
40,6,6,6,6,6
|
||||
50,5,5,5,5,5
|
||||
60,4,4,4,4,4
|
||||
70,3,3,3,3,3
|
||||
80,2,2,2,2,2
|
||||
90,1,1,1,1,1
|
||||
100,0,0,0,0,0
|
||||
110,1,1,1,1,1
|
||||
120,2,2,2,2,2
|
||||
130,3,3,3,3,3
|
||||
140,4,4,4,4,4
|
||||
150,5,5,5,5,5
|
||||
160,6,6,6,6,6
|
||||
170,7,7,7,7,7
|
||||
180,8,8,8,8,8
|
||||
190,9,9,9,9,9
|
||||
200,10,10,10,10,10
|
||||
210,9,9,9,9,9
|
||||
220,8,8,8,8,8
|
||||
230,7,7,7,7,7
|
||||
240,6,6,6,6,6
|
||||
250,5,5,5,5,5
|
||||
260,4,4,4,4,4
|
||||
270,3,3,3,3,3
|
||||
280,2,2,2,2,2
|
||||
290,1,1,1,1,1
|
||||
300,0,0,0,0,0
|
||||
310,1,1,1,1,1
|
||||
320,2,2,2,2,2
|
||||
330,3,3,3,3,3
|
||||
340,4,4,4,4,4
|
||||
350,5,5,5,5,5
|
||||
360,6,6,6,6,6
|
||||
370,7,7,7,7,7
|
||||
380,8,8,8,8,8
|
||||
390,9,9,9,9,9
|
||||
400,10,10,10,10,10
|
||||
410,9,9,9,9,9
|
||||
420,8,8,8,8,8
|
||||
430,7,7,7,7,7
|
||||
440,6,6,6,6,6
|
||||
450,5,5,5,5,5
|
||||
460,4,4,4,4,4
|
||||
470,3,3,3,3,3
|
||||
480,2,2,2,2,2
|
||||
490,1,1,1,1,1
|
||||
500,0,0,0,0,0
|
||||
510,1,1,1,1,1
|
||||
520,2,2,2,2,2
|
||||
530,3,3,3,3,3
|
||||
540,4,4,4,4,4
|
||||
550,5,5,5,5,5
|
||||
560,6,6,6,6,6
|
||||
570,7,7,7,7,7
|
||||
580,8,8,8,8,8
|
||||
590,9,9,9,9,9
|
||||
600,10,10,10,10,10
|
||||
610,9,9,9,9,9
|
||||
620,8,8,8,8,8
|
||||
630,7,7,7,7,7
|
||||
640,6,6,6,6,6
|
||||
650,5,5,5,5,5
|
||||
660,4,4,4,4,4
|
||||
670,3,3,3,3,3
|
||||
680,2,2,2,2,2
|
||||
690,1,1,1,1,1
|
||||
700,0,0,0,0,0
|
||||
710,1,1,1,1,1
|
||||
720,2,2,2,2,2
|
||||
730,3,3,3,3,3
|
||||
740,4,4,4,4,4
|
||||
750,5,5,5,5,5
|
||||
760,6,6,6,6,6
|
||||
770,7,7,7,7,7
|
||||
780,8,8,8,8,8
|
||||
790,9,9,9,9,9
|
||||
800,10,10,10,10,10
|
||||
810,9,9,9,9,9
|
||||
820,8,8,8,8,8
|
||||
830,7,7,7,7,7
|
||||
840,6,6,6,6,6
|
||||
850,5,5,5,5,5
|
||||
860,4,4,4,4,4
|
||||
870,3,3,3,3,3
|
||||
880,2,2,2,2,2
|
||||
890,1,1,1,1,1
|
||||
900,0,0,0,0,0
|
||||
910,1,1,1,1,1
|
||||
920,2,2,2,2,2
|
||||
930,3,3,3,3,3
|
||||
940,4,4,4,4,4
|
||||
950,5,5,5,5,5
|
||||
960,6,6,6,6,6
|
||||
970,7,7,7,7,7
|
||||
980,8,8,8,8,8
|
||||
990,9,9,9,9,9
|
||||
1000,10,10,10,10,10
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,396 @@
|
||||
+StateMachine = {
|
||||
Class = StateMachine
|
||||
+INITIAL = {
|
||||
Class = ReferenceContainer
|
||||
+Start = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITSTANDBY"
|
||||
NextStateError = "WAITSTANDBY"
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitStandby
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
+WAITSTANDBY = {
|
||||
Class = ReferenceContainer
|
||||
+Stay = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "WAITSTANDBY"
|
||||
NextStateError = "WAITSTANDBY"
|
||||
+StopCurrentStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StopCurrentStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
+PrepareNextStateMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = WaitStandby
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = JAGyrotronRTApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+JAGyrotronRTApp = {
|
||||
Class = RealTimeApplication
|
||||
+Functions = {
|
||||
Class = ReferenceContainer
|
||||
+GAMSDNSubCommand = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Command = {
|
||||
DataSource = SDNSubCommands
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 64
|
||||
Ranges = {{0 0}}
|
||||
Frequency = 1
|
||||
}
|
||||
ESDNTime = {
|
||||
DataSource = SDNSubCommands
|
||||
Type = uint32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNTimeDisplay = {
|
||||
Alias = ESDNTime
|
||||
DataSource = SDNSubCommands
|
||||
Type = uint32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
Command = {
|
||||
DataSource = Display
|
||||
Type = uint16
|
||||
}
|
||||
ESDNTime = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
ESDNTimeDisplay = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+GAMSDNSubWaveform = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
GYA_FHPS_SP = {
|
||||
DataSource = SDNSubWaveform
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_MCPS_SP = {
|
||||
DataSource = SDNSubWaveform
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_CCPS_SP = {
|
||||
DataSource = SDNSubWaveform
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
MHVPS_SP = {
|
||||
DataSource = SDNSubWaveform
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_BPS_SP = {
|
||||
DataSource = SDNSubWaveform
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_APS_SP = {
|
||||
DataSource = SDNSubWaveform
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
WaveformPacketIDFor1kHz = {
|
||||
DataSource = SDNSubWaveform
|
||||
Alias = WaveformPacketID
|
||||
Type = uint16
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
GYA_FHPS_SP = {
|
||||
DataSource = DDB1
|
||||
Type = float32
|
||||
}
|
||||
GYA_MCPS_SP = {
|
||||
DataSource = DDB1
|
||||
Type = float32
|
||||
}
|
||||
GYA_CCPS_SP = {
|
||||
DataSource = DDB1
|
||||
Type = float32
|
||||
}
|
||||
MHVPS_SP = {
|
||||
DataSource = DDB1
|
||||
Type = float32
|
||||
}
|
||||
GYA_BPS_SP = {
|
||||
DataSource = DDB1
|
||||
Type = float32
|
||||
}
|
||||
GYA_APS_SP = {
|
||||
DataSource = DDB1
|
||||
Type = float32
|
||||
}
|
||||
WaveformPacketIDFor1kHz = {
|
||||
DataSource = DDB1
|
||||
Alias = WaveformPacketID
|
||||
Type = uint16
|
||||
}
|
||||
}
|
||||
}
|
||||
+GAMReply = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
ESDNTime = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
WaveformPacketID = {
|
||||
DataSource = DDB1
|
||||
Type = uint16
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
ESDNTime = {
|
||||
DataSource = SDNReply
|
||||
Type = uint32
|
||||
Trigger = 1
|
||||
}
|
||||
ReplyWaveformAck = {
|
||||
DataSource = SDNReply
|
||||
Type = uint16
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+Data = {
|
||||
Class = ReferenceContainer
|
||||
DefaultDataSource = DDB1
|
||||
+DDB1 = {
|
||||
Class = GAMDataSource
|
||||
}
|
||||
+Timings = {
|
||||
Class = TimingDataSource
|
||||
}
|
||||
+Display = {
|
||||
Class = LoggerDataSource
|
||||
}
|
||||
+SDNSubCommands = {
|
||||
Class = SDN::SDNSubscriber
|
||||
Topic = ECPC2SCUJA
|
||||
Interface = lo
|
||||
CPUs = 0x2
|
||||
Locked = 1
|
||||
Timeout = 1000 // TODO: change to 1 ms
|
||||
Signals = {
|
||||
Header = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 48
|
||||
}
|
||||
ESDNHeaderVersionId = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNHeaderSize = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNStatus = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNDoNotUse = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNTime = {
|
||||
Type = uint32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
Command = {
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 64
|
||||
}
|
||||
}
|
||||
}
|
||||
+SDNReply = {
|
||||
Class = SDN::SDNPublisher
|
||||
Topic = SCUJA2ECPC
|
||||
Interface = lo
|
||||
CPUs = 0x8
|
||||
Locked = 1
|
||||
Signals = {
|
||||
Header = {
|
||||
Type = uint8
|
||||
NumberOfElements = 48
|
||||
}
|
||||
ESDNHeaderVersionId = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNHeaderSize = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNStatus = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNDoNotUse = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNTime = {
|
||||
Type = uint32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ReplyStatus = {
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ReplyWaveformAck = {
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
+SDNSubWaveform = {
|
||||
Class = SDN::SDNSubscriber
|
||||
Topic = ECPC2SCUJAWF
|
||||
Interface = lo
|
||||
Locked = 1
|
||||
Timeout = 1000 // TODO: change to 1 ms
|
||||
Signals = {
|
||||
Header = {
|
||||
Type = uint8
|
||||
NumberOfElements = 48
|
||||
}
|
||||
ESDNHeaderVersionId = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNHeaderSize = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNStatus = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNDoNotUse = {
|
||||
Type = uint8
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
ESDNTime = {
|
||||
Type = uint32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
WaveformPacketID = {
|
||||
Type = uint16
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_MCPS_SP = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_CCPS_SP = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
MHVPS_SP = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_BPS_SP = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
GYA_APS_SP = {
|
||||
Type = float32
|
||||
NumberOfDimensions = 1
|
||||
NumberOfElements = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+States = {
|
||||
Class = ReferenceContainer
|
||||
+WaitStandby = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {GAMSDNSubCommand GAMSDNSubWaveform GAMReply}
|
||||
CPUs = 0x1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+Scheduler = {
|
||||
Class = GAMScheduler
|
||||
TimingDataSource = Timings
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
// +LoggerService = {
|
||||
// Class = LoggerService
|
||||
// CPUs = 0x1
|
||||
// StackSize = 32768
|
||||
// NumberOfLogPages = 128
|
||||
// +ConLogger = {
|
||||
// Class = ConsoleLogger
|
||||
// Format = "EtOoFmC"
|
||||
// PrintKeys = 1
|
||||
// }
|
||||
// }
|
||||
+StateMachine = {
|
||||
Class = StateMachine
|
||||
+INITIAL = {
|
||||
Class = ReferenceContainer
|
||||
+START = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "RUNNING"
|
||||
NextStateError = "ERROR"
|
||||
+PrepareNextStateOnOurRTApp = {
|
||||
Class = Message
|
||||
Destination = MyDemoApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = State1
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = MyDemoApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
+RUNNING = {
|
||||
Class = ReferenceContainer
|
||||
+LOCKEDFOREVER = {
|
||||
Class = StateMachineEvent
|
||||
NextState = RUNNING
|
||||
NextStateError = ERROR
|
||||
}
|
||||
}
|
||||
+ERROR = {
|
||||
Class = ReferenceContainer
|
||||
+LOCKEDFOREVER = {
|
||||
Class = StateMachineEvent
|
||||
NextState = ERROR
|
||||
NextStateError = ERROR
|
||||
}
|
||||
}
|
||||
}
|
||||
+MyDemoApp = {
|
||||
Class = RealTimeApplication
|
||||
+Functions = {
|
||||
Class = ReferenceContainer
|
||||
+GAMTimer = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Time = {
|
||||
DataSource = Timer
|
||||
Type = uint32
|
||||
}
|
||||
Counter = {
|
||||
DataSource = Timer
|
||||
Type = uint32
|
||||
Frequency = 1 //in Hz. Cycle for one state execution.
|
||||
}
|
||||
RTThreadPerf = {
|
||||
DataSource = Timings
|
||||
Alias = "State1.Thread1_CycleTime"
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
Time = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
Counter = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
RTThreadPerf = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+PV2DDB1 = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
AiValue = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = float32
|
||||
}
|
||||
LongInValue = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
StringInValue = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
AValue = {
|
||||
DataSource = DDB1
|
||||
Type = float32
|
||||
}
|
||||
LValue = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
SValue = {
|
||||
DataSource = DDB1
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
}
|
||||
+DDB12PV = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
AValue = {
|
||||
DataSource = DDB1
|
||||
Type = float32
|
||||
}
|
||||
LValue = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
SValue = {
|
||||
DataSource = DDB1
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
AoValue = {
|
||||
DataSource = EPICSCAOutput
|
||||
Type = float32
|
||||
}
|
||||
LongOutValue = {
|
||||
DataSource = EPICSCAOutput
|
||||
Type = uint32
|
||||
}
|
||||
StringOutValue = {
|
||||
DataSource = EPICSCAOutput
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+Data = {
|
||||
Class = ReferenceContainer
|
||||
DefaultDataSource = DDB1
|
||||
+DDB1 = {
|
||||
Class = GAMDataSource
|
||||
}
|
||||
+Timer = {
|
||||
Class = LinuxTimer
|
||||
SleepNature = "Busy"
|
||||
SleepPercentage = 0
|
||||
ExecutionMode = RealTimeThread
|
||||
CPUMask = 0x1
|
||||
Signals = {
|
||||
Counter = {
|
||||
Type = uint32
|
||||
}
|
||||
Time = {
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+EPICSCAInput = {
|
||||
//Class = "EPICSCA::EPICSCAInput"
|
||||
Class = "JAEPICSCA::JAEPICSCAInput"
|
||||
CPUMask = "1"
|
||||
StackSize = "10000000"
|
||||
Signals = {
|
||||
AiValue = {
|
||||
PVName = "ai"
|
||||
Type = float32
|
||||
}
|
||||
LongInValue = {
|
||||
PVName = "longin"
|
||||
Type = uint32
|
||||
}
|
||||
StringInValue = {
|
||||
PVName = "stringin"
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
}
|
||||
+EPICSCAOutput = {
|
||||
//Class = "EPICSCA::EPICSCAOutput"
|
||||
Class = "JAEPICSCA::JAEPICSCAOutput"
|
||||
CPUMask = "1"
|
||||
StackSize = "10000000"
|
||||
NumberOfBuffers = 2
|
||||
Signals = {
|
||||
AoValue = {
|
||||
PVName = "ao"
|
||||
Type = float32
|
||||
}
|
||||
LongOutValue = {
|
||||
PVName = "longout"
|
||||
Type = uint32
|
||||
}
|
||||
StringOutValue = {
|
||||
PVName = "stringout"
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
}
|
||||
+Display = {
|
||||
Class = LoggerDataSource
|
||||
}
|
||||
+Timings = {
|
||||
Class = TimingDataSource
|
||||
}
|
||||
}
|
||||
+States = {
|
||||
Class = ReferenceContainer
|
||||
+State1 = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {GAMTimer PV2DDB1 DDB12PV}
|
||||
CPUMask = 0x1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+Scheduler = {
|
||||
Class = GAMScheduler
|
||||
TimingDataSource = Timings
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
record(longin, longin){
|
||||
field(SCAN, "Passive")
|
||||
}
|
||||
record(longout, longout){
|
||||
field(SCAN, "Passive")
|
||||
}
|
||||
record(ai, ai){
|
||||
field(SCAN, "Passive")
|
||||
}
|
||||
record(ao, ao){
|
||||
field(SCAN, "Passive")
|
||||
}
|
||||
record(stringin, stringin){
|
||||
field(SCAN, "Passive")
|
||||
}
|
||||
record(stringout, stringout){
|
||||
field(SCAN, "Passive")
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,257 @@
|
||||
### The board on the Right Side Slots
|
||||
|
||||
# NI6259 P0 PVs
|
||||
record(bo, "ni6259:d1:p0:do0"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d1:p0:do1"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d1:p0:do2"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d1:p0:do3"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d1:p0:do4"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d1:p0:do5"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d1:p0:do6"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d1:p0:do7"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
|
||||
#NI6528 P3 PVs
|
||||
record(bo, "ni6528:d1:p3:do0"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p3:do1"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p3:do2"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p3:do3"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p3:do4"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p3:do5"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p3:do6"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p3:do7"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
|
||||
|
||||
#NI6528 P4 PVs
|
||||
record(bo, "ni6528:d1:p4:do0"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p4:do1"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p4:do2"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p4:do3"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p4:do4"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p4:do5"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p4:do6"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d1:p4:do7"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
|
||||
|
||||
### Left Side Slots
|
||||
# NI6259 P0 PVs
|
||||
record(bo, "ni6259:d0:p0:do0"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d0:p0:do1"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d0:p0:do2"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d0:p0:do3"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d0:p0:do4"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d0:p0:do5"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d0:p0:do6"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6259:d0:p0:do7"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
|
||||
#NI6528 P3 PVs
|
||||
record(bo, "ni6528:d0:p3:do0"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p3:do1"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p3:do2"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p3:do3"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p3:do4"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p3:do5"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p3:do6"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p3:do7"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
|
||||
|
||||
#NI6528 P4 PVs
|
||||
record(bo, "ni6528:d0:p4:do0"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p4:do1"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p4:do2"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p4:do3"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p4:do4"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p4:do5"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p4:do6"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "ni6528:d0:p4:do7"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
@@ -0,0 +1,191 @@
|
||||
+LoggerService = {
|
||||
Class = LoggerService
|
||||
CPUs = 0x1
|
||||
StackSize = 32768
|
||||
NumberOfLogPages = 128
|
||||
+ConLogger = {
|
||||
Class = ConsoleLogger
|
||||
Format = "EtOoFmC"
|
||||
PrintKeys = 1
|
||||
}
|
||||
}
|
||||
+StateMachine = {
|
||||
Class = StateMachine
|
||||
+INITIAL = {
|
||||
Class = ReferenceContainer
|
||||
+START = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "RUNNING"
|
||||
NextStateError = "ERROR"
|
||||
+PrepareNextStateOnOurRTApp = {
|
||||
Class = Message
|
||||
Destination = MyDemoApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = State1
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = MyDemoApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
+RUNNING = {
|
||||
Class = ReferenceContainer
|
||||
+LOCKEDFOREVER = {
|
||||
Class = StateMachineEvent
|
||||
NextState = RUNNING
|
||||
NextStateError = ERROR
|
||||
}
|
||||
}
|
||||
+ERROR = {
|
||||
Class = ReferenceContainer
|
||||
+LOCKEDFOREVER = {
|
||||
Class = StateMachineEvent
|
||||
NextState = ERROR
|
||||
NextStateError = ERROR
|
||||
}
|
||||
}
|
||||
}
|
||||
+MyDemoApp = {
|
||||
Class = RealTimeApplication
|
||||
+Functions = {
|
||||
Class = ReferenceContainer
|
||||
+GAMTimer = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Time = {
|
||||
DataSource = Timer
|
||||
Type = uint32
|
||||
}
|
||||
Counter = {
|
||||
DataSource = Timer
|
||||
Type = uint32
|
||||
Frequency = 1 //in Hz. Cycle for one state execution.
|
||||
}
|
||||
RTThreadPerf = {
|
||||
DataSource = Timings
|
||||
Alias = "State1.Thread1_CycleTime"
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
Time = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
Counter = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
RTThreadPerf = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+GAMEPICSCA = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
doValue = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
Value = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
}
|
||||
+GAMDebug = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Value = {
|
||||
DataSource = DDB1
|
||||
Type = uint8
|
||||
}
|
||||
|
||||
}
|
||||
OutputSignals = {
|
||||
Value = {
|
||||
DataSource = NI6528
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+Data = {
|
||||
Class = ReferenceContainer
|
||||
DefaultDataSource = DDB1
|
||||
+DDB1 = {
|
||||
Class = GAMDataSource
|
||||
}
|
||||
+Timer = {
|
||||
Class = LinuxTimer
|
||||
SleepNature = "Busy"
|
||||
SleepPercentage = 0
|
||||
ExecutionMode = RealTimeThread
|
||||
CPUMask = 0x1
|
||||
Signals = {
|
||||
Counter = {
|
||||
Type = uint32
|
||||
}
|
||||
Time = {
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+NI6528 = {
|
||||
Class = NI6528
|
||||
DeviceName = "/dev/pxi6528.0"
|
||||
Port = 3
|
||||
Value = {
|
||||
Counter = {
|
||||
Type = uint8
|
||||
}
|
||||
}
|
||||
}
|
||||
+EPICSCAInput = {
|
||||
Class = "EPICSCA::EPICSCAInput"
|
||||
CPUMask = "1"
|
||||
StackSize = "10000000"
|
||||
Signals = {
|
||||
doValue = {
|
||||
PVName = "test:doValue"
|
||||
}
|
||||
}
|
||||
}
|
||||
+Display = {
|
||||
Class = LoggerDataSource
|
||||
}
|
||||
+Timings = {
|
||||
Class = TimingDataSource
|
||||
}
|
||||
}
|
||||
+States = {
|
||||
Class = ReferenceContainer
|
||||
+State1 = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {GAMTimer GAMEPICSCA GAMDebug}
|
||||
CPUMask = 0x1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+Scheduler = {
|
||||
Class = GAMScheduler
|
||||
TimingDataSource = Timings
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
record(bo, "test:do1"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "test:do2"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(bo, "test:do3"){
|
||||
field(SCAN,"Passive")
|
||||
field(ONAM, "ON")
|
||||
field(ZNAM, "OFF")
|
||||
}
|
||||
record(longin, test:doValue){
|
||||
field(SCAN, "Passive")
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
ECPCSubscriber.cfg is a configuration for testing ECPC simulator (JAECPCSimulator.cfg).
|
||||
|
||||
Setup:
|
||||
1) Run softIoc. In qst-gyrotron-fast-controller/Configurations execute command:
|
||||
softIoc -d ECPC_IOC.db
|
||||
|
||||
2) Run ECPC simulator. In qst-gyrotron-fast-controller/Startup execute command:
|
||||
./Main.sh -f ../Configurations/JAECPCSimulator.cfg -l RealTimeLoader -m StateMachine:Start
|
||||
|
||||
3) Run ECPC subscriber. In qst-gyrotron-fast-controller/Startup execute command:
|
||||
./Main.sh -f ../Configurations/tests/ECPCSubscriber.cfg -l RealTimeLoader -m StateMachine:Start
|
||||
|
||||
The ECPC simulator should automatically start sending waveforms, which will be printed by the ECPC subscriber every 10 milliseconds.
|
||||
The ECPC simulator will also be sending command, which is printed by the ECPC subscriber every millisecond.
|
||||
|
||||
To change command that is being sent, you have to caput 1 to one of following PVs:
|
||||
MHVPS_ON (command 1)
|
||||
GYA_BPS_SWON (command 2)
|
||||
GYA_APS_SWON (command 3)
|
||||
GYB_BPS_SWON (command 4)
|
||||
GYB_APS_SWON (command 5)
|
||||
GYA_BPS_SWOFF (command 6)
|
||||
GYA_APS_SWOFF (command 7)
|
||||
GYB_BPS_SWOFF (command 8)
|
||||
GYB_APS_SWOFF (command 9)
|
||||
RF_OFF (command 10)
|
||||
|
||||
To stop sending that command, caput 0 to that PV.
|
||||
|
||||
@@ -0,0 +1,163 @@
|
||||
+LoggerService = {
|
||||
Class = LoggerService
|
||||
CPUs = 0x1
|
||||
StackSize = 32768
|
||||
NumberOfLogPages = 128
|
||||
+ConLogger = {
|
||||
Class = ConsoleLogger
|
||||
Format = "EtOoFmC"
|
||||
PrintKeys = 1
|
||||
}
|
||||
}
|
||||
+StateMachine = {
|
||||
Class = StateMachine
|
||||
+INITIAL = {
|
||||
Class = ReferenceContainer
|
||||
+START = {
|
||||
Class = StateMachineEvent
|
||||
NextState = "RUNNING"
|
||||
NextStateError = "ERROR"
|
||||
+PrepareNextStateOnOurRTApp = {
|
||||
Class = Message
|
||||
Destination = MyDemoApp
|
||||
Mode = ExpectsReply
|
||||
Function = PrepareNextState
|
||||
+Parameters = {
|
||||
Class = ConfigurationDatabase
|
||||
param1 = State1
|
||||
}
|
||||
}
|
||||
+StartNextStateExecutionMsg = {
|
||||
Class = Message
|
||||
Destination = MyDemoApp
|
||||
Function = StartNextStateExecution
|
||||
Mode = ExpectsReply
|
||||
}
|
||||
}
|
||||
}
|
||||
+RUNNING = {
|
||||
Class = ReferenceContainer
|
||||
+LOCKEDFOREVER = {
|
||||
Class = StateMachineEvent
|
||||
NextState = RUNNING
|
||||
NextStateError = ERROR
|
||||
}
|
||||
}
|
||||
+ERROR = {
|
||||
Class = ReferenceContainer
|
||||
+LOCKEDFOREVER = {
|
||||
Class = StateMachineEvent
|
||||
NextState = ERROR
|
||||
NextStateError = ERROR
|
||||
}
|
||||
}
|
||||
}
|
||||
+MyDemoApp = {
|
||||
Class = RealTimeApplication
|
||||
+Functions = {
|
||||
Class = ReferenceContainer
|
||||
+GAMTimer = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Time = { //Time attribute is updated with us resolution.
|
||||
DataSource = Timer
|
||||
Type = uint32
|
||||
}
|
||||
Counter = {
|
||||
DataSource = Timer
|
||||
Type = uint32
|
||||
Frequency = 10 //in Hz. Cycle for one state execution.
|
||||
}
|
||||
RTThreadPerf = {
|
||||
DataSource = Timings
|
||||
Alias = "State1.Thread1_CycleTime"
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
Time = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
Counter = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
RTThreadPerf = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+TimerDisplayGAM = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
Time = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
Counter = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
TimeDISP = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
CounterDISP = {
|
||||
DataSource = Display
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+Data = {
|
||||
Class = ReferenceContainer
|
||||
DefaultDataSource = DDB1
|
||||
+DDB1 = {
|
||||
Class = GAMDataSource
|
||||
}
|
||||
+Timer = {
|
||||
Class = LinuxTimer
|
||||
SleepNature = "Busy"
|
||||
SleepPercentage = 0
|
||||
ExecutionMode = RealTimeThread
|
||||
CPUMask = 0x1
|
||||
Signals = {
|
||||
Counter = {
|
||||
Type = uint32
|
||||
}
|
||||
Time = {
|
||||
Type = uint32
|
||||
}
|
||||
}
|
||||
}
|
||||
+Display = {
|
||||
Class = LoggerDataSource
|
||||
}
|
||||
+Timings = {
|
||||
Class = TimingDataSource
|
||||
}
|
||||
}
|
||||
+States = {
|
||||
Class = ReferenceContainer
|
||||
+State1 = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {GAMTimer TimerDisplayGAM}
|
||||
CPUMask = 0x1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+Scheduler = {
|
||||
Class = GAMScheduler
|
||||
TimingDataSource = Timings
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user