Main Content

setFunction

Set code mapping information for model function

    Description

    example

    setFunction(myCPPMappingObj,function,Name,Value) sets code mapping information for the specified model function. Use this function to set the method name for a model function. For single-tasking periodic functions and Simulink® functions, you can use this function to set the argument specification, including argument names, type qualifiers, and argument order.

    Examples

    collapse all

    Open the model. To access the CodeMappingCPP object associated with the model, use the coder.mapping.api.get function.

    open_system('rtwdemo_cppclass');
    cm = coder.mapping.api.get('rtwdemo_cppclass');

    To access the method name of the initialize function for the model, use the getFunction function. If you did not specify a method name for the initialize function, the getFunction function returns an empty character vector, and the method name in the generated code uses the default method name.

    value = getFunction(cm, 'Initialize', 'MethodName')
    value =
    
      0×0 empty char array

    Specify a method name for the initialize function by using the setFunction function.

    setFunction(cm, 'Initialize', 'MethodName', 'my_$N')
    

    The getFunction function now returns the specified method name.

    value = getFunction(cm, 'Initialize', 'MethodName')
    value =
    
        'my_$N'

    Input Arguments

    collapse all

    C++ code mapping object, returned by a call to either the coder.mapping.utils.create function or the coder.mapping.api.get function.

    Model function for which to set code mapping property value. Specify one of the values listed in this table.

    Type of Model FunctionValue
    Exported functionExportedFunction:slIdentifier, where slIdentifier is the name of the function-call Inport block in the model
    Initialize functionInitialize
    Partition functionPartition:slIdentifier, where slIdentifier is a partition that was created explicitly from a block in the model and shown in the Simulink Schedule Editor (for example, P1)
    Periodic multitasking functionPeriodic:slIdentifier, where slIdentifier is an annotation that corresponds to the sample time period for a periodic or continuous rate of a multi-tasking model (for example, D1)
    Periodic single-tasking functionPeriodic
    Reset functionReset:slIdentifier, where slIdentifier is the name of the reset function in the model
    Simulink functionSimulinkFunction:slIdentifier, where slIdentifier is the name of the Simulink function in the model
    Terminate functionTerminate

    For information about model partitioning, see Create Partitions.

    Example: 'Periodic:D1'

    Name-Value Pair Arguments

    Example: 'MethodName', 'my_$N'

    Specify comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments as Name1,Value1,…,NameN,ValueN. The order of the name and value pair arguments does not matter.

    Name for the entry-point method in the generated C++ code, specified as a character vector or string scalar.

    Data Types: char | string

    Argument specification for the entry-point method in the generated C++ code, specified as a character vector or string scalar. The specification is a method prototype that shows argument names, type qualifiers, and argument order, for example, 'y =(u1, const *u2)' .

    For an entry-point method that does not return a value, do not include an output argument in the prototype specification. For example,

    setFunction(cm, 'SimulinkFunction:f','Arguments','(u, *y)');

    When the model function specified is a periodic function, you can also customize parameter names in the argument specification.

    setFunction(cm,'Periodic:D1','Arguments',...
    '(In1_1s & myParam1, In2_2s arg_In2_2s, * Out1 arg_Out1)');

    Data Types: char | string

    Introduced in R2021a