devices.aadl 9.45 KB
Newer Older
1
2
3
4
5
6
7
8
package ocarina_drivers

public

with deployment;

with ocarina_buses;

9
with Data_Model;
10
with Base_Types;
11

12
13
14
with ocarina_drivers_rasta_1553;
with ocarina_drivers_rasta_serial;
with ocarina_drivers_rasta_spacewire;
15
with ocarina_drivers_rtems_ne2000;
16

17
with ocarina_drivers_udp_exarm;
18
19
20
21
22
with ocarina_drivers_serial;

with ocarina_drivers_ip_asn1;
with ocarina_drivers_ip_pohic;

23
24
with ocarina_drivers_exarm_ni_6071e_analog;
with ocarina_drivers_exarm_ni_6071e_digital;
25

julien.delange's avatar
julien.delange committed
26
27
28
29
30
31
32
33
34
35
with ocarina_drivers_generic_keyboard;

----------------
--  Keyboard  --
----------------

device generic_keyboard
features
   key_pressed  : out data port Base_Types::Character;
properties
36
   Deployment::Driver_Name    => "generic_keyboard";
julien.delange's avatar
julien.delange committed
37
38
39
40
41
42
43
   Device_Driver              => classifier (ocarina_drivers_generic_keyboard::generic_keyboard_driver.i);
   Initialize_Entrypoint      => classifier (ocarina_drivers_generic_keyboard::spg_generic_keyboard_init);
end generic_keyboard;

device implementation generic_keyboard.linux
end generic_keyboard.linux;

44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
------------------
--  RASTA 1553  --
------------------

device rasta_1553
end rasta_1553;

device implementation rasta_1553.terminal
properties
   Deployment::Driver_Name    => "1553_rasta";
   Device_Driver              => classifier (ocarina_drivers_rasta_1553::if1553_driver.rasta_terminal);
   Initialize_Entrypoint      => classifier (ocarina_drivers_rasta_1553::spg_1553_init_rasta_terminal);
   Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_1553.terminal;

device implementation rasta_1553.controller_sender_only
properties
   Deployment::Driver_Name    => "1553_rasta";
   Device_Driver              => classifier (ocarina_drivers_rasta_1553::if1553_driver.rasta_controller_sender_only);
   Initialize_Entrypoint      => classifier (ocarina_drivers_rasta_1553::spg_1553_init_rasta_controller);
   Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end rasta_1553.controller_sender_only;

--------------------
--  RASTA SERIAL  --
--------------------

device rasta_serial
72
73
features
   serialaccess : requires bus access ocarina_buses::serial.generic;
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
end rasta_serial;

device implementation rasta_serial.raw
properties
   Deployment::Driver_Name    => "serial_rasta";
   Device_Driver              => classifier (ocarina_drivers_rasta_serial::serial_driver.rasta);
   Initialize_Entrypoint      => classifier (ocarina_drivers_rasta_serial::spg_serial_init_rasta);
   Provided_Virtual_Bus_Class => (classifier (ocarina_buses::raw.i));
end rasta_serial.raw;


-----------------------
--  RASTA SPACEWIRE  --
-----------------------

device rasta_spacewire
90
91
features
   spwaccess : requires bus access ocarina_buses::spacewire.generic;
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
end rasta_spacewire;

device implementation rasta_spacewire.pohic
properties
   Deployment::Driver_Name       => "spacewire_rasta";
   Device_Driver                 => classifier (ocarina_drivers_rasta_spacewire::spacewire_driver.rasta);
   Initialize_Entrypoint         => classifier (ocarina_drivers_rasta_spacewire::spg_spacewire_init_rasta);
   Provided_Virtual_Bus_Class    => (classifier (ocarina_buses::pohi.c));
end rasta_spacewire.pohic;


-----------------------------
--  Generic serial driver  --
-----------------------------

device generic_serial
108
109
features
   serialaccess : requires bus access ocarina_buses::serial.generic;
110
111
112
113
114
115
116
117
118
119
end generic_serial;

device implementation generic_serial.raw
properties
   Deployment::Driver_Name       => "serial_linux";
   Device_Driver                 => classifier (ocarina_drivers_serial::serial_driver.linux);
   Initialize_Entrypoint         => classifier (ocarina_drivers_serial::spg_serial_init_linux);
   Provided_Virtual_Bus_Class    => (classifier (ocarina_buses::raw.i));
end generic_serial.raw;

120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139

device implementation generic_serial.raw_sender
properties
   Deployment::Driver_Name       => "serial_linux_sender";
   Device_Driver                 => classifier (ocarina_drivers_serial::serial_driver.linux_sender);
   Initialize_Entrypoint         => classifier (ocarina_drivers_serial::spg_serial_init_linux_sender);
   Provided_Virtual_Bus_Class    => (classifier (ocarina_buses::raw.i));
end generic_serial.raw_sender;


device implementation generic_serial.raw_receiver
properties
   Deployment::Driver_Name       => "serial_linux_receiver";
   Device_Driver                 => classifier (ocarina_drivers_serial::serial_driver.linux_receiver);
   Initialize_Entrypoint         => classifier (ocarina_drivers_serial::spg_serial_init_linux_receiver);
   Provided_Virtual_Bus_Class    => (classifier (ocarina_buses::raw.i));
end generic_serial.raw_receiver;



140
141
142
143
144
---------------------------------
--  Generic sockets/ip driver  --
---------------------------------

device generic_sockets_ip
145
146
features
   thebus : requires bus access ocarina_buses::ip.i;
147
148
end generic_sockets_ip;

149
device implementation generic_sockets_ip.pohic_old
150
151
152
153
154
properties
   Deployment::Driver_Name       => "sockets";
   Device_Driver                 => classifier (ocarina_drivers_ip_pohic::sockets_impl.i);
   Initialize_Entrypoint         => classifier (ocarina_drivers_ip_pohic::spg_sockets_init);
   Provided_Virtual_Bus_Class    => (classifier (ocarina_buses::pohi.c));
155
156
157
158
159
160
161
162
163
end generic_sockets_ip.pohic_old;


device implementation generic_sockets_ip.pohic
properties
   Deployment::Driver_Name       => "socketsnew";
   Device_Driver                 => classifier (ocarina_drivers_ip_pohic::sockets_impl.inew);
   Initialize_Entrypoint         => classifier (ocarina_drivers_ip_pohic::spg_sockets_init);
   Provided_Virtual_Bus_Class    => (classifier (ocarina_buses::pohi.c));
164
165
end generic_sockets_ip.pohic;

166

167
168
169
170
171
172
173
174
device implementation generic_sockets_ip.asn1
properties
   Deployment::Driver_Name       => "sockets_asn1";
   Device_Driver                 => classifier (ocarina_drivers_ip_asn1::sockets_impl.asn1);
   Initialize_Entrypoint         => classifier (ocarina_drivers_ip_asn1::spg_sockets_init);
   Provided_Virtual_Bus_Class    => (classifier (ocarina_buses::asn1.i));
end generic_sockets_ip.asn1;

175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
---------------------
--  RTEMS NE2000   --
---------------------

device rtems_ne2000
features
   thebus : requires bus access ocarina_buses::ip.i;
end rtems_ne2000;

device implementation rtems_ne2000.ip_pohic
properties
   Deployment::Driver_Name       => "rtems_ne2000_sockets";
   Device_Driver                 => classifier (ocarina_drivers_rtems_ne2000::driver.i);
   Initialize_Entrypoint         => classifier (ocarina_drivers_rtems_ne2000::init);
   Provided_Virtual_Bus_Class    => (classifier (ocarina_buses::pohi.c));
end rtems_ne2000.ip_pohic;

192
193
194
195
196
197
198
199
------------------------------------------
--            Exarm UDP driver          --
------------------------------------------
--  This driver is used to communicate  --
--  with the exarm robot and also       --
--  the Matlab simulator.               --
------------------------------------------

julien.delange's avatar
julien.delange committed
200
device exarm_ip
201
202
features
   thebus : requires bus access ocarina_buses::ip.i;
julien.delange's avatar
julien.delange committed
203
end exarm_ip;
204

julien.delange's avatar
julien.delange committed
205
device implementation exarm_ip.vr_udp
206
207
208
209
properties
   Deployment::Driver_Name    => "exarm";
   Device_Driver              => classifier (ocarina_drivers_udp_exarm::driver.i);
   Initialize_Entrypoint      => classifier (ocarina_drivers_udp_exarm::init);
julien.delange's avatar
julien.delange committed
210
end exarm_ip.vr_udp;
211
212
213
214

data exarm_protocol_data
end exarm_protocol_data;

215
data implementation exarm_protocol_data.vr extends ocarina_drivers_udp_exarm::protocol.vr
216
217
properties
   Data_Model::Data_Representation => Struct;
218
219
220
221
222
223
224
end exarm_protocol_data.vr;

data implementation exarm_protocol_data.robot extends ocarina_drivers_udp_exarm::protocol.robot
properties
   Data_Model::Data_Representation => Struct;
end exarm_protocol_data.robot;

225
---------------------------------------
226
--   Devices for the Exo skeleton    --
227
228
229
230
231
232
--  National Instruments PCI-6071E   --
---------------------------------------
--  This device is used to make data --
--  acquisition of the EXARM robot.  --
---------------------------------------

233
device exarm_ni_6071e_analog
234
features
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
   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 exarm_ni_6071e_analog;


device implementation exarm_ni_6071e_analog.i
255
properties
256
257
258
259
260
261
262
263
264
   Deployment::Driver_Name    => "exarm_ni_6071e_analog";
   Device_Driver              => classifier (ocarina_drivers_exarm_ni_6071e_analog::driver.i);
   Initialize_Entrypoint      => classifier (ocarina_drivers_exarm_ni_6071e_analog::spg_init);
end exarm_ni_6071e_analog.i;


device exarm_ni_6071e_digital
features
   data1  : out data port Base_Types::Unsigned_8;
julien.delange's avatar
julien.delange committed
265
   data2  : out data port Base_Types::Unsigned_8;
266
267
end exarm_ni_6071e_digital;

268

269
270
271
272
273
274
device implementation exarm_ni_6071e_digital.i
properties
   Deployment::Driver_Name    => "exarm_ni_6071e_digital";
   Device_Driver              => classifier (ocarina_drivers_exarm_ni_6071e_digital::driver.i);
   Initialize_Entrypoint      => classifier (ocarina_drivers_exarm_ni_6071e_digital::spg_init);
end exarm_ni_6071e_digital.i;
275

276
277
end ocarina_drivers;