ssWriteRTWParameters

Write tunable parameter information to the model.rtw file

Syntax

int_T ssWriteRTWParameters(SimStruct *S,  int_T nParams, int_T
  paramType, const char_T *paramName, const char_T *stringInfo,
  ...)

Arguments

S

SimStruct representing an S-Function block.

nParams

Number of tunable parameters.

paramType

Type of parameter (see Parameter Type-Specific Arguments).

paramName

Name of the parameter.

stringInfo

General information about the parameter, such as how it was derived.

...

Remaining arguments depend on the parameter type (see Parameter Type-Specific Arguments).

Returns

An int_T (1 or 0) or boolean_T (true or false) indicating the success or failure of the function.

Description

Use this function in mdlRTW to write tunable parameter information to this S-function's model.rtw file. Your S-function must write the parameters out in the same order as they are declared at the beginning of the S-function.

    Note   This function is provided for compatibility with S-functions that do not use run-time parameters and will be deprecated in future releases. It is suggested that you use run-time parameters (see Run-Time Parameters). If you do use run-time parameters, you do not need to use this function.

Parameter Type-Specific Arguments

This section lists the parameter-specific arguments required by each parameter type.

  • SSWRITE_VALUE_VECT (vector parameter)

    ArgumentDescription
    const real_T *valueVectPointer to an array of vector values
    int_T vectLenLength of the vector

  • SSWRITE_VALUE_2DMAT (matrix parameter)

    ArgumentDescription
    const real_T *valueMatPointer to an array of matrix elements
    int_T nRowsNumber of rows in the matrix
    int_T nColsNumber of columns in the matrix

  • SSWRITE_VALUE_DTYPE_2DMAT

    ArgumentDescription
    const real_T *valueMatPointer to an array of matrix elements
    int_T nRowsNumber of rows in the matrix
    int_T nColsNumber of columns in the matrix
    int_T dtInfoData type of matrix elements (see Specifying Data Type Info)

  • SSWRITE_VALUE_DTYPE_ML_VECT

    ArgumentDescription
    const void *rValueVectReal component of the complex vector
    const void *iValueVectImaginary component of the complex vector
    int_T vectLenLength of the vector
    int_T dtInfoData type of the vector (see Specifying Data Type Info)

  • SSWRITE_VALUE_DTYPE_ML_2DMAT

    ArgumentDescription
    const void *rValueMatX
    const void *iValueMatImaginary component of the complex matrix
    int_T nRowsNumber of rows in the matrix
    int_T nColsNumber of columns in the matrix
    int_T dtInfoData type of matrix

Specifying Data Type Info

You obtain the data type of the value argument passed to the ssWriteRTW macros using

DTINFO(dTypeId, isComplex)

where dTypeId can be any one of the enum values in DTypeID (SS_DOUBLE, SS_SINGLE, SS_INT8, SS_UINT8, SS_INT16, SS_UINT16, SS_INT32, SS_UINT32, SS_BOOLEAN) defined in simstuc_types.h. The isComplex argument is either 0 or 1.

For example, DTINFO(SS_INT32,0) is a noncomplex 32-bit signed integer.

If isComplex==1, the array of values is assumed to have the real and imaginary parts arranged in an interleaved manner (i.e., Simulink® format). If you prefer to pass the real and imaginary parts as two separate arrays, you should use the macro ssWriteRTWMxVectParam or ssWriteRTWMx2dMatParam.

Languages

C, C++

See Also

mdlRTW

Was this topic helpful?