Kombiinstrument - Anpassen des Kilometerstands: Unterschied zwischen den Versionen
Riese (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Riese (Diskussion | Beiträge) |
||
Zeile 7: | Zeile 7: | ||
Er kann nach dem Ersetzen eines defekten Kombiinstruments in das neue Instrument übernommen werden, indem der komplette Bereich kopiert wird. | Er kann nach dem Ersetzen eines defekten Kombiinstruments in das neue Instrument übernommen werden, indem der komplette Bereich kopiert wird. | ||
Bei einem Kilometerstand von 15 sind alle Blöcke | Alternativ kann er auch berechnet werden: | ||
Daraufhin wird wird wieder an Offset 0x00 begonnen, | Der Kilometerstand wird in Blöcken zu je 2 Byte im genannten Speicherbereich abgelegt | ||
Bei einem Kilometerstand von 15 sind alle Blöcke auf 0x00 gesetzt. Dann wird pro gefahrenem Kilometer ein Block um eins hoch gezählt, bis alle 16 Blöcke den gleichen Wert aufweisen. | |||
Daraufhin wird wird wieder an Offset 0x00 begonnen, den ersten Block des Speicherbereichs um eins zu imkrementieren. | |||
<pre> | |||
15 0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
15 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
16 0000: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
16 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
17 0000: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
17 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
... | |||
31 0000: 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 | |||
31 0010: 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 | |||
32 0000: 02 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 | |||
32 0010: 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 | |||
33 0000: 02 00 02 00 01 00 01 00 01 00 01 00 01 00 01 00 | |||
33 0010: 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 | |||
</pre> | |||
Der Kilometerstand kann mittels folgendem Python-Skript berechnet werden: (die ausgegebenen Werte müssen noch byteweise gedreht werden, bevor sie in den Speicher geschrieben werden) | Der Kilometerstand kann mittels folgendem Python-Skript berechnet werden: (die ausgegebenen Werte müssen noch byteweise gedreht werden, bevor sie in den Speicher geschrieben werden) |
Version vom 17. März 2021, 19:56 Uhr
Hinweis das modifizieren des Kilometerstandes zu betrügerischen Zwecken ist verboten. Die folgenden Informationen sollen dazu dienen, nach dem Tausch des KIs den zum Fahrzeug passenden Kilometerstand zu programmieren oder einfach nur aufzeigen, wie einfach der Kilometerstand verändert werden kann
grünes KI(1996 - 1998)
Der Kilometerstand ist in den Speicherstellen 0x00 - 0x1F abgelegt.
Er kann nach dem Ersetzen eines defekten Kombiinstruments in das neue Instrument übernommen werden, indem der komplette Bereich kopiert wird.
Alternativ kann er auch berechnet werden: Der Kilometerstand wird in Blöcken zu je 2 Byte im genannten Speicherbereich abgelegt
Bei einem Kilometerstand von 15 sind alle Blöcke auf 0x00 gesetzt. Dann wird pro gefahrenem Kilometer ein Block um eins hoch gezählt, bis alle 16 Blöcke den gleichen Wert aufweisen. Daraufhin wird wird wieder an Offset 0x00 begonnen, den ersten Block des Speicherbereichs um eins zu imkrementieren.
15 0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 15 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 0000: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 16 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 0000: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 17 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... 31 0000: 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 31 0010: 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 32 0000: 02 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 32 0010: 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 33 0000: 02 00 02 00 01 00 01 00 01 00 01 00 01 00 01 00 33 0010: 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00
Der Kilometerstand kann mittels folgendem Python-Skript berechnet werden: (die ausgegebenen Werte müssen noch byteweise gedreht werden, bevor sie in den Speicher geschrieben werden)
import sys print("Kilometerstand eingeben:") Kilometerstand = int(input()) if (Kilometerstand <= 15): print("Kilometerstand muss mindestens 16 betragen") input() sys.exit() Kilometerstand = Kilometerstand - 15 Basis = Kilometerstand // 16 Inkrement = Kilometerstand % 16 BasisHex = hex(Basis) print("Wert der ersten " + str(Inkrement) + " Blöcke: " + str(hex(Basis+1))) print("Wert der restlichen Blöcke: " + str(hex(Basis))) input()