void baseRateTask(void *arg) { baseRateInfo_t info = *((baseRateInfo_t *)arg); MW_setTaskPeriod(info.period, info.signo); while ((rtmGetErrorStatus(motorControlTask_M) == (NULL)) && !rtmGetStopRequested(motorControlTask_M) ) { /* Wait for the next timer interrupt */ if (MW_sigWaitWithOverrunDetection(&info.sigMask) == 1) { printf("Overrun - rate for base rate task too fast.\n"); fflush(stdout); } /* External mode */ { boolean_T rtmStopReq = false; rtExtModePauseIfNeeded(motorControlTask_M->extModeInfo, 2, &rtmStopReq); if (rtmStopReq) { rtmSetStopRequested(motorControlTask_M, true); } if (rtmGetStopRequested(motorControlTask_M) == true) { rtmSetErrorStatus(motorControlTask_M, "Simulation finished"); break; } } /* External mode */ { boolean_T rtmStopReq = false; rtExtModeOneStep(motorControlTask_M->extModeInfo, 2, &rtmStopReq); if (rtmStopReq) { rtmSetStopRequested(motorControlTask_M, true); } } motorControlTask_output(); /* Get model outputs here */ /* External mode */ rtExtModeUploadCheckTrigger(2); { /* Sample time: [0.0s, 0.0s] */ rtExtModeUpload(0, motorControlTask_M->Timing.t[0]); } { /* Sample time: [0.02s, 0.0s] */ rtExtModeUpload(1, ((motorControlTask_M->Timing.clockTick1) * 0.02)); } motorControlTask_update(); rtExtModeCheckEndTrigger(); } /* while */ sem_post(&stopSem); }
void baseRateTask(void *arg) { baseRateInfo_t info = *((baseRateInfo_t *)arg); MW_setTaskPeriod(info.period, info.signo); while ((rtmGetErrorStatus(Serial_M) == (NULL)) && !rtmGetStopRequested (Serial_M) ) { /* Wait for the next timer interrupt */ MW_sigWait(&info.sigMask); /* External mode */ { boolean_T rtmStopReq = false; rtExtModePauseIfNeeded(Serial_M->extModeInfo, 2, &rtmStopReq); if (rtmStopReq) { rtmSetStopRequested(Serial_M, true); } if (rtmGetStopRequested(Serial_M) == true) { rtmSetErrorStatus(Serial_M, "Simulation finished"); break; } } /* External mode */ { boolean_T rtmStopReq = false; rtExtModeOneStep(Serial_M->extModeInfo, 2, &rtmStopReq); if (rtmStopReq) { rtmSetStopRequested(Serial_M, true); } } Serial_output(); /* Get model outputs here */ /* External mode */ rtExtModeUploadCheckTrigger(2); { /* Sample time: [0.0s, 0.0s] */ rtExtModeUpload(0, Serial_M->Timing.t[0]); } { /* Sample time: [0.05s, 0.0s] */ rtExtModeUpload(1, ((Serial_M->Timing.clockTick1) * 0.05)); } Serial_update(); rtExtModeCheckEndTrigger(); } /* while */ sem_post(&stopSem); }
void baseRateTask(void *arg) { baseRateInfo_t info = *((baseRateInfo_t *)arg); MW_setTaskPeriod(info.period, info.signo); while ((rtmGetErrorStatus(raspberrypi_audioequalizer_M) == (NULL)) && !rtmGetStopRequested(raspberrypi_audioequalizer_M) ) { /* Wait for the next timer interrupt */ MW_sigWait(&info.sigMask); /* External mode */ { boolean_T rtmStopReq = FALSE; rtExtModePauseIfNeeded(raspberrypi_audioequalizer_M->extModeInfo, 1, &rtmStopReq); if (rtmStopReq) { rtmSetStopRequested(raspberrypi_audioequalizer_M, TRUE); } if (rtmGetStopRequested(raspberrypi_audioequalizer_M) == TRUE) { rtmSetErrorStatus(raspberrypi_audioequalizer_M, "Simulation finished"); break; } } /* External mode */ { boolean_T rtmStopReq = FALSE; rtExtModeOneStep(raspberrypi_audioequalizer_M->extModeInfo, 1, &rtmStopReq); if (rtmStopReq) { rtmSetStopRequested(raspberrypi_audioequalizer_M, TRUE); } } raspberrypi_audioequalizer_output(); /* Get model outputs here */ /* External mode */ rtExtModeUploadCheckTrigger(1); { /* Sample time: [0.1s, 0.0s] */ rtExtModeUpload(0, raspberrypi_audioequalizer_M->Timing.taskTime0); } raspberrypi_audioequalizer_update(); rtExtModeCheckEndTrigger(); } /* while */ sem_post(&stopSem); }
void baseRateTask(void *arg) { baseRateInfo_t info = *((baseRateInfo_t *)arg); MW_setTaskPeriod(info.period, info.signo); while (rtmGetErrorStatus(testA_M) == (NULL) ) { /* Wait for the next timer interrupt */ MW_sigWait(&info.sigMask); testA_output(); /* Get model outputs here */ testA_update(); } /* while */ sem_post(&stopSem); }
void baseRateTask(void *arg) { baseRateInfo_t info = *((baseRateInfo_t *)arg); MW_setTaskPeriod(info.period, info.signo); while ((rtmGetErrorStatus(beagleboard_communication_M) == (NULL)) && !rtmGetStopRequested(beagleboard_communication_M) ) { /* Wait for the next timer interrupt */ MW_sigWait(&info.sigMask); beagleboard_communication_output(); /* Get model outputs here */ beagleboard_communication_update(); } /* while */ sem_post(&stopSem); }