Subversion Repositories shark

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1418 giacomo 1
#include "kernel/kern.h"
2
#include "modules/cabs.h"
3
 
4
#include "tmwtypes.h"
5
 
6
#include "rtw.h"
7
 
8
extern CAB input_cid[NINPUTCAB];
9
 
10
TASK SENSOR_body(void *input_port) {
11
 
12
    real_T *p;
13
    int in = (int)(input_port);
14
    char cname[20];
15
 
16
    if (in >= NINPUTCAB) return NULL;
17
 
18
    sprintf(cname,"INPUT%d",in);
19
    input_cid[in] = cab_create(cname, sizeof(real_T), 2);
20
 
21
    while(1) {
22
 
23
        /* Reserve a message */
24
        p = (real_T *)cab_reserve(input_cid[in]);
25
 
26
        /* Save data */
27
        *p = 1000.0;
28
 
29
        /* Put CAB message */
30
        cab_putmes(input_cid[in], p);
31
 
32
        task_endcycle();
33
 
34
    }
35
 
36
    return NULL;
37
 
38
}
39
 
40
void activate_sensors() {
41
 
42
    HARD_TASK_MODEL     SENSOR_task;
43
    PID                 SENSOR_pid;
44
 
45
    hard_task_default_model(SENSOR_task);
46
    hard_task_def_mit(SENSOR_task,10000);
47
    hard_task_def_wcet(SENSOR_task,1000);
48
    /* Set sensor port number */
49
    hard_task_def_arg(SENSOR_task,(void *)(0));
50
    hard_task_def_usemath(SENSOR_task);
51
    hard_task_def_ctrl_jet(SENSOR_task);
52
 
53
    SENSOR_pid = task_create("SENSOR0",SENSOR_body,&SENSOR_task,NULL);
54
    if (SENSOR_pid == NIL) {
55
        cprintf("Error: Cannot create RealTime Workshop [SENSOR0] Task\n");
56
        sys_end();
57
    }
58
 
59
    task_activate(SENSOR_pid);
60
 
61
}
62
 
63
 
64