ssGetInputPortRealSignal
Get the address of a real, contiguous signal entering an input port
Syntax
const real_T *ssGetInputPortRealSignal(SimStruct *S, int_T inputPortIdx)
Arguments
SSimStruct that represents an S-Function block.
inputPortIdxIndex 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