Bosch ME7.1.1: Difference between revisions

From The 07K Wiki

mNo edit summary
(DTC disabling)
Line 4: Line 4:


Most flashing tools fix checksums automatically, if you wish to fix them manually, you can use [https://the07k.wiki/index.php?title=Tools#LSuite LSuite]
Most flashing tools fix checksums automatically, if you wish to fix them manually, you can use [https://the07k.wiki/index.php?title=Tools#LSuite LSuite]
Definition file can be found [https://the07k.wiki/index.php?title=Definition_Files#Bosch_ME7.1.1_2 here]. If you are getting started with tuning with recommend consulting : [[Introduction to tuning]]
== Disabling DTC ==
The DTC are stored under error class that are defined in a "DTC table". The index at which a certain error class/DTC is stored in the DTC table can be calculated with a simple formula.
Before getting started, you should define the following address that you will use for calculations:
* CDC (CARB codes, OBD2 generic) start address : CDC'''AAA'''
* CDK (Kundle (Customer) / Manufacturers codes) : CDK'''AAA'''
* CLA (Error class aka DTC table) : CLA'''AAA'''
You can use the .A2L file that match your ECU:
[[File:Cdc address.png|368x368px]]
In this case the '''CDC''' start address would be '''0xE59C2'''. (The offset of 0x800000 has been substracted from the address)
Once the start address are defined, we can proceed to the calculation of the DTC index.
<u>For generic codes (Starts with P0XXX):</u>
We will use the table '''CDC'''
<u>For manufacturer code:</u>
We will use the table '''CDK'''
=== Finding the index ===
Let's assume we want to remove the code '''P0302''', this is a generic code, so we will be using the table '''CDC'''.
In WinOLS (or your map editor of choice), set the view in 16bits, FF, LoHi
Go to (Control-G) the start address of '''CDC''', in this example it would be '''0xE59C2'''
Search for an hexadecimal (using Control-F) with the DTC code : '''0302'''
You should see '''0302''' repeating '''4''' times, we want the address of the first occurence of the block of 4. If you see a block of 6, ignore the first two occurences.
[[File:CDC table.png|421x421px]]
The address of the first occurence of '''0302''' would be '''0xE5DE2'''.
Now to get the index we use this formula :
<code>Index = (address of the first occurence - start address of the table) / 8</code>
In our example it would be :
<code>(0xE5DE2 - 0xE59C2) / 8 = 0x84</code>
Index is '''0x84'''
=== Locating the error class in the CLA table ===
''Using the start address provided by CLA'''AAA,''' use the following formula:''
<code>CLA error class address = CLA start address (CLAAAA) + index</code>
In our example it would be :
<code>CLA error class address = 0xE05B1 + 0x84 = 0xE0635</code>
The address '''0xE0635''' contains the error class for the DTC '''P0302'''.
To disable the DTC set the byte at the address '''0xE0635''' to '''0'''.

Revision as of 20:28, 17 January 2023

This section is underdevelopment. Feel free to add content.

Reading, writing and checksums

For reading and writing procedures refer to Reading and writing ECU (ME7.1.1)

Most flashing tools fix checksums automatically, if you wish to fix them manually, you can use LSuite

Definition file can be found here. If you are getting started with tuning with recommend consulting : Introduction to tuning

Disabling DTC

The DTC are stored under error class that are defined in a "DTC table". The index at which a certain error class/DTC is stored in the DTC table can be calculated with a simple formula.

Before getting started, you should define the following address that you will use for calculations:

  • CDC (CARB codes, OBD2 generic) start address : CDCAAA
  • CDK (Kundle (Customer) / Manufacturers codes) : CDKAAA
  • CLA (Error class aka DTC table) : CLAAAA

You can use the .A2L file that match your ECU:

Cdc address.png

In this case the CDC start address would be 0xE59C2. (The offset of 0x800000 has been substracted from the address)

Once the start address are defined, we can proceed to the calculation of the DTC index.

For generic codes (Starts with P0XXX):

We will use the table CDC

For manufacturer code:

We will use the table CDK

Finding the index

Let's assume we want to remove the code P0302, this is a generic code, so we will be using the table CDC.

In WinOLS (or your map editor of choice), set the view in 16bits, FF, LoHi

Go to (Control-G) the start address of CDC, in this example it would be 0xE59C2

Search for an hexadecimal (using Control-F) with the DTC code : 0302

You should see 0302 repeating 4 times, we want the address of the first occurence of the block of 4. If you see a block of 6, ignore the first two occurences.

CDC table.png

The address of the first occurence of 0302 would be 0xE5DE2.

Now to get the index we use this formula :

Index = (address of the first occurence - start address of the table) / 8

In our example it would be :

(0xE5DE2 - 0xE59C2) / 8 = 0x84

Index is 0x84

Locating the error class in the CLA table

Using the start address provided by CLAAAA, use the following formula:

CLA error class address = CLA start address (CLAAAA) + index

In our example it would be :

CLA error class address = 0xE05B1 + 0x84 = 0xE0635

The address 0xE0635 contains the error class for the DTC P0302.

To disable the DTC set the byte at the address 0xE0635 to 0.