setDictionaryDefault
Class: coder.Dictionary
Namespace: coder
Set default service for service interface section or default property value for data interface category
Since R2023b
Syntax
Description
setDictionaryDefault(
specifies the default entry serviceDict
,sectionName
,defaultEntry
)defaultEntry
for the service interface
section sectionName
in the service interfaces coder dictionary
serviceDict
.
setDictionaryDefault(
specifies the default value dataDict
,categoryName
,propName
,defaultPropVal
)defaultPropVal
for the property
propName
of the category categoryName
in the
data interfaces coder dictionary dataDict
.
Input Arguments
serviceDict
— Embedded Coder Dictionary
coder.Dictionary
object
Embedded Coder® Dictionary that contains a service interface configuration, specified as a
coder.Dictionary
object.
sectionName
— Service interface section name
"DataReceiverInterfaces"
| "DataSenderInterfaces"
| ...
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"
defaultEntry
— Service interface entry name
string scalar | character vector
The name of the service interface entry to set as default, specified as a string
scalar or character vector. To get the available entries for a section, use the find
method
for the section.
Example: find(getSection(serviceDict,"DataReceiverInterfaces")).Name
dataDict
— Embedded Coder Dictionary with data interfaces configuration
coder.Dictionary
object
Embedded Coder Dictionary that contains a data interface configuration, specified as a
coder.Dictionary
object.
categoryName
— Data interface category name
"InitializeTerminate"
| "Execution"
| "SharedUtility"
| "Inports"
| "Outports"
| ...
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"
propName
— Name of category property
"FunctionCustomizationTemplate"
| "StorageClass"
Name of category property for which to set 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.
defaultPropVal
— Property value
string scalar | character vector | true
or 1
| false
or 0
Default value to set for the specified property. The value type depends on the property whose value is being specified.
The available values for the FunctionCustomizationTemplate
,
MemorySection
, and StorageClass
are those
defined in the dictionary, in the sections
FunctionCustomizationTemplates
, MemorySections
,
and StorageClasses
respectively. To get the list of available values
for each of these properties, use the find
method in combination with
the getSection
method. For example, to get the list of available
storage class names,
enter:
find(getSection(coderDataDict,"StorageClasses")).Name
Examples
Set Default Entry for Receiver Interfaces
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 receiver service interface.
receiver = getDictionaryDefault(codeDictionary,"DataReceiverInterfaces")
receiver = Entry with properties: Name: 'ReceiverExample1' DataSource: 'C:\work\serviceDefinitions.sldd' DataCommunicationMethod: 'OutsideExecution' FunctionName: 'get_$X$N'
Get a list of the available receiver service interfaces.
recSection = getSection(codeDictionary,"DataReceiverInterfaces");
receivers = find(recSection);
receivers.Name
ans = 'ReceiverExample1' ans = 'ReceiverExample2' ans = 'ReceiverExample3'
Set a different receiver interface as the default.
setDictionaryDefault(codeDictionary,"DataReceiverInterfaces","ReceiverExample2");
Get and Set Default Outports Properties in Data Interface Coder Dictionary
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 R2023bR2024a: Changes in service interfaces dictionary sections
The sections SubcomponentInitTermFunctions
and
SubcomponentPeriodicAperiodicFunctions
replace the section
SubcomponentEntryFunctions
.
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)