Main Content

Local temporary variables

Customize generated local temporary variable identifiers

Model Configuration Pane: Code Generation / Identifiers

Description

Customize generated local temporary variable identifiers.

Dependencies

This parameter:

  • Appears only for ERT-based targets.

  • Requires Embedded Coder® when generating code.

Settings

$N$M (default) | string

Enter a macro that specifies whether, and in what order, certain text is to be included in the generated identifier. The macro can include a combination of the following format tokens.

TokenDescription
$A

Insert data type acronym (for example, i32 for integers) into signal and work vector identifiers.

$M

Insert name-mangling text if required to avoid naming collisions.

Required.

$N

Insert name of object (block, signal or signal object, state, parameter, or parameter object) for which identifier is generated.

$R

Insert root model name into identifier, replacing unsupported characters with the underscore (_) character.

Required for model referencing.

$U

Insert text that you specify for the $U token. Use the Custom token text parameter to specify this text.

Tips

  • Avoid name collisions. One way is to avoid using default block names (for example, Gain1, Gain2...) when your model has many blocks of the same type.

  • Where possible, increase the Maximum identifier length to accommodate the length of the identifiers that you expect to generate. Reserve at least three characters for name-mangling text.

  • To control the case (upper or lower case) of the text that each token represents, include decorators such as [U_] in your macro. See Control Case of Identifiers by Using Basic Token Decorators.

  • If you specify $R, the value you specify for Maximum identifier length must be large enough to accommodate full expansions of the $R and $M tokens.

  • When a name conflict occurs between an identifier within the scope of a higher-level model and an identifier within the scope of a referenced model, the code generator preserves the identifier from the referenced model. Name mangling is performed on the identifier in the higher-level model.

  • This option does not impact objects (such as signals and parameters) that have a storage class other than Auto (such as ImportedExtern or ExportedGlobal).

Recommended Settings

ApplicationSetting
DebuggingNo impact
TraceabilityUse default
EfficiencyNo impact
Safety precautionNo recommendation

Programmatic Use

Parameter: CustomSymbolStrTmpVar
Type: character vector
Value: valid combination of tokens
Default: $N$M

Version History

Introduced in R2006b