RTA Knowledge Base

Used Tool-chain: RTA-CAR 8.0.1

ISOLAR-ABv 8.0.1
RTA-RTEv. 7.3.0
RTA-BSWv. 6.0.0
RTA-OSv. 6.0.9

Scope

This article explains the changes made to BSW ConfGen (Configuration Generation) between RTA-CAR v7.0.1 and v8.0.1 and how the new BSW ConfGen format can be utilised. The changes consist of:

  1. Launching the BSW Configuration Generation from the ECU Configuration Generation button instead of running the BSW Configuration Generation and Synchronise buttons in V7. Previously, the Synchronise feature had to be run before BSW ConfGen from the System Editor and it will be depreciated in future releases.
  2. The ability to choose how the BSW is generated to help track changes more efficiently by:
    1. Diff/Merge editor to manually accept changes
    2. Overwrite previous BSW configuration
    3. Auto update (recommended) automatically merges changes based on other options.

Workflow

Running BSW ConfGen

For information only: Previously in RTA-CAR 7 the BSW ConfGen was executed via the button below, which configured the base BSW project.

In some particular cases, when the user needed to run customized scripts that changed the BSW configuration, then the Synchronise button (right clicking on project folder in ECU Navigator tab > Open With > System Editor) needed to be executed to integrate these changes with the overall BSW configuration.

ISOLAR-AB V7 ConfGen button


Now the ConfGen functionality for the ISOLAR-AB V8 base project and additional BSW configuration changes (the 2 buttons above) have moved to the ECU Configuration Wizard. Once you are happy with the configuration changes, then the ECU Configuration Generation can be run as per the images below.


  • If the user is wanting to track the ECU configuration changes (EcuC) in a single file, make sure the Generate separate file for each Module is NOT checked (see below) after clicking on the Browse button.
  • The default path is at the project folder level, however it is advised to maintain a coherent folder structure and place all the EcuCValues files in the same directory. Select the path and click OK for the parent folder.
  • Name the file as required and click on Finish in the Generate ECU Configuration window.


Note: If you already have the Project_EcucValues.arxml somewhere in you project, ensure that the Output Path is the same of the existing file, otherwise it will be duplicated in the new path and it will cause issues during the code generation

  • If changes have been made in multiple modules, then it may be preferred to generate individual *EcucValues.arxml files per module by checking the Generate separate file for each Module box (see the box at the bottom of the previous screenshot).
  • The naming convention for multiple files is defined in the Preferences window.

BSW configuration merging settings

Previously in V7 the BSW configuration generation would overwrite the previous config, V8 now allows the user manage these configuration generation changes. It is important to bear in mind that the ConfGen only supports modules that are configured as part of the System import, such as the modules part of the Com Stack and the Mem Stack.

There are 3 options to merge any BSW configuration changes such as default values, which can be edited by going to Window > Preferences:

Note: The Diff Merge Editor that is used in option a. can also be used to compare BSW modules, arxml and project properties (Select 2 files > right click > Compare With > Each Other). See the Diff/Merge for BSW Configurations section in the ISOLAR-B_Help_ReferenceManual for more information.

 

a. Manual Diff Merge Editor:

Once manual changes have been made to the BSW configuration and the ECU Config Wizard has been run, a window will appear to allow the user to manually accept the changes or to remain with the current project settings (do nothing). The user can expand the tree to then accept the changes by right clicking > Accept.

If you have a lot of manually configured parameter in your project, this option can require more effort to accept/reject all the changes if you have to go through all the changes.

The below workflow goes into some examples.

Manually changing default values from BSW Editor

  • Double click on the BSW module to be edited.
  • Change the value


  • Open the Generate ECU Configuration window

  • Apply and Close. then click on Finish in the ECU Configuration Generation window.
  • The Diff Merge Editor window will appear after the Configuration Generation has taken place.

  • The value in the left column (the project column - "RTA-SK_VRTA_8.0.1" here) is the current project value and the column on the right is the value to be accepted into the BSW configuration.
  • Any proposed changes made can then be accepted by right clicking on the parameter in the contents list on the left side → Accept. 
  • In the below case a manual change was made in the project and it comes up as a conflict (red), since the change conflicts with the values created by the confgen originally.

  • If a manual change has been made in the project to a parameter that had an empty value then it will appear as below. If Accept is selected, the empty entry on the right will be used.

Changing default values from algo.properties 

Currently the algo.properties file is the recommended way of changing default values, as the changes can be tracked.

  • Open the algo.properties file from the File Navigator and then set the override default value.
  • Initiate the ConfGen.

  • The change can be seen on the right in the Incoming new configuration column, which can then be Accepted. 

b. Overwrite mode

Once manual changes have been made to the BSW configuration, running the ConfGen (ECU Config Wizard) will overwrite the old configuration file with the changes made. All the manual changes in the files created by Confgen (ProjectEcucValues.arxml) will not be retained. Only the parameters configured in separated arxml files. The behavior that you get selecting this option is the same that you had in the previous RTA-CAR version 7.0.1. You can still overwrite the default values using the algo.properties.


c. Auto Update

The auto update can be selected along with two additional options: Overwrite Manual and Static

Manual and static overwrite have the following differences:

  1. Overwrite manual checked:
    1. Any manual changes made to a BSW module that has been generated by the tool (BSW_GENERATED in dark bluesee below) will NOT be merged in the same Project_EcucValues file. This means that any manual changes to tool-generated parameters will NOT be retained and are overwritten by the original tool-generated parameters.
    2. If a parameter in a tool-generated module has been modified and is split into a statically (user) defined arxml it will be retained.
  2. Overwrite static checked:
    1. Any values that have been created by the user as a result of creating a static module or any newly added static modules created by the user, will NOT be merged. Static modules are BSW modules that have been newly created by the user in the project (not created by the tool import). 
    2. If a parameter in a tool-generated module has been modified and is split into a statically (user) defined arxml it will NOT be retained. The parameter will revert back to the original value and EcucValue file that the tool generated.
    3. If a parameter in a tool-generated module has been modified it will be retained.
  3. Overwrite manual and overwrite static unchecked:
    1. A parameter will be retained and merged into the EcucValues file(s) if:
      1. Adding a parameter
      2. Modifying a parameter
      3. Removing a parameter IF it has been statically created (not tool generated) and is not required due to to configuration multiplicity rules.
    2. A parameter will NOT be removed if required due to to configuration multiplicity rules or if it is generated by the tool. For example, if a parameter is generated by the tool and is removed, the ConfGen will restore the original tool-generated value.


You can select the colors to highlight the different parameters in ISOLAR-B changing the following proprieties:

The modules and values highlighted in dark blue show that they are BSW_GENERATED.



Example with Overwrite manual configurations check box

If the Auto Update and Overwrite Manual configurations have been selected, any manual changes made to the tool-generated config will NOT be merged with is option. In the example below we are testing the behavior with the paramter CanSetBaudRateApi.


Modified the value:


After the ConfGen the manual change was NOT retained:

Example with Overwrite manual configurations check box and split files

If a parameter in a tool-generated module has been modified and is split into a statically (user) defined arxml.


Go into the split file view and split the parameter into another arxml.

Change the value in the split file and run ConfGen. The changed value should be retained, due to the split file being statically created. 

Example with Static overwrite check box

If the Auto Update and Overwrite Static configurations have been selected.

  • Add a new static module in a new arxml file. In this example, the Ea module


  • Run the ConfGen with the Static overwrite option and it will be removed from the project.

Example with Static overwrite check box and split files

You will have the same behaviour splitting the configuration of a module in different arxml files. In the example below, we split the ComConfig in a new file called Project_EcucValues_Split_1.arxml. As you can see from the following screenshots, the values in the new file will NOT be retained by the ConfGen.

  • Run the ConfGen (ECU ConfGen Wizard) with the Overwrite Static configuration checked.
  • Refresh the project/close and re-open Com
  • The value that was set in the statically defined module has been removed, reverted back to a value of 1 and moved to the Project_EcucValues file.

Example with Overwrite manual and overwrite static unchecked and removing parameters

A statically created parameter can be removed with this option, if it doesn't break configuration multiplicity rules. Notice that the FiM module and the parameter is not coloured in blue.


After running ConfGen the parameter remains removed.