464,45 → 464,10 |
return NULL; |
} |
|
TASK OUTPUT_w_body(void *arg) { |
|
real_T *output, *p; |
|
real_T wr = 0; |
real_T wl = 0; |
|
output_cid[0] = cab_create("WR", sizeof(real_T), 2); |
output_cid[1] = cab_create("WL", sizeof(real_T), 2); |
|
output = (real_T *)rtmGetY(S); |
|
while(1) { |
|
wr = output[3]; |
wl = output[4]; |
|
/* Send wr */ |
p = (real_T *)cab_reserve(output_cid[3]); |
*p = wr; |
cab_putmes(output_cid[3], p); |
|
/* Send wl */ |
p = (real_T *)cab_reserve(output_cid[4]); |
*p = wl; |
cab_putmes(output_cid[4], p); |
|
task_endcycle(); |
|
} |
|
return NULL; |
|
} |
|
void Init_Rtw() { |
|
HARD_TASK_MODEL RTW_task,OUTPUT_task; |
PID RTW_pid,OUTPUT_pid,OUTPUT_w_pid; |
PID RTW_pid,OUTPUT_pid; |
|
int i; |
|
552,18 → 517,8 |
sys_end(); |
} |
|
hard_task_def_mit(OUTPUT_task,OUTPUT_period); |
hard_task_def_wcet(OUTPUT_task,OUTPUT_wcet); |
|
OUTPUT_w_pid = task_create("OUTPUTW",OUTPUT_w_body,&OUTPUT_task,NULL); |
if (OUTPUT_pid == NIL) { |
cprintf("Error: Cannot create RealTime Workshop [OUTPUTW] Task\n"); |
sys_end(); |
} |
|
task_activate(RTW_pid); |
task_activate(OUTPUT_pid); |
task_activate(OUTPUT_w_pid); |
|
} |
|