Main Content

getDictionaryDefault

Class: coder.Dictionary
Namespace: coder

Return default service for service interface section or default property value for data interface category

Since R2023b

Description

example

defaultEntry = getDictionaryDefault(serviceDict,sectionName) returns the default entry of the service interface section sectionName in the service interfaces coder dictionary serviceDict.

example

defaultPropVal = getDictionaryDefault(dataDict,categoryName,propName) returns the default value of the property propName of the category categoryName in the data interfaces coder dictionary dataDict.

Input Arguments

expand all

Embedded Coder® Dictionary that contains a service interface configuration, specified as a coder.Dictionary object.

Service interface section name, specified as a string scalar or character vector that corresponds to a section of the service interface definitions in the dictionary. Sections include:

  • "DataReceiverInterfaces"

  • "DataSenderInterfaces"

  • "DataTransferInterfaces"

  • "InitTermFunctions"

  • "MeasurementInterfaces"

  • "ParameterArgumentTuningInterfaces"

  • "ParameterTuningInterfaces"

  • "PeriodicAperiodicFunctions"

  • "SharedUtilityFunctions"

  • "SubcomponentInitTermFunctions"

  • "SubcomponentPeriodicAperiodicFunctions"

  • "TimerInterfaces"

Embedded Coder Dictionary that contains a data interface configuration, specified as a coder.Dictionary object.

Data interface category name, specified as a string scalar or character vector that corresponds to a category in one of the category groups in the dictionary, Function Defaults and Data Defaults.

Function Defaults categories are:

  • "InitializeTerminate"

  • "Execution"

  • "SharedUtility"

Data Defaults categories are:

  • "Inports"

  • "Outports"

  • "ModelParameters"

  • "ModelParameterArguments"

  • "ExternalParameters"

  • "SharedLocalDataStores"

  • "GlobalDataStores"

  • "InternalData"

  • "Constants"

Name of category property for which to retrieve the dictionary default value, specified as a string scalar or character vector. The list of available properties to use with this method depends on the category type and its specific configuration.

For categories within Function Defaults, the FunctionCustomizationTemplate property is available for use with this method. When the FunctionCustomizationTemplate is set to Default, an additional property, MemorySection, becomes available for use with this method for these categories.

Data Defaults categories have the StorageClass property available for use with this method. The set of available properties is dynamic and varies based on the assigned value of the StorageClass property. For example, when the StorageClass property is assigned the value ExportToFile, which is allowed for certain categories, these additional properties become available for use with this method:

  • "HeaderFile"

  • "DefinitionFile"

  • "Owner"

  • "PreserveDimensions"

To learn more about storage classes and their properties, see Choose Storage Class for Controlling Data Representation in Generated Code.

Output Arguments

expand all

Default entry for the specified service interface section, returned as a coder.dictionary.Entry object.

Default property value, returned as a character vector.

Examples

expand all

Create a Simulink data dictionary that contains an Embedded Coder Dictionary. Create the Embedded Coder Dictionary so that it represents a service interface configuration.

dictionaryFile = Simulink.data.dictionary.create("codeDefinitions.sldd");
codeDictionary = coder.dictionary.create("codeDefinitions.sldd","ServiceInterface");

Get the default measurement interface entry.

meas = getDictionaryDefault(codeDictionary,"MeasurementInterfaces")
meas = 

  Entry with properties:

            Name: 'MeasurementExample1'
      DataSource: 'C:\work\serviceDefinitions.sldd'
    StorageClass: 'MeasurementStruct'

For this example, the default measurement interface is MeasurementExample1.

Create a Simulink® data dictionary, then create the Embedded Coder Dictionary to represent a data interface configuration.

dictFileName = "dataDict.sldd";
dataDict = Simulink.data.dictionary.create(dictFileName);
coderDataDict = coder.dictionary.create(dataDict,"DataInterface");

Use the getDictionaryDefault method to see the default StorageClass of the Outports category.

getDictionaryDefault(coderDataDict,"Outports","StorageClass")
ans = 
'Default'

Set the default StorageClass of the Outports category to GetSet. Then specify GetFunction (the naming rule of the get function) as get_outports_$N and specify SetFunction (the naming rule of the set function) as set_outports_$N.

setDictionaryDefault(coderDataDict,"Outports","StorageClass","GetSet")
setDictionaryDefault(coderDataDict,"Outports","GetFunction","get_outports_$N")
setDictionaryDefault(coderDataDict,"Outports","SetFunction","set_outports_$N")

Discard and close the dictionary, then delete the dictionary file. This allows you to run this example more than once without getting an error while attempting to create the dictionary.

discardChanges(dataDict)
Simulink.data.dictionary.closeAll("-save")
delete(dictFileName)

Version History

Introduced in R2023b

expand all