Tracker Overview¶
Overview Below is an overview of information to use ECU Tracker.
- Author
Daniel
- Date
Nov 01, 2021
- Version
7.4.0
BOMS¶
BOM Creation/Inheritance¶
In the BOMs List, right click on any BOM and select Create BOM. In the BOM Editor, you can select level vehicle.
There are 7 new fields in the Inheritance section:
Model
Year
VIN
Country
Region
Trim
Variant
All these fields accept integer inputs. For VIN, the value can be alphanumeric but must not contain spaces in between.
The new fields can also be seen under the BOMs tab. Select the BOM you want to view.
To know more about vehicle inheritance, see Vehicle Package Inheritance.
Vehicles¶
Each Vehicle or Vehicle Type must specify which Domain Variants are in the vehicle. B22 will use different domain variants than B42.
For now, each Vehicle is its own Vehicle type.
Domain Variants¶
Each Domain might have several domain variants. There might be a version of the battery domain with 6 SCUs, and a different version with 5 SCUs. There might be a version of the lighting domain used on marketing cars and a different version used for Beta cars. Each Domain Variant must specify which ECU assemblies are inside it.
Another way of looking at a Domain Variant, is that it is defining which ECUs assemblies are compatible with each other and usable in vehicles.
A final use of Domain Variants, is that we could create Domain Variants for different HIL benches if the regular domain variants do not cover our needs.
ECU Assemblies¶
ECU assemblies, are variants for each ECU which must specify:
What software list type to use (if applicable).
What addresses to use in the vehicle (if applicable).
What hardware revision to use.
ECUs¶
ECUs contain information for the ECU assemblies to reference including:
What addresses or physical locations in the car can use this ECU.
What Software List Types are available for the assemblies.
What hardware revisions exist.
There is additional information in the ECUs that is used for specific versions (i.e. not applicable to BOMs):
There are specific software components (with versions and filepaths).
There are software lists that are only usable for specific versions.
BOM Objects are Version-less¶
BOM objects do not specify versions. This way the same BOMs can be used across all the vehicle releases.
BOM Objects show acceptable configurations¶
Configurations:
ECU assemblies specify acceptable groupings of ECU HW revision and software lists together with locations in the car.
Domain BOMs specify an acceptable grouping of ECU assemblies.
Vehicle BOMs specify an acceptable grouping of Domain BOMs for a specific car or car type.
Manifests¶
Vehicle¶
A Vehicle level manifest has a list of everything to flash on the specific Vehicle or Vehicle Type.
Domain Variant¶
A Domain level manifest has a list of everything to flash on the specific Domain Variant.
ECU Assembly¶
An ECU Assembly manifest has a list of everything to flash on a specific ECU assembly.
Manifests are versioned¶
A Manifest can only be created for a specific vehicle release version. The BOMs exist across versions, but a manifest is only for a single version.
Software can be reused¶
A Manifest can refer to older software versions if the specific pieces of software are reused.
OTA vs CSV Manifests¶
When creating manifests, the CSV manifests include all of the software that can be loaded. Occasionally this means that both a Bootloader (BL), and Bootloader updater (BLU) will be mentioned.
OTA manifests have only the components that are marked as compliant in the tracker.
Packages¶
A Package is a collection of all applicable manifests.
Vehicle¶
A Vehicle Package contains all the manifests for all of the vehicles / Vehicle Types in the fleet.
Domain¶
A Domain Package contains all the manifests for all of the Domain variants for the same domain.
ECU Level¶
An ECU Level package contains all the manifests for all the assemblies that use this ECU. - An ECU level package also contains any .ECM (OTA files), that were created for the ECU.
Exported Package¶
An Exported Package is a package where all of the .ecms and components have been copied to be be in the same subfolder instead of referencing their original locations.
Packages are Supersets of manifests¶
A Package contains manifests for all of the Domains, Vehicles, or Assemblies in the same group. This is in contrast to a single manifest which only contains information for a single domain variant, vehicle, or assembly.
Packages are versioned¶
Similar to manifests, Packages exist for specific versions.
Groups¶
When creating a package, it collects all the Manifests in the same group. It is possible to have a single group called “DF91” for all vehicles which would mean that a single package is created. In the future, we could have different groups such as DF91_Beta and DF91_Gamma if we desire to have different packages. The same thing is true for Domain Variants.
Packages have RC numbers¶
Every package is a Release Candidate (RC). The first package for every major.minor version is RC1. In order to build a second package, the first one must be marked as a failure under promotion. If a 2nd package is created, it would be RC2. RC numbers exist in: Vehicle packages, Domain packages, ECU packages, and ECU components.
Process Flow¶
Steps:
Update configuration information before each freeze:
Create ECU assemblies
Create Domain Variants
Create Vehicle Types
Packages for every freeze:
Reuse or Create ECU level packages
Promote ECU level packages
Create Domain level packages (Requires every ECU level package in the domain to be promoted)
Promote Domain level packages
Create Vehicle level package (Requires every Domain level package in the vehicle to be promoted)
Promote the Vehicle level package
Note
Note, at any time if tests fail, a package can be failed. If a vehicle level package fails, at least one domain package should be marked as failed, and so should at least one ECU level package. New ECU level packages must be created (and promoted), then new Domain level packages must be created and promoted, and finally a new vehicle package would be created. This process continues until a vehicle package can be promoted/released.