ssGetInputPortRealSignal
Get the address of a real, contiguous signal entering an input port
Syntax
const real_T *ssGetInputPortRealSignal(SimStruct *S, int_T inputPortIdx)
Arguments
S
SimStruct that represents an S-Function block.
inputPortIdx
Index of the port whose signal is required.
Returns
A pointer (real_T *
) to a real signal on the input port
specified by the index inputPortIdx
.
Description
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
).
Languages
C, C++
Examples
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
for a complete example using this function.
Running this model requires a DSP System Toolbox™ license.
Version History
Introduced before R2006a