Main Content

setState

Configure block states for code and calibration file (a2l) generation

Since R2020b

    Description

    setState(myCodeMappingObj,block,Name,Value) configures specified block states for code and calibration file (a2l) generation. Use this function to map specified block states to the storage class and storage class property settings that the code generator uses to produce C code. Or, set the calibration access for the for the states.

    example

    Examples

    collapse all

    In the model code mappings for model ConfigurationRapidPrototypingInterface, set the storage class for the state X of Unit Delay block Delay to ExportedGlobal.

    openExample("ConfigurationRapidPrototypingInterface");
    cm = coder.mapping.api.get("ConfigurationRapidPrototypingInterface");
    setState(cm,"ConfigurationRapidPrototypingInterface/Delay",StorageClass="ExportedGlobal");
    

    In the model code mappings for model ConfigurationRapidPrototypingInterface, configure the storage class for block states throughout the model to Model default.

    openExample("ConfigurationRapidPrototypingInterface");
    cm = coder.mapping.api.get("ConfigurationRapidPrototypingInterface");
    blockHandles = find(cm,"States");
    setState(cm,blockHandles,StorageClass="Model default");
    

    In the model code mappings for model ConfigurationRapidPrototypingInterface, configure the code identifier for the state X of Unit Delay block Delay to dstate_X.

    openExample("ConfigurationRapidPrototypingInterface");
    cm = coder.mapping.api.get("ConfigurationRapidPrototypingInterface");
    blockHandles = find(cm,"States");
    setState(cm,blockHandles,StorageClass="Model default");
    setState(cm,blockHandles,Identifier="dstate_X");
    

    From the model code mappings for model ConfigurationRapidPrototypingInterface, set the calibration properties configured for state X of Unit Delay block Delay.

    openExample("ConfigurationRapidPrototypingInterface");
    cm = coder.mapping.api.get("ConfigurationRapidPrototypingInterface");
    state = find(cm,"State");
    setState(cm,state,Export=true);
    setState(cm,state,CalibrationAccess="Calibration");
    setState(cm,state,CompuMethod="CM_state");
    setState(cm,state,DisplayIdentifier="state_X");
    setState(cm,state,Format="%4.2");
    

    Input Arguments

    collapse all

    Code mapping object (model code mappings) returned by a call to function coder.mapping.api.get.

    Example: myCM

    Path or handle of the block containing the state to configure. To specify multiple block states, use a cell array.

    Example: blockHandle

    Data Types: char | string | block_handle | cell

    Name-Value Arguments

    Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

    Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

    Example: StorageClass="ExportedGlobal"

    Storage class to set for the specified block state. The name of a predefined storage class or storage class that is defined in the Embedded Coder Dictionary associated with the model. See Configure Block States for C Code Generation.

    Name for the variable that represents the block state in the generated code.

    Data Types: char | string

    File name for a C source file that contains definitions for global data read by data elements and external code. Applies to storage classes ExportToFile and Volatile.

    Data Types: char | string

    Name of a get function that a data element calls in the generated code. Applies to storage class GetSet.

    Data Types: char | string

    File name for a C header file that contains declarations for global data read by data elements and external code. Applies to storage classes ExportToFile, GetSet, ImportFromFile, and Volatile.

    Data Types: char | string

    Name of the model that owns global data used by other models in the same model hierarchy. The code generated for the model that owns the data includes the global data definition. Applies to storage classes ExportToFile and Volatile.

    Data Types: char | string

    When model configuration parameter Array layout is set to Row-major, a flag that indicates whether to preserve dimensions of a data element represented in generated code as a multidimensional array. Applies to storage classes ExportToFile, GetSet, ImportFromFile, Localizable, and Volatile.

    Data Types: logical

    Name of a set function that a data element calls in the generated code. Applies to storage class GetSet.

    Data Types: char | string

    Name that the code generator uses to identify the structure for a data element in the generated code. Applies to storage classes Bitfield and Struct.

    Data Types: char | string

    Storage class property defined in the Embedded Coder Dictionary. Values that you can specify vary depending on the storage class definition.

    Enable this property to generate the block state to calibration file (a2l).

    Mask value in hexadecimal format to extract single bits from the block state during calibration. This property is applicable only for integers.

    Data Types: hexadecimal

    Select Calibration for the block state to enable the calibration. Select NoCalibration to view the value of the block state and disable the calibration.

    Name of the method for converting the ECU-internal value to a physical value for easy readability.

    Data Types: char | string

    Optional display name of the block state for the measurement purpose in the calibration tool, which is different than the block state name in the Simulink model.

    Data Types: char | string

    Special display format to be specified for measurement in the calibration tool. This format specification overrules the display format specified in CompuMethod of the state.

    String or character vector containing the name of a measurement service interface defined in the Embedded Coder Dictionary. By configuring the measurement service interface for signals, states, and data stores, you can preserve the data in the generated code for measurement. To use the dictionary default, specify "Dictionary default". If data from the state does not need to be preserved in the code, specify "Not measured".

    To configure the measurement service interface, you must attach an Embedded Coder Dictionary that defines a service interface configuration to the model. For more information, see Configure Measurement Service Interfaces for Signals, States, and Data Stores.

    Data Types: char | string

    Version History

    Introduced in R2020b