Main Content

addSignal

Add block output signal to model code mappings

Since R2020b

    Description

    example

    addSignal(myCodeMappingObj,portHandle) adds signals specified by the block output port handles to the specified model code mappings.

    This function does not apply to signals that originate from root-level Inport blocks.

    example

    addSignal(myCodeMappingObj,portHandle,Name,Value) adds signals specified by the block output port handles to the model code mappings. It configures the storage class and values of storage class properties that the code generator uses to produce C code for the signal data. For models with an attached Embedded Coder Dictionary that defines a service interface configuration, you can also configure measurement interface properties.

    Examples

    collapse all

    For model myConfigModel, add the output signals of lookup table blocks Table1D and Table2D to the model code mappings. After creating the object cm by calling function coder.mapping.api.get, get handles to the output ports for lookup table blocks. Add the output signals to the code mappings with a call to addSignal.

    cm = coder.mapping.api.get('myConfigModel');
    lut1D_ports = get_param('myConfigModel/Table1D','PortHandles');
    lut2D_ports = get_param('myConfigModel/Table2D','PortHandles');
    lut1D_outPort = lut1D_ports.Outport;
    lut2D_outPort = lut2D_ports.Outport;
    addSignal(cm,[lut1D_outPort,lut2D_outPort]);
    

    For model myConfigModel, add the output signals of lookup table blocks Table1D and Table2D to the model code mappings. After creating the object cm by calling function coder.mapping.api.get, get handles to the output ports for lookup table blocks. Add the output signals to the code mappings and set the storage class for the signals to ExportedGlobal with a call to addSignal.

    cm = coder.mapping.api.get('myConfigModel');
    lut1D_ports = get_param('myConfigModel/Table1D','PortHandles');
    lut2D_ports = get_param('myConfigModel/Table2D','PortHandles');
    lut1D_outPort = lut1D_ports.Outport;
    lut2D_outPort = lut2D_ports.Outport;
    addSignal(cm,[lut1D_outPort,lut2D_outPort],'StorageClass','ExportedGlobal');
    

    Input Arguments

    collapse all

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

    Example: myCM

    Signal to add to the code mappings, specified as a handle of an output port of the source block of the signal. To specify multiple port handles, use an array.

    Example: portHandle

    Data Types: port_handle | array

    Name-Value Arguments

    Example: 'StorageClass' 'ExportedGlobal'

    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.

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

    Name for the variable that represents the signal data 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 that is used by other models in the same model hierarchy. The code generated for the owner model 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 that is 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.

    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, the Embedded Coder Dictionary that defines a service interface configuration must be attached 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