exarm-ni-6071e-analog.aadl 4.34 KB
Newer Older
1
2
3
4
5
package ocarina_drivers_exarm_ni_6071e_analog

public

with Base_Types;
6
with Deployment;
7
8
9

subprogram spg_init
properties
10
   Source_Language   => (C);
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
   Source_Name       => "__po_hi_c_driver_exarm_ni_6071e_analog_init";
end spg_init;


subprogram spg_poller
features
   data1  : out parameter Base_Types::Float_64;
   data2  : out parameter Base_Types::Float_64;
   data3  : out parameter Base_Types::Float_64;
   data4  : out parameter Base_Types::Float_64;
   data5  : out parameter Base_Types::Float_64;
   data6  : out parameter Base_Types::Float_64;
   data7  : out parameter Base_Types::Float_64;
   data8  : out parameter Base_Types::Float_64;
   data9  : out parameter Base_Types::Float_64;
   data10 : out parameter Base_Types::Float_64;
   data11 : out parameter Base_Types::Float_64;
   data12 : out parameter Base_Types::Float_64;
   data13 : out parameter Base_Types::Float_64;
   data14 : out parameter Base_Types::Float_64;
   data15 : out parameter Base_Types::Float_64;
   data16 : out parameter Base_Types::Float_64;
properties
34
   Source_Language   => (C);
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
   Source_Name       => "__po_hi_c_driver_exarm_ni_6071e_analog_poller";
end spg_poller;


thread thr_poller
features
   data1  : out data port Base_Types::Float_64;
   data2  : out data port Base_Types::Float_64;
   data3  : out data port Base_Types::Float_64;
   data4  : out data port Base_Types::Float_64;
   data5  : out data port Base_Types::Float_64;
   data6  : out data port Base_Types::Float_64;
   data7  : out data port Base_Types::Float_64;
   data8  : out data port Base_Types::Float_64;
   data9  : out data port Base_Types::Float_64;
   data10 : out data port Base_Types::Float_64;
   data11 : out data port Base_Types::Float_64;
   data12 : out data port Base_Types::Float_64;
   data13 : out data port Base_Types::Float_64;
   data14 : out data port Base_Types::Float_64;
   data15 : out data port Base_Types::Float_64;
   data16 : out data port Base_Types::Float_64;
end thr_poller;

thread implementation thr_poller.i
calls
	mycall : {
	  pspg : subprogram spg_poller;
	};
connections
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
   parameter pspg.data1 -> data1;
   parameter pspg.data2 -> data2;
   parameter pspg.data3 -> data3;
   parameter pspg.data4 -> data4;
   parameter pspg.data5 -> data5;
   parameter pspg.data6 -> data6;
   parameter pspg.data7 -> data7;
   parameter pspg.data8 -> data8;
   parameter pspg.data9 -> data9;
   parameter pspg.data10 -> data10;
   parameter pspg.data11 -> data11;
   parameter pspg.data12 -> data12;
   parameter pspg.data13 -> data13;
   parameter pspg.data14 -> data14;
   parameter pspg.data15 -> data15;
   parameter pspg.data16 -> data16;
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
properties
   Period => 100 ms;
   Dispatch_Protocol => Periodic;
end thr_poller.i;


abstract driver
features
   data1  : out data port Base_Types::Float_64;
   data2  : out data port Base_Types::Float_64;
   data3  : out data port Base_Types::Float_64;
   data4  : out data port Base_Types::Float_64;
   data5  : out data port Base_Types::Float_64;
   data6  : out data port Base_Types::Float_64;
   data7  : out data port Base_Types::Float_64;
   data8  : out data port Base_Types::Float_64;
   data9  : out data port Base_Types::Float_64;
   data10 : out data port Base_Types::Float_64;
   data11 : out data port Base_Types::Float_64;
   data12 : out data port Base_Types::Float_64;
   data13 : out data port Base_Types::Float_64;
   data14 : out data port Base_Types::Float_64;
   data15 : out data port Base_Types::Float_64;
   data16 : out data port Base_Types::Float_64;
end driver;

abstract implementation driver.i
subcomponents
   ni6071e_analog_poller : thread thr_poller.i;
connections
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
   port ni6071e_analog_poller.data1 -> data1;
   port ni6071e_analog_poller.data2 -> data2;
   port ni6071e_analog_poller.data3 -> data3;
   port ni6071e_analog_poller.data4 -> data4;
   port ni6071e_analog_poller.data5 -> data5;
   port ni6071e_analog_poller.data6 -> data6;
   port ni6071e_analog_poller.data7 -> data7;
   port ni6071e_analog_poller.data8 -> data8;
   port ni6071e_analog_poller.data9 -> data9;
   port ni6071e_analog_poller.data10 -> data10;
   port ni6071e_analog_poller.data11 -> data11;
   port ni6071e_analog_poller.data12 -> data12;
   port ni6071e_analog_poller.data13 -> data13;
   port ni6071e_analog_poller.data14 -> data14;
   port ni6071e_analog_poller.data15 -> data15;
   port ni6071e_analog_poller.data16 -> data16;
127
128
129
end driver.i;

end ocarina_drivers_exarm_ni_6071e_analog;