Subversion Repositories shark

Rev

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