Main Content

coder.asap2.Function

Create function object

Since R2022b

    Description

    example

    userFunction = coder.asap2.Function creates a function object. You can use the object to define new function description and export it to an ASAP2 file.

    Examples

    collapse all

    This example shows how to add a custom function to the ASAP2 file.

    Create ECU Description Object

    Open a model, build, and create ECU description object.

    open_system("ASAP2Demo")
    rtwbuild("ASAP2Demo")
    ### Starting serial model reference code generation build.
    ### Successfully updated the model reference code generation target for: ASAP2DemoModelRef
    ### Starting build procedure for: ASAP2Demo
    ### Successful completion of build procedure for: ASAP2Demo
    
    Build Summary
    
    Code generation targets built:
    
    Model              Action                        Rebuild Reason                       
    ======================================================================================
    ASAP2DemoModelRef  Code generated and compiled.  ASAP2DemoModelRef.c does not exist.  
    
    Top model targets built:
    
    Model      Action                        Rebuild Reason                                    
    ===========================================================================================
    ASAP2Demo  Code generated and compiled.  Code generation information file does not exist.  
    
    2 of 2 models built (0 models already up to date)
    Build duration: 0h 0m 45.218s
    
    descObj=coder.asap2.getEcuDescriptions("ASAP2Demo")
    descObj = 
      Data with no properties.
    
    

    Create Custom Function

    Create a function object template and add the necessary fields.

    userFunction = coder.asap2.Function
    userFunction = 
      Function with properties:
    
                      Name: "undefined"
           FunctionVersion: [1x0 char]
            LongIdentifier: [1x0 char]
                Annotation: [1x0 char]
            InMeasurements: [1x0 string]
           OutMeasurements: [1x0 string]
           LocMeasurements: [1x0 string]
        DefCharacteristics: [1x0 string]
        RefCharacteristics: [1x0 string]
              SubFunctions: [1x0 string]
    
    
    userFunction.Name = 'Custom_Function1'
    userFunction = 
      Function with properties:
    
                      Name: 'Custom_Function1'
           FunctionVersion: [1x0 char]
            LongIdentifier: [1x0 char]
                Annotation: [1x0 char]
            InMeasurements: [1x0 string]
           OutMeasurements: [1x0 string]
           LocMeasurements: [1x0 string]
        DefCharacteristics: [1x0 string]
        RefCharacteristics: [1x0 string]
              SubFunctions: [1x0 string]
    
    
    userFunction.LongIdentifier = 'Custom Function by user'
    userFunction = 
      Function with properties:
    
                      Name: 'Custom_Function1'
           FunctionVersion: [1x0 char]
            LongIdentifier: 'Custom Function by user'
                Annotation: [1x0 char]
            InMeasurements: [1x0 string]
           OutMeasurements: [1x0 string]
           LocMeasurements: [1x0 string]
        DefCharacteristics: [1x0 string]
        RefCharacteristics: [1x0 string]
              SubFunctions: [1x0 string]
    
    

    Export the Function to ASAP2 File

    Add the function to ECU description object and generate ASAP2 file using the description object.

    add(descObj,userFunction)
    coder.asap2.export("ASAP2Demo",CustomEcuDescriptions=descObj)
    Following Characteristics or Measurements with unsupported data types are not exported in ASAP2 file. "ASAP2Demo_DW.ASAP2DemoModelRef_InstanceData"
    

    Output Arguments

    collapse all

    Function object, specified as a coder.asap2.Function object. Use the object to add required information to an ASAP2 file.

    Example: Custom_Function = coder.asap2.Function

    Tips

    This table shows the fields of the Function object.

    ElementDescription
    NameName of the function
    LongIdentifierDescription or comment
    FunctionVersionVersion of the function
    AnnotationSet of notes represented as multi-line ASCII description texts
    InMeasurementsArray of input measurements
    OutMeasurementsArray of output measurements
    LocMeasurementsArray of local measurements
    DefCharacteristicsArray of defined characteristics
    RefCharacteristicsArray of referenced characteristics
    SubFunctionsArray of sub functions

    Version History

    Introduced in R2022b