Rev 1650 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1624 | giacomo | 1 | #include "kernel/kern.h" |
1651 | pj | 2 | #include "cabs/cabs/cabs.h" |
1624 | giacomo | 3 | |
4 | #include "tmwtypes.h" |
||
5 | |||
6 | #include "rtw.h" |
||
7 | |||
8 | extern CAB input_cid[NINPUTCAB]; |
||
9 | |||
10 | TASK CONTROL_body(void *arg) { |
||
11 | |||
12 | real_T *p; |
||
13 | |||
14 | input_cid[0] = cab_create("INPUT0", sizeof(real_T), 2); |
||
15 | input_cid[1] = cab_create("INPUT1", sizeof(real_T), 2); |
||
16 | |||
17 | while(1) { |
||
18 | |||
19 | /* Reserve a message */ |
||
20 | p = (real_T *)cab_reserve(input_cid[0]); |
||
21 | |||
22 | /* Save PAR1 data */ |
||
23 | *p = 1000.0; |
||
24 | |||
25 | /* Put CAB message */ |
||
26 | cab_putmes(input_cid[0], p); |
||
27 | |||
28 | /* Reserve a message */ |
||
29 | p = (real_T *)cab_reserve(input_cid[1]); |
||
30 | |||
31 | /* Save PAR2 data */ |
||
32 | *p = 1000.0; |
||
33 | |||
34 | /* Put CAB message */ |
||
35 | cab_putmes(input_cid[1], p); |
||
36 | |||
37 | task_endcycle(); |
||
38 | |||
39 | } |
||
40 | |||
41 | return NULL; |
||
42 | |||
43 | } |
||
44 | |||
45 | void activate_control() { |
||
46 | |||
47 | HARD_TASK_MODEL CONTROL_task; |
||
48 | PID CONTROL_pid; |
||
49 | |||
50 | hard_task_default_model(CONTROL_task); |
||
51 | hard_task_def_mit(CONTROL_task,10000); |
||
52 | hard_task_def_wcet(CONTROL_task,500); |
||
53 | hard_task_def_usemath(CONTROL_task); |
||
54 | hard_task_def_ctrl_jet(CONTROL_task); |
||
55 | |||
56 | CONTROL_pid = task_create("CONTROL",CONTROL_body,&CONTROL_task,NULL); |
||
57 | if (CONTROL_pid == NIL) { |
||
58 | cprintf("Error: Cannot create RealTime Workshop [CONTROL] Task\n"); |
||
1650 | pj | 59 | exit(1); |
1624 | giacomo | 60 | } |
61 | |||
62 | task_activate(CONTROL_pid); |
||
63 | |||
64 | } |
||
65 | |||
66 | |||
67 |