Liczniki XXX-919-XXX - Struktura Eepromu.
Po kilku godzinach spędzonych na rożnych forach i w aucie przy modyfikacjach licznika, wrzucam opis struktury EEPROMU liczników 919 z immo2 - bez CAN.
Mapa Eepromu:
http://images70.fotosik.pl/395/043fd630d4150807.png
Opis Komórek:
0x036 - 0x045: Przebieg (Odometer)
0x053:Zmiana Tonu Dźwięku Ostrzeżeń (Zamieniamy tą wartość na dowolna np FF, AA albo jaka nam przyjdzie do głowy w zakresie 0-F)
0x055 - 0x058: Wartość Kodowania Licznika
0x059: Adaptacja, Kanał 3, Wartość Adaptacji Wskazań Spalania - domyślnie 64 HEX = 100% (zakres adaptacji 85 -115%,ale we wsadzie można wpisać dowolnie)
0x05A: Prawdopodobnie Adaptacja Wskaźnika Paliwa - domyślnie 80 HEX = 128
0x05C: Adaptacja, Kanał 5, Przypomnienie o wymianie oleju, Max dystans: 0F HEX = 15 - 15.000 km
0x05D: Adaptacja, Kanał 6, Przypomnienie 1 = INSP01, Max Dystans: 1E HEX = 30 - 30.000 km
0x05E: Adaptacja, Kanał 7, Przypomnienie 2 = INSP02, Max Czas: 24 HEX = 36 - 360 dni
0x05F: Adaptacja, Kanał 10, Przypomnienie o wymianie oleju = INSP OIL, Dystans: 0F HEX = 15 - 15.000 km
0x060: Adaptacja, Kanał 11, Przypomnienie 1 = INSP01, Dystans: 1E = 30 - 30.000 km
0x061: Adaptacja, Kanał 12, Przypomnienie 2 = INSP02, Czas: 24 HEX = 36 DEC - 360 dni
0x092 - 0x093: K-Value, Distance Impulse Identifier, Ilość impulsów ze skrzynki na 1 km. W Audi jest stały, ale w VW zależy od kodowania licznika. Np ostatnia liczba w kodowaniu licznika golfa 4 to 2 co odpowiada C80D = 3528 Impulses/Km. W Audi mamy 770D, czyli 3447 imp/km.
0x094 - 0x095: W licznikach VW powtórzony K-Value
0x09A - 0x0A9: Prędkościomierz - oś x - Skala Prędkościomierza (Speedometer)
0x0AA - 0x0B9: Prędkościomierz - oś y - Wychylenie Silniczka Krokowego (Speedometer)
0x0BA - 0x0C1: Obrotomierz - oś x - Skala Obrotomierza (Tachometer)
0x0C2 - 0x0C9: Obrotomierz - oś y - Wychylenie Silniczka Krokowego (Tachometer)
0x0DA - 0x0E9: Wskaźnik Paliwa - Skala Zbiornika (Fuel Gauge Values for 0, reserve, 1/4, 1/2, 1, 1, 1 )
0x0DA - 0x0E9: Wskaźnik Paliwa - Wychylenie Silniczka Krokowego (Tachometer)
0x106 - 0x111: Temperatura Płynu Chłodzącego - oś x - Skala (Fuel Gauge)
0x112 - 0x11D: Temperatura Płynu Chłodzącego - oś y - Wychylenie Silniczka Krokowego (Fuel Gauge)
0x184 - 0x19B: Tu zapisane są informacje o numerze i wersji licznika/softu, immo.
0x1FA - 0x1FF: PIN licznika powtórzony 3 razy, PIN = 3683
Kilka Ciekawostek Licznikowych:
Liniowy wskaźnik temperatury:
Kopiujemy sobie wartości wskaźnika temp. według powyższych wskazówek lokalizacji komórek:
oś x: 10 04 D0 03 20 03 80 02 E0 01 F0 00
oś y: 28 00 28 00 D8 02 D8 02 B2 04 88 05
Zasada jest taka, że łączymy bajty w słowa i starszy bajt zamieniamy z młodszym miejscami:
Czyli:
oś x: 00F0 01E0 0280 0320 03D0 0410
oś y: 0028 0028 02D8 02D8 04B2 0588
Teraz przeliczamy linijki z HEX na DEC:
oś x: 240 480 640 800 976 1040
oś y: 40 40 728 728 1202 1416
Wklepujemy wartość do Excela i tworzymy wykres liniowy.
http://images69.fotosik.pl/396/93c6eb17f1d5aa24.png
Zamieniłem wartości:
728 na 450
728 na 850
450 DEC = 01C2
850 DEC = 0352
Trzeba podmienić te wartości we wsadzie (eepromie), pamiętając o odwróceniu ;)
Ostatecznie podmienilibyśmy na taką linijkę:
28 00 28 00 C2 01 52 03 B2 04 88 05
I cieszymy się liniowym wskazaniem temperatury ;)
Skala Temperatury
Dodatkowo możemy sobie sprawdzić jakiej temperaturze odpowiadają wartości DEC na osi x.
Wystarczy wartości:
240 480 640 800 976 1040
Podzielić przez 8 i mamy wartości w stopniach:
30° 60° 80° 100° 122° 130°
Czyli wskaźnik utrzymuje od 80° do 100° tą samą wartość, silniczek wychyla się na wartość 728 - dlatego mamy komfortowe odczucie, że wskazówka zawsze stoi równo na 90°C ;)
Dodatkowo wpadłem na pewien pomysł :P
Jeśli się dobrze przyjrzycie przeciągając linie od skrajnych punktów wskaźnika otrzymujemy wycinek 90°.
Dzieląc wartości:
40 40 728 728 1202 1416
Przez 16, otrzymujemy wartości, które odpowiadałyby właśnie kątowi 0-90°
Wychylenie Wskazówki - Temperatura z Czujnika
2° - 30°C
2° - 60°C
45° - 80°C
45° - 100°C
75° - tu powinno być 110°C, wychodzi 122
88° - tu prawie 120°C, wychodzi 130
Można by powiedzieć, że moja koncepcja sprawdza się do wychylenia 45°
W licznikach VW powinno to działać ;) Bo tam skala jest właśnie do 130°C.
http://images68.fotosik.pl/410/b887f78f1cea2f94.jpg
Środek to 45°, czyli by się zgadzało ^^
Nie wiem czy tak to jest naprawdę, ale z pewnością pomoże w szukaniu wartości do liniowego wskaźnika :P Być może to nie mają być stopnie wychylenia ale kroki silniczka krokowego...
Skala Paliwa
To samo można by zrobić ze skalą paliwa.
Najlepiej zobrazuje to ta tabelka:
http://images67.fotosik.pl/412/ffdb8dd8f827abda.png
Czyli:
- oś x dzielimy przez 8 i mamy wartości litrów
- oś y dzielimy przez 16 i mamy wychylenie silniczka krokowego
Tu jak się przyjrzycie stopnie zgadzają się ze stanem paliwa.
Więc można łatwo ustawić sobie poziom rezerwy itp ^^
http://images67.fotosik.pl/412/298137ba5044cdfa.jpg
W nowszych licznikach skala jest reprezentowana nieco inaczej, tym bardziej w VW:
http://images69.fotosik.pl/411/50b7dcd9d06d547f.jpg
Skala Prędkości
Wystarczy wartości osi x:
0018 0032 0582 0613 0753 09bf 0c22 0f0e HEX
24 50 1410 1555 1875 2495 3106 3854 DEC
Podzielić przez 16, by otrzymać wartości kilometrów.
http://images68.fotosik.pl/411/c803069523a4d445.png
Widać też, że powyżej 97 km/h, czyli nasze 100 na środku, zmienia się liniowość wykresu.
Co najlepsze, przystawiłem kątomierz do skali prędkościomierza i wyszło mi, że na 97 jest około 125°.
Weźmy oś y naszego prędkościomierza.
12 115 1868 2011 2296 2868 3438 4152
Wartość 2011/16 = 125°
Wychylenie 125° = 97 km/h.
Jak się dobrze przyjrzycie cała skala 0-240 km/h to prawie 270° obrotu...
Weźmy ostatnią wartość osi y. czyli 4152 i podzielmy przez 16.
Daje nam to 259°, czyli 240 km/h...