Main Content

setSignal

Configure block signal data for code and calibration file (a2l) generation

    Description

    example

    setSignal(myCodeMappingObj,portHandle,Name,Value) configures signals specified by block output ports for code and calibration file (a2l) generation. Use this function to map specified block output ports 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 corresponding signal data.

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

    Examples

    collapse all

    In the model code mappings for model rtwdemo_configrpinterface, set the storage class for output signals of lookup table blocks Table1 and Table2D to ExportedGlobal. After creating the object cm by calling function coder.mapping.api.get, get handles to the output ports for lookup table blocks. Set the storage class for the output signals by calling setSignal.

    open_system('rtwdemo_configrpinterface');
    cm = coder.mapping.api.get('rtwdemo_configrpinterface');
    lut1_ports = get_param('rtwdemo_configrpinterface/Table1','PortHandles');
    lut2_ports = get_param('rtwdemo_configrpinterface/Table2','PortHandles');
    lut1_outPort = lut1_ports.Outport;
    lut2_outPort = lut2_ports.Outport;
    addSignal(cm,[lut1_outPort,lut2_outPort]);
    setSignal(cm,[lut1_outPort,lut2_outPort],'StorageClass','ExportedGlobal');
    

    In the model code mappings for model rtwdemo_configrpinterface, set the storage class for block output signals to Model default. After creating the object cm by calling function coder.mapping.api.get, get the port handles of the signal data in the code mappings. Set the storage class for the signals by calling setSignal.

    open_system('rtwdemo_configrpinterface');
    cm = coder.mapping.api.get('rtwdemo_configrpinterface');
    portHandles = find(cm,'Signals')
    setSignal(cm,portHandles,'StorageClass','Model default');
    

    In the model code mappings for model rtwdemo_configrpinterface, set the code identifiers for output signals of lookup table blocks Table1 and Table2 to dout_Table1 and dout_Table2. After creating the object cm by calling function coder.mapping.api.get, get handles to the output ports for lookup table blocks. Set the code identifiers for the output signals by calling setSignal.

    open_system('rtwdemo_configrpinterface');
    cm = coder.mapping.api.get('rtwdemo_configrpinterface');
    lut1_ports = get_param('rtwdemo_configrpinterface/Table1','PortHandles');
    lut2_ports = get_param('rtwdemo_configrpinterface/Table2','PortHandles');
    lut1_outPort = lut1_ports.Outport;
    lut2_outPort = lut2_ports.Outport;
    addSignal(cm,[lut1_outPort,lut2_outPort]);
    setSignal(cm,lut1_outPort,'Identifier','dout_Table1D');
    setSignal(cm,lut2_outPort,'Identifier','dout_Table2D');
    

    In the model code mappings for model rtwdemo_configrpinterface, configure the calibration properties for signal Signal_1.

    open_system('rtwdemo_configrpinterface');
    cm = coder.mapping.api.get('rtwdemo_configrpinterface');
    lut1_ports = get_param('rtwdemo_configrpinterface/Table1','PortHandles');
    lut1_outPort = lut1_ports.Outport;
    addSignal(cm,lut1_outPort);
    Signal_1 = find(cm,'Signal');
    setSignal(cm,Signal_1,'Export',true);
    setSignal(cm,Signal_1,'CalibrationAccess','NoCalibration');
    setSignal(cm,Signal_1,'CompuMethod','CM_Signal_1');
    setSignal(cm,Signal_1,'DisplayIdentifier','Signal_display_name');
    setSignal(cm,Signal_1,'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

    Signal to add to the code mappings, specified as a handle of an output port of the signal's source block. 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 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

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

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

    Data Types: hexadecimal

    Select Calibration for the signal to enable the calibration. Select NoCalibration to view the value of the signal 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 signal for the measurement purpose in the calibration tool, which is different than the signal 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 signal.

    Introduced in R2020b