349,7 → 349,7 |
rtExtModePauseIfNeeded(rtmGetRTWExtModeInfo(S), |
(boolean_T *)&rtmGetStopRequested(S)); |
|
cprintf(".(%dus)",(int)(rtmGetT(S)*1000000)); |
cprintf(".(%dus out = %lf)",(int)(rtmGetT(S)*1000000),*(real_T *)(rtmGetY(S))); |
|
if (rtmGetStopRequested(S)) break; |
rt_OneStep(S); |
369,10 → 369,32 |
|
} |
|
TASK INPUT_body(void *arg) { |
|
int input_ports = rtmGetNumInputPorts(S); |
real_T *input; |
|
cprintf("Number of inputs = %d\n",input_ports); |
|
input = (real_T *)rtmGetU(S); |
|
while(1) { |
|
input[0] = 1; |
input[1] = 1; |
|
task_endcycle(); |
|
} |
|
return NULL; |
|
} |
|
int main() { |
|
HARD_TASK_MODEL RTW_task; |
PID RTW_pid; |
HARD_TASK_MODEL RTW_task,INPUT_task; |
PID RTW_pid,INPUT_pid; |
|
Init_RealTime_Workshop(); |
|
388,6 → 410,19 |
sys_end(); |
} |
|
hard_task_default_model(INPUT_task); |
hard_task_def_mit(INPUT_task,100000); |
hard_task_def_wcet(INPUT_task,10000); |
hard_task_def_usemath(INPUT_task); |
hard_task_def_ctrl_jet(INPUT_task); |
|
INPUT_pid = task_create("INPUT",INPUT_body,&INPUT_task,NULL); |
if (INPUT_pid == NIL) { |
cprintf("Error: Cannot create RealTime Workshop Task\n"); |
sys_end(); |
} |
|
task_activate(INPUT_pid); |
task_activate(RTW_pid); |
|
while(simulation_run); |