Set the data type of an output port
DTypeId ssSetOutputPortDataType(SimStruct *S, int_T port, DTypeId id)
S
SimStruct representing an S-Function block.
port
Index of an output port.
id
ID of the data type accepted by port
.
The data type ID specified by id
. Returns -1
if id
is DYNAMICALLY_TYPED
.
Use this function in mdlInitializeSizes
to set the data type of
the output port specified by port
. If the output port's data type
is determined dynamically, for example, from the data type of a block parameter, set
the data type to DYNAMICALLY_TYPED
. In this case, the S-function
must provide mdlSetOutputPortDataType
and
mdlSetDefaultPortDataTypes
methods to enable the data type to be set correctly during signal
propagation.
For a list of built-in data types, see ssGetInputPortDataType
.
Note
The data type of an output port is double
(real_T
) by default.
C, C++
Suppose that you want to create an S-function with two output ports, the first of
which gets its data type from a block parameter and the second of which outputs
signals of type int16_T
. The following code sets up the data
types.
ssSetOutputPortDataType(S, 0, DYNAMICALLY_TYPED) ssSetOutputPortDataType(S, 1, SS_INT16)
See the S-function sfun_dtype_io.c
used in sfcndemo_dtype_io
and the S-function sdotproduct.c
used in sfcndemo_sdotproduct
for complete examples that use this
function.