Skip to Main Content Skip to Search
Product Documentation

ssGetInputPortSignal - Get the address of a contiguous signal entering an input port

Syntax

const void *ssGetInputPortSignal(SimStruct *S, int_T inputPortIdx)

Arguments

S

SimStruct representing an S-Function block.

inputPortIdx

Index of the port whose address is required.

Returns

A pointer (void *) to the input port specified by the index inputPortIdx.

Description

Use to get the address of a contiguous signal entering an input port. Your S-function should use this macro only if mdlInitializeSizes has specified that the elements of the input signal be contiguous, using ssSetInputPortRequiredContiguous. For noncontiguous input, use the ssGetInputPortSignalPtrs function.

Languages

C, C++

Example

The following code demonstrates the use of ssGetInputPortSignal.

nInputPorts = ssGetNumInputPorts(S);
	for (i = 0; i < nInputPorts; i++) {
		int_T nu = ssGetInputPortWidth(S,i);

	if ( ssGetInputPortRequiredContiguous(S,i) ) {
  
		const void *u = ssGetInputPortSignal(S,i);
		UseInputVectorInSomeFunction(u, nu);

		} else {

		InputPtrsType u  = ssGetInputPortSignalPtrs(S,i);
			for (j = 0; j < nu; j++) {
			UseInputInSomeFunction(*u[j]);
			}
		}
	}

If you know that the inputs are always real_T signals, the ssGetInputPortSignal line in the above code snippet would be

const real_T *u = ssGetInputPortRealSignal(S,i);

See Also

ssSetInputPortRequiredContiguous, ssGetInputPortRealSignal, ssGetInputPortSignalPtrs

  


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