brians | 343bc11 | 2013-02-10 01:53:46 +0000 | [diff] [blame^] | 1 | package aos.control_loops; |
2 | |||||
3 | interface IsDone { | ||||
4 | bool done; | ||||
5 | }; | ||||
6 | |||||
7 | interface ControlLoop { | ||||
8 | queue goal; | ||||
9 | queue position; | ||||
10 | queue output; | ||||
11 | queue IsDone status; | ||||
12 | }; | ||||
13 | |||||
14 | message Goal { | ||||
15 | double goal; | ||||
16 | }; | ||||
17 | |||||
18 | message Position { | ||||
19 | double position; | ||||
20 | }; | ||||
21 | |||||
22 | message Output { | ||||
23 | double pwm; | ||||
24 | }; | ||||
25 | |||||
26 | message Status { | ||||
27 | bool done; | ||||
28 | }; | ||||
29 | |||||
30 | // Single Input Single Output control loop. | ||||
31 | queue_group SISO { | ||||
32 | implements ControlLoop; | ||||
33 | |||||
34 | queue Goal goal; | ||||
35 | queue Position position; | ||||
36 | queue Output output; | ||||
37 | queue Status status; | ||||
38 | }; |