예제 #1
0
/* Model terminate function */
void testSHM_terminate(void)
{
  /* Level2 S-Function Block: '<Root>/S-Function' (sSHM) */
  {
    SimStruct *rts = testSHM_M->childSfunctions[0];
    sfcnTerminate(rts);
  }

  /* Level2 S-Function Block: '<Root>/RTAI_SCOPE' (sfun_rtai_scope) */
  {
    SimStruct *rts = testSHM_M->childSfunctions[1];
    sfcnTerminate(rts);
  }
}
예제 #2
0
/* Model terminate function */
void xpcosc_terminate(void)
{
  /* Level2 S-Function Block: '<Root>/PCI-6221 AD' (adnipcim) */
  {
    SimStruct *rts = xpcosc_rtM->childSfunctions[0];
    sfcnTerminate(rts);
  }

  /* Level2 S-Function Block: '<Root>/PCI-6713 DA' (danipci671x) */
  {
    SimStruct *rts = xpcosc_rtM->childSfunctions[1];
    sfcnTerminate(rts);
  }
}
예제 #3
0
/* Model terminate function */
void Hammerstein_terminate(void)
{
  /* Level2 S-Function Block: '<S1>/Pwlinear1' (sfunpwlinear) */
  {
    SimStruct *rts = Hammerstein_M->childSfunctions[0];
    sfcnTerminate(rts);
  }

  /* Level2 S-Function Block: '<S1>/Pwlinear' (sfunpwlinear) */
  {
    SimStruct *rts = Hammerstein_M->childSfunctions[1];
    sfcnTerminate(rts);
  }
}
예제 #4
0
/* Model terminate function */
void DI_model_terminate(void)
{
  /* Level2 S-Function Block: '<Root>/S-Function' (DI_v1) */
  {
    SimStruct *rts = DI_model_M->childSfunctions[0];
    sfcnTerminate(rts);
  }
}
예제 #5
0
/* Model terminate function */
void test_mdl_terminate(void)
{
  /* Level2 S-Function Block: '<Root>/S-Function' (phy_to_lnr) */
  {
    SimStruct *rts = test_mdl_M->childSfunctions[0];
    sfcnTerminate(rts);
  }
}
예제 #6
0
/* Model terminate function */
void AD_model_terminate(void)
{
  /* Level2 S-Function Block: '<Root>/Get_Parameter ' (AD_v2) */
  {
    SimStruct *rts = AD_model_M->childSfunctions[0];
    sfcnTerminate(rts);
  }
}
예제 #7
0
/* Model terminate function */
void RA4_student_terminate(void)
{
  /* RTW Generated Level2 S-Function Block: '<S2>/Robot Arm_sfcn' (Robot_sf) */
  {
    SimStruct *rts = RA4_student_M->childSfunctions[1];
    sfcnTerminate(rts);
  }

  /* Terminate for Enabled SubSystem: '<Root>/Controller' */

  /* Level2 S-Function Block: '<S6>/S-Function' (sf_rt_scope) */
  {
    SimStruct *rts = RA4_student_M->childSfunctions[0];
    sfcnTerminate(rts);
  }

  /* End of Terminate for SubSystem: '<Root>/Controller' */
}
예제 #8
0
/* Model terminate function */
void Mechanics_terminate(void)
{
  /* Level2 S-Function Block: '<Root>/Arduino' (QueryInstrument) */
  {
    SimStruct *rts = Mechanics_M->childSfunctions[0];
    sfcnTerminate(rts);
  }

  /* S-Function Block: <S6>/Block#1 */
  {
    if (rt_mech_visited_Mechanics_c90d139d == 1) {
      _rtMech_PWORK *mechWork = (_rtMech_PWORK *) Mechanics_DWork.Block1_PWORK;
      if (mechWork->mechanism->destroyEngine != NULL) {
        (mechWork->mechanism->destroyEngine)(mechWork->mechanism);
      }
    }

    if ((--rt_mech_visited_Mechanics_c90d139d) == 0 ) {
      rt_mech_visited_loc_Mechanics_c90d139d = 0;
    }
  }
}
예제 #9
0
/* Termination for root system: '<Root>' */
static void mdlTerminate(SimStruct *S)
{
    BlockIO_Hammerstein *_rtB;
    _rtB = ((BlockIO_Hammerstein *) ssGetLocalBlockIO(S));

    /* Level2 S-Function Block: '<S1>/Pwlinear1' (sfunpwlinear) */
    {
        SimStruct *rts = ssGetSFunction(S, 0);
        sfcnTerminate(rts);
    }

    /* Level2 S-Function Block: '<S1>/Pwlinear' (sfunpwlinear) */
    {
        SimStruct *rts = ssGetSFunction(S, 1);
        sfcnTerminate(rts);
    }

#if defined(RT_MALLOC) || defined(MATLAB_MEX_FILE)

    /* child S-function code */
    if (_ssGetSFunctions(S) ) {
        /* Level2 S-Function Block: '<S1>/Pwlinear1' (sfunpwlinear) */
        {
            SimStruct *rts = ssGetSFunction(S, 0);
            if (rts != (NULL) ) {
                rt_FREE(ssGetSampleTimePtr(rts));
                rt_FREE(ssGetOffsetTimePtr(rts));
                rt_FREE(ssGetSampleTimeTaskIDPtr(rts));

#if defined(MATLAB_MEX_FILE)

                {
                    uint_T *attribs = ssGetSFcnParamAttribsPtr(rts);
                    mxFree(attribs);
                }

#endif

#if defined(MATLAB_MEX_FILE)

                {
                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 0));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 1));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 2));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 3));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 4));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 5));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 6));
                    }
                }

#endif

                {
                    mxArray **ptr = (mxArray **) ssGetSFcnParamsPtr(rts);
                    rt_FREE(ptr);
                }

                /* Destroy model methods 3 */
                {
                    struct _ssSFcnModelMethods3 *methods3 = ssGetModelMethods3(rts);
                    rt_FREE(methods3);
                }

                /* Destroy model methods 2 */
                {
                    struct _ssSFcnModelMethods2 *methods2 = ssGetModelMethods2(rts);
                    rt_FREE(methods2);
                }

                /* Destroy state auxilliary information */
                {
                    struct _ssStatesInfo2 *statesInfo2 = ssGetStatesInfo2(rts);
                    rt_FREE(statesInfo2);
                }

                {
                }

                rt_FREE(ssGetPortInfoForInputs(rts));
                rt_FREE(ssGetPortInfoForOutputs(rts));
            }
        }

        /* Level2 S-Function Block: '<S1>/Pwlinear' (sfunpwlinear) */
        {
            SimStruct *rts = ssGetSFunction(S, 1);
            if (rts != (NULL) ) {
                rt_FREE(ssGetSampleTimePtr(rts));
                rt_FREE(ssGetOffsetTimePtr(rts));
                rt_FREE(ssGetSampleTimeTaskIDPtr(rts));

#if defined(MATLAB_MEX_FILE)

                {
                    uint_T *attribs = ssGetSFcnParamAttribsPtr(rts);
                    mxFree(attribs);
                }

#endif

#if defined(MATLAB_MEX_FILE)

                {
                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 0));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 1));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 2));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 3));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 4));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 5));
                    }

                    {
                        mxDestroyArray(_ssGetSFcnParam(rts, 6));
                    }
                }

#endif

                {
                    mxArray **ptr = (mxArray **) ssGetSFcnParamsPtr(rts);
                    rt_FREE(ptr);
                }

                /* Destroy model methods 3 */
                {
                    struct _ssSFcnModelMethods3 *methods3 = ssGetModelMethods3(rts);
                    rt_FREE(methods3);
                }

                /* Destroy model methods 2 */
                {
                    struct _ssSFcnModelMethods2 *methods2 = ssGetModelMethods2(rts);
                    rt_FREE(methods2);
                }

                /* Destroy state auxilliary information */
                {
                    struct _ssStatesInfo2 *statesInfo2 = ssGetStatesInfo2(rts);
                    rt_FREE(statesInfo2);
                }

                {
                }

                rt_FREE(ssGetPortInfoForInputs(rts));
                rt_FREE(ssGetPortInfoForOutputs(rts));
            }
        }

        rt_FREE(ssGetSFunction(S, 0))
        rt_FREE(_ssGetSFunctions(S));
    }

    if (ssGetUserData(S) != (NULL) ) {
        rt_FREE(ssGetLocalBlockIO(S));
    }

    rt_FREE(ssGetUserData(S));

#endif

}