Blame |
Last modification |
View Log
| RSS feed
#include "kernel/kern.h"
#include "modules/cabs.h"
#include "tmwtypes.h"
#include "rtw.h"
extern CAB input_cid
[NINPUTCAB
];
TASK SENSOR_body
(void *input_port
) {
real_T
*p
;
int in
= (int)(input_port
);
char cname
[20];
if (in
>= NINPUTCAB
) return NULL
;
sprintf(cname
,"INPUT%d",in
);
input_cid
[in
] = cab_create
(cname
, sizeof(real_T
), 2);
while(1) {
/* Reserve a message */
p
= (real_T
*)cab_reserve
(input_cid
[in
]);
/* Save data */
*p
= 1000.0;
/* Put CAB message */
cab_putmes
(input_cid
[in
], p
);
task_endcycle
();
}
return NULL
;
}
void activate_sensors
() {
HARD_TASK_MODEL SENSOR_task
;
PID SENSOR_pid
;
hard_task_default_model
(SENSOR_task
);
hard_task_def_mit
(SENSOR_task
,10000);
hard_task_def_wcet
(SENSOR_task
,1000);
/* Set sensor port number */
hard_task_def_arg
(SENSOR_task
,(void *)(0));
hard_task_def_usemath
(SENSOR_task
);
hard_task_def_ctrl_jet
(SENSOR_task
);
SENSOR_pid
= task_create
("SENSOR0",SENSOR_body
,&SENSOR_task
,NULL
);
if (SENSOR_pid
== NIL
) {
cprintf
("Error: Cannot create RealTime Workshop [SENSOR0] Task\n");
sys_end
();
}
task_activate
(SENSOR_pid
);
}