Skip to Main Content Skip to Search
Product Documentation

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 representing 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.

Languages

C, C++

Example

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.

See Also

ssSetInputPortRequiredContiguous, ssGetInputPortSignal, mdlInitializeSizes

  


Related Products & Applications

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