| Contents | Index |
const real_T *ssGetInputPortRealSignal(SimStruct *S, int_T inputPortIdx)
A pointer (real_T *) to a real signal on the input port specified by the index inputPortIdx.
Use to obtain the real signal on a particular input port. A method should use this macro only if the input signal is known to be real and mdlInitializeSizes has specified that the elements of the input signal be contiguous, using ssSetInputPortRequiredContiguous.
Note The ssGetInputPortRealSignal macro becomes a function when you compile your S-function in debug mode (mex -g). |
C, C++
The following code demonstrates the use of ssGetInputPortRealSignal.
Set flags to require that the input ports be contiguous:
void mdlInitializeSizes(SimStruct* S) {
int_T i;
/* snip */
if (!ssSetNumInputPorts(S,2)) return;
for (i = 0; i < 2; i++) {
/* snip */
ssSetInputPortDirectFeedThrough(S,i,1);
ssSetInputPortRequiredContiguous(S,i,1);
}
/* snip */
}
You can now use ssGetInputPortRealSignal in mdlOutputs:
void mdlOutputs(SimStruct* S, int_T tid) {
int_T i;
/* snip */
for (i = 0; i < 2; i++) {
int_T nu = ssGetInputPortWidth(S,i);
const real_T* u = ssGetInputPortRealSignal(S,i);
UseInputVectorInSomeFunction(u, nu);
}
/* snip */
}
See the S-function sfun_frmdft.c used in sfcndemo_frame.mdl for a complete example using this function. Running this model requires a DSP System Toolbox license.
ssSetInputPortRequiredContiguous, ssGetInputPortSignal, mdlInitializeSizes

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |