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 |