Ecu Configuration Access
Post-build loadable
IEcucModuleConfiguration is the base interface of all module configuration wrappers. It provides the following method(s):
getConfigurationVariant() method returns the modules configuration variant.
This method never returns null. If the module has no value specified, this method returns a default value as follows:
EEcucConfigurationVariant.VARIANT_PRE_COMPILE, if it is contained in the supported config variants of the related module definition- otherwise
EEcucConfigurationVariant.VARIANT_LINK_TIME, if it is contained in the supported config variants of the related module definition - otherwise
EEcucConfigurationVariant.VARIANT_POST_BUILD_LOADABLE, if it is contained in the supported config variants of the related module definition - otherwise
EEcucConfigurationVariant.VARIANT_PRE_COMPILE, even if not contained in the supported config variants of the related module definition or if the definition is not available
Remark about AUTOSAR versions: Prior to AUTOSAR 4.2.1 the module configurations implementation config variant defined if this module implements post-build loadable and/or selectable. With AUTOSAR 4.2.1 the implementation config variant defines only if the module implements post-build loadable. The post-build selectable aspect has been separated from this definition. This method handles the loadable semantic, independent of the AUTOSAR version.
This is for post-build loadable only!
ThesetConfigurationVariant(EEcucConfigurationVariant) method sets the specified implementation configuration variant.
This is for post-build loadable only!
Supported values are
EEcucConfigurationVariant.VARIANT_PRE_COMPILEEEcucConfigurationVariant.VARIANT_LINK_TIMEEEcucConfigurationVariant.VARIANT_POST_BUILD_LOADABLE
Remarks concerning AUTOSAR versions:
- If the modules definition has schema version 4.2.1 or higher, the specified value is being written directly to the model
- If the modules definition has a schema version lower than 4.2.1, the modules implementation configuration variant in the MDF model encodes both, post-build loadable and post-build selectable. The following behavior is being implemented in this case:
| Current model value | Parameter | Result in the model |
|---|---|---|
| PRE_COMPILE | PRE_COMPILE | PRE_COMPILE |
| LINK_TIME | LINK_TIME | |
| POST_BUILD_LOADABLE | POST_BUILD_LOADABLE | |
| LINK_TIME | PRE_COMPILE | PRE_COMPILE |
| LINK_TIME | LINK_TIME | |
| POST_BUILD_LOADABLE | POST_BUILD_LOADABLE | |
| POST_BUILD_LOADABLE | PRE_COMPILE | PRE_COMPILE |
| LINK_TIME | LINK_TIME | |
| POST_BUILD_LOADABLE | POST_BUILD_LOADABLE | |
| POST_BUILD_SELECTABLE | PRE_COMPILE | POST_BUILD_SELECTABLE |
| LINK_TIME | POST_BUILD_SELECTABLE | |
| POST_BUILD_LOADABLE | POST_BUILD | |
| POST_BUILD | PRE_COMPILE | POST_BUILD_SELECTABLE |
| LINK_TIME | POST_BUILD_SELECTABLE | |
| POST_BUILD_LOADABLE | POST_BUILD |
IEcucContainer
is the base interface of all container wrappers. It provides the following method(s):
The getEffectiveMultiplicityConfigurationClass() method walks up the
model tree to find the related module configuration. Then it uses the module implementation configuration variant to return the selected configuration class as specified in
the container definition.
This method never returns null. In case the detection of the configuration class fails (e.g. if the related module configuration cannot be detected), this
method returns EEcucConfigurationClass.PRE_COMPILE by default. It also never returns EEcucConfigurationClass.LINK.
This method is for post-build loadable only!
ThegetEffectiveMultiplicityConfigurationClass(DefRef) method walks
up the model tree to find the related module configuration. Then it uses the module implementation configuration variant to return the selected configuration class of the
specified parameter definition.
This method never returns null. In case the detection of the configuration class fails (e.g. if the related module configuration cannot be detected), this
method returns EEcucConfigurationClass.PRE_COMPILE by default. It also never returns EEcucConfigurationClass.LINK.
This method is for post-build loadable only!
ThegetEffectiveValueConfigurationClass(DefRef) method walks up the model tree to find the related module configuration. Then it uses the module implementation
configuration variant to return the selected configuration class of the specified parameter definition.
This method never returns null. In case the detection of the configuration class fails (e.g. if the related module configuration cannot be detected), this
method returns EEcucConfigurationClass.PRE_COMPILE by default. It also never returns EEcucConfigurationClass.LINK.
This method is for post-build loadable only!
IEcucParameter
is the base interface of all parameter and reference wrappers. It provides the following method(s):
The getEffectiveMultiplicityConfigurationClass() method walks up the
model tree to find the related module configuration. Then it uses the module implementation configuration variant to return the selected configuration class as specified in
the parameter definition.
This method never returns null. In case the detection of the configuration class fails (e.g. if the related module configuration cannot be detected), this
method returns EEcucConfigurationClass.PRE_COMPILE by default.
This is for post-build loadable only!
ThegetEffectiveValueConfigurationClass() method walks up the model tree to find the related module configuration. Then it uses the module implementation
configuration variant to return the selected configuration class as specified in the parameter definition.
This method never returns null. In case the detection of the configuration class fails (e.g. if the related module configuration cannot be detected), this
method returns EEcucConfigurationClass.PRE_COMPILE by default.
This is for post-build loadable only!
Post-build selectable
supportsPostBuildVariance() method returns true if this module configuration supports
post-build selectable.
This is for post-build selectable only!
What this method actually does:
- It checks if the related definition specifies post-build selectable as supported
- It checks if the module configuration implements post-build variance. That's
truein the following cases- If the modules definition has schema version 4.4 or higher: Check if the
PostBuildVariantUsedistrue - If the modules definition has schema version 4.2.1 or higher: Check if the modules ADMIN-DATA flag "postBuildVariantSupport" is
true(false is default if this flag is missing) - If the modules definition has a schema version lower than 4.2.1: Check if the modules implementation configuration variant contains one of the following values VARIANT_POST_BUILD_SELECTABLE or VARIANT_POST_BUILD
- If the modules definition has schema version 4.4 or higher: Check if the
true if both conditions are true.
The setPostBuildVarianceSupport(boolean) method sets the post-build support flag in the module configuration.
This is for post-build selectable only!
Remarks concerning AUTOSAR versions:
- If the modules definition has schema version 4.4.0 or higher, this method sets the
PostBuildVariantUsedto the specified value.
- If the modules definition has schema version 4.2.1 or higher but less than 4.4.0, this method sets the modules ADMIN-DATA flag "postBuildVariantSupport" to the specified
value.
- If the modules definition has a schema version lower than 4.2.1, the modules implementation configuration variant in the MDF model encodes both, post-build loadable and
post-build selectable. The following behavior is being implemented in this case:
Current model value Parameter Result in the model PRE_COMPILE true POST_BUILD_SELECTABLE false PRE_COMPILE LINK_TIME true POST_BUILD_SELECTABLE false LINK_TIME POST_BUILD_LOADABLE true POST_BUILD false POST_BUILD_LOADABLE POST_BUILD_SELECTABLE true POST_BUILD_SELECTABLE false PRE_COMPILE POST_BUILD true POST_BUILD false POST_BUILD_LOADABLE
supportsVariantMultiplicity() method returns true if the related module configuration supports variance and this containers definition support variant
multiplicity. If true is returned this means that different variants may contain different number of instances of this container.
If the container has no definition, this method returns false.
This method is for post-build selectable only!
ThesupportsVariantMultiplicity() method returns true if the related module configuration supports variance and this parameters definition support variant
multiplicity. If true is returned this means that different variants may contain different number of instances of this parameter.
If the parameter has no definition, this method returns false.
This is for post-build selectable only!
ThesupportsVariantValue() method returns true if the related module configuration supports variance and this parameters definition support variant values.
If true is returned this means that different variants may contain different values in instances of this parameter.
If the parameter has no definition, this method returns false.
This is for post-build selectable only!