ssSetSupportedForCodeReuseAcrossModels
Specify if S-function can be reused across models
Since R2021a
Syntax
void ssSetSupportedForCodeReuseAcrossModels(SimStruct *S, int_T val)
Arguments
SSimStruct that represents an S-Function block.
valEither an
int_T (1 or 0)orboolean_T (true or false)value.
Description
Use this function in mdlInitializeSizes method to specify
whether you can reuse the S-function inside a reusable library subsystem across the
model reference hierarchy.
You must set the SS_OPTION_WORKS_WITH_CODE_REUSE flag to
true in the ssSetOptions
function.
Configure the S-function for code reuse across models only if the S-function does
not access any model-specific data structures. The generated code in
_sharedutils folder is compiled separately than the generated
code in model_ert_rtw folder. The reusable
library subsystem code generated in the _sharedutils folder does
not have access to types and macros that are declared in
model.h. The reusable library
subsystem code must be independent.
Languages
C, C++
Examples
static void mdlInitializeSizes(SimStruct *S)
{
ssSetOptions(S,
SS_OPTION_WORKS_WITH_CODE_REUSE |
SS_OPTION_EXCEPTION_FREE_CODE |
SS_OPTION_DISALLOW_CONSTANT_SAMPLE_TIME);
ssSetSupportedForCodeReuseAcrossModels(S, 1);
}See Also
ssSetModelReferenceSampleTimeInheritanceRule, ssSetModelReferenceSampleTimeDisallowInheritance, ssSetModelReferenceSampleTimeDefaultInheritance
Related Topics
S-Functions for Code Reuse (Simulink Coder)
Version History
Introduced in R2021a