coder.asap2.Function - Create function object - MATLAB (original) (raw)

Main Content

Create function object

Since R2022b

Description

Create a function object to define function description and export it to an ASAP2 file.

Creation

`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.

Properties

expand all

Specify a name for the function.

Example: "CustomFunction_1"

Specify comments and description for the custom function.

Example: "Description of the function"

Specify the version for the custom function.

Example: "Custom_Function_version"

Set of notes represented as multi-line ASCII description texts.

Example: "Custom_Function_Annotation"

Specify array of input measurements.

Example: ["measurement1","measurement2"]

Specify array of output measurements.

Example: ["measurement1","measurement2"]

Specify array of local measurements.

Example: ["measurement1","measurement2"]

Specify array of defined characteristics.

Example: ["characteristic1","characteristic2"]

Specify array of referenced characteristics.

Example: ["characteristic1","characteristic2"]

Specify array of sub functions.

Example: ["function1","function2"]

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") slbuild("ASAP2Demo")

Searching for referenced models in model 'ASAP2Demo'.

Total of 2 models to build.

Starting serial 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

Model reference code generation targets:

Model Build Reason Status Build Duration

ASAP2DemoModelRef Target (ASAP2DemoModelRef.c) did not exist. Code generated and compiled. 0h 0m 21.673s

Top model targets:

Model Build Reason Status Build Duration

ASAP2Demo Information cache folder or artifacts were missing. Code generated and compiled. 0h 0m 23.009s

2 of 2 models built (0 models already up to date) Build duration: 0h 0m 47.349s

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: [1×0 char]
    LongIdentifier: [1×0 char]
        Annotation: [1×0 char]
    InMeasurements: [1×0 string]
   OutMeasurements: [1×0 string]
   LocMeasurements: [1×0 string]
DefCharacteristics: [1×0 string]
RefCharacteristics: [1×0 string]
      SubFunctions: [1×0 string]

userFunction.Name = 'Custom_Function1'

userFunction = Function with properties:

              Name: 'Custom_Function1'
   FunctionVersion: [1×0 char]
    LongIdentifier: [1×0 char]
        Annotation: [1×0 char]
    InMeasurements: [1×0 string]
   OutMeasurements: [1×0 string]
   LocMeasurements: [1×0 string]
DefCharacteristics: [1×0 string]
RefCharacteristics: [1×0 string]
      SubFunctions: [1×0 string]

userFunction.LongIdentifier = 'Custom Function by user'

userFunction = Function with properties:

              Name: 'Custom_Function1'
   FunctionVersion: [1×0 char]
    LongIdentifier: 'Custom Function by user'
        Annotation: [1×0 char]
    InMeasurements: [1×0 string]
   OutMeasurements: [1×0 string]
   LocMeasurements: [1×0 string]
DefCharacteristics: [1×0 string]
RefCharacteristics: [1×0 string]
      SubFunctions: [1×0 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"

Version History

Introduced in R2022b