/* Function: mdlInitializeSampleTimes ========================================= * Abstract: * This function is used to specify the sample time(s) for your * S-function. You must register the same number of sample times as * specified in ssSetNumSampleTimes. */ static void mdlInitializeSampleTimes(SimStruct *S) { ssSetSampleTime(S, 0, SAMPLE_TIME_0); ssSetModelReferenceSampleTimeDefaultInheritance(S); ssSetOffsetTime(S, 0, 0.0); }
/* Function: mdlInitializeSampleTimes ========================================= * Abstract: * This function is used to specify the sample time(s) for your * S-function. You must register the same number of sample times as * specified in ssSetNumSampleTimes. */ static void mdlInitializeSampleTimes(SimStruct *S) { #ifdef VARIABLE_STEP /* * For Fortran code with either no states at * all or with continuous states that you want * to support with variable time steps, use * a sample time like this: */ ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME); ssSetOffsetTime(S, 0, 0.0); #else /* * If the Fortran code implicitly steps time * at a fixed rate and you don't want to change * the code, you need to use a discrete (fixed * step) sample time, 1 second is chosen below. */ ssSetSampleTime(S, 0, 0.01); /* Choose the sample time here if discrete */ ssSetOffsetTime(S, 0, 0.0); #endif ssSetModelReferenceSampleTimeDefaultInheritance(S); }
/* Function: mdlInitializeSampleTimes ========================================= * Abstract: * S-function is comprised of only continuous sample time elements */ static void mdlInitializeSampleTimes(SimStruct *S) { /* fixed sample time passed from options */ ssSetSampleTime(S, 0, TS(S)); ssSetOffsetTime(S, 0, 0.0); ssSetModelReferenceSampleTimeDefaultInheritance(S); }
static void mdlInitializeSampleTimes(SimStruct *S) { ssSetSampleTime(S, 0, *mxGetPr(paramSampleTime)); ssSetOffsetTime(S, 0, 0.0); ssSetCallSystemOutput(S,0); /* call on first element */ ssSetModelReferenceSampleTimeDefaultInheritance(S); }
/* Function: mdlInitializeSampleTimes ========================================= * Abstract: */ static void mdlInitializeSampleTimes(SimStruct *S) { /* Register one pair for each sample time */ ssSetSampleTime(S, 0, INHERITED_SAMPLE_TIME); ssSetOffsetTime(S, 0, 0.0); ssSetModelReferenceSampleTimeDefaultInheritance(S); } /* end mdlInitializeSampleTimes */
// Function: mdlInitializeSampleTimes ========================================= // Abstract: // This function is used to specify the sample time(s) for your // S-function. You must register the same number of sample times as // specified in ssSetNumSampleTimes. static void mdlInitializeSampleTimes(SimStruct *S) { // The sampling time of this SFunction must be inherited so that the Soft Real Time sblock can be used. ssSetSampleTime(S, 0, INHERITED_SAMPLE_TIME); // ssSetSampleTime(S, 0, 10.0); ssSetOffsetTime(S, 0, 0.0); ssSetModelReferenceSampleTimeDefaultInheritance(S); }
/* Function: mdlInitializeSampleTimes ===================================== * Abstract: * This function is used to specify the sample time(s) for your * S-function. You must register the same number of sample times as * specified in ssSetNumSampleTimes. */ static void mdlInitializeSampleTimes(SimStruct *S) { ssSetSampleTime(S, 0, INHERITED_SAMPLE_TIME); ssSetOffsetTime(S, 0, FIXED_IN_MINOR_STEP_OFFSET); #if defined(ssSetModelReferenceSampleTimeDefaultInheritance) ssSetModelReferenceSampleTimeDefaultInheritance(S); #endif }
/* Function: mdlInitializeSampleTimes ========================================= * Abstract: * Specifiy that we have a continuous sample time. */ static void mdlInitializeSampleTimes(SimStruct *S) { real_T time; // get sample time from parameters time = SAMPLE_TIME(S); if (time == -1) { ssSetSampleTime(S, 0, INHERITED_SAMPLE_TIME); ssSetModelReferenceSampleTimeDefaultInheritance(S); } else ssSetSampleTime(S, 0, time); ssSetOffsetTime(S, 0, 0.0); }
/* Function: mdlInitializeSampleTimes ========================================= * Abstract: * Port based sample times have already been configured, therefore this * method doesn't need to perform any action (you can check the * current port sample times). */ static void mdlInitializeSampleTimes(SimStruct *S) { #if 0 /* set to 1 to see port sample times */ const char_T *bpath = ssGetPath(S); int_T i; for (i = 0; i < NINPUTS; i++) { ssPrintf("%s input port %d sample time = [%g, %g]\n", bpath, i, ssGetInputPortSampleTime(S,i), ssGetInputPortOffsetTime(S,i)); } for (i = 0; i < NOUTPUTS; i++) { ssPrintf("%s output port %d sample time = [%g, %g]\n", bpath, i, ssGetOutputPortSampleTime(S,i), ssGetOutputPortOffsetTime(S,i)); } #endif ssSetModelReferenceSampleTimeDefaultInheritance(S); } /* end mdlInitializeSampleTimes */
/* Function: mdlInitializeSampleTimes ========================================= * Abstract: * This function is used to specify the sample time(s) for your * S-function. You must register the same number of sample times as * specified in ssSetNumSampleTimes. */ static void mdlInitializeSampleTimes(SimStruct *S) { ssSetSampleTime(S, 0, mxGetScalar(ssGetSFcnParam(S, 0))); ssSetOffsetTime(S, 0, 0.0); ssSetModelReferenceSampleTimeDefaultInheritance(S); }
static void mdlInitializeSampleTimes(SimStruct *S) { ssSetSampleTime(S, 0, *mxGetPr(paramSampleTime)); ssSetOffsetTime(S, 0, 0.0); ssSetModelReferenceSampleTimeDefaultInheritance(S); }