leon-serial.aadl 1.58 KB
Newer Older
1
2
3
4
package ocarina_drivers_leon_serial

public

5
with Deployment;
6
with ocarina_buses;
7
with ocarina_drivers;
8
9
10

subprogram spg_serial_poller_leon
properties
11
	Source_Language => (C);
12
13
14
15
16
17
	Source_Name => "__po_hi_c_driver_serial_leon_poller";
end spg_serial_poller_leon;


subprogram spg_serial_sender_leon
properties
18
	Source_Language => (C);
19
20
21
22
23
	Source_Name => "__po_hi_c_driver_serial_leon_sender";
end spg_serial_sender_leon;

subprogram spg_serial_init_leon
properties
24
	Source_Language => (C);
25
26
27
	Source_Name => "__po_hi_c_driver_serial_leon_init";
end spg_serial_init_leon;

28
29
subprogram spg_serial_init_leon_sender
properties
30
	Source_Language => (C);
31
32
33
	Source_Name => "__po_hi_c_driver_serial_leon_init_sender";
end spg_serial_init_leon_sender;

34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
thread serial_poller
end serial_poller;


thread implementation serial_poller.leon
calls
	mycall : {
	  pspg : subprogram spg_serial_poller_leon;
	};
properties
   Period => 1000ms;
   Dispatch_Protocol => Periodic;
end serial_poller.leon;

abstract serial_driver
49
50
properties
   Deployment::Configuration_Type => classifier (ocarina_drivers::configuration_type_serial);
51
52
   Deployment::Version  => "0.1beta";
   Deployment::Help     => "Write your ASN.1 configuration here";
53
54
55
56
57
58
59
60
end serial_driver;

abstract implementation serial_driver.leon
subcomponents
   receiver_leon_serial  : thread serial_poller.leon;
   sender                : subprogram spg_serial_sender_leon;
end serial_driver.leon;

61
62
63
64
65
66
abstract implementation serial_driver.leon_sender
subcomponents
   sender                : subprogram spg_serial_sender_leon;
end serial_driver.leon_sender;


67
end ocarina_drivers_leon_serial;