View Single Post
  #13  
Old 30-09-2019, 07:47
GoAzBox's Avatar
GoAzBox GoAzBox is offline
VW Addict
 
Join Date: Dec 2008
Posts: 634
Default

Quote:
Originally Posted by VeeDubber
Ik zit inmiddels in je slipstream. Ben recent bezig geweest met de Polo 9N van mijn vrouw. Had maar 1 sleutel en heb er een eBay sleutel bijgekocht en zelf geprogrammeerd. Had echter geen SKC dus moest gaan uitlezen. Tevens kort daarna het instrumentenpaneel vervangen. Daardoor nu de kennis om SKC te achterhalen en BIN te downloaden, te flashen enzovoort.

Ook ingelezen in de mods die jij hebt gedaan, welke voornamelijk op de MK IV clusters van toepassing zijn. Ons Polootje hoeft alleen niet zo nodig een needlesweep te hebben

Ik zou nu eigenlijk door willen pakken en echt gaan begrijpen wat er nu precies in de BIN staat. Er is redelijk wat info online te vinden over specifieke mods, maar algemene info ben ik nog niet op het spoor. Heb jij nog wat nuttige links?

Ook ben ik benieuwd hoe jij de vertaling maakt van je HEX kolommen naar je Info kolommen. Is dit handmatig toegevoegde informatie of weet je dit geautomatiseerd om te zetten?



Hey VeeDubber,

Het probleem met de info online is dat overal hapjes staan en niet alles klopt of maar half klopt. Ik heb de MKIV clusters nu ongeveer voor 90% correct vertaald, en dan vooral de IMMO3 clusters.

De basis is als volgt. HEX kun je vertalen naar ANSII code. Dit werkt alleen voor de eerste 255 hexidecimale tekens. De volgorde is als volgt:

00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F

en vanaf daar gaat het verder met

10
11
12
13
.....
t/m FF

Een Hexreader (HxD in mijn geval) geeft alle ANSII waardes in een tweede kolom naast de hex code weer. ik heb in mijn excel bestand alle hexidecimale waardes van 00 t/m FF onder elkaar gezet. Handmatig heb ik daarnaast de ANSII waardes gezet. In een ander tabblad waar de dump "vertaald" wordt, heb ik met een formule de bijbehorende ANSII waarde gezocht in het andere tabje en die wordt daar weergegeven. Deze formule gebruik ik daarvoor:
=LOOKUP(C4,'HEX=DEC=ANSII'!$B$2:$B$257, 'HEX=DEC=ANSII'!$C$2:$C$257)

De ANSII waarde is echter alleen nuttig voor VIN, cluster ID en immmobilizer identiteit. bijna alle andere waardes moet je op een andere manier zien te herkennen. vaak werkt dit door middel van byteflyp met een factor offset. bijvoorbeeld de tankinhoud:
deze staat in de dump op locatie 0x270 t/m 0x28F.
dit is wat je daar ziet:

18 00 3A 00 7C 00 E0 00 44 01 A8 01 A8 01 A8 01
18 00 3C 00 7C 00 E0 00 44 01 A8 01 A8 01 A8 01


Neem nu bijvoorbeeld eens A8 01. Deze twee waardes draai je om (byteflip) en dan krijg je dus 01 A8. De decimale waarde hiervan is 424. Dat getal heb je niets aan. Maar als je dat weer door 8 (de factor offset) deelt staat er ineens 53. En dat is niet geheel toevallig ook de inhoud van de tank.

In mijn bestand staat alles in excel en voor deze berekening gebruik ik dus weer een formule en die zie er als volgt uit: =HEX2DEC(R43&""&Q43)/8. "=HEX2DEC" is de formule, "R43" en "Q43" zijn de locaties in de excel en "/8" is de factor offset.

De pin heeft geen factor offset maar wel een byteflip (officieel "Int16" genaamd) en deze staat bij VWK501MH clusters op locatie 0x0CC/0x0CD, 0x0CE/0x0CF en 0x0D0/0x0D1. Daar staat bijvoorbeeld F1 1F F1 1F F1 1F. F1 1F omgedraaid is 1F F1. De decimale waarde daarvan is 8177 en dat is dus de PIN. De formule die ik daarvoor gebruik is "=HEX2DEC(P16&O16)"

Zo heb ik ook een formule voor de toerenteller en kilometer teller. Hier is de factor offset 0.0625. Geloof me als ik zeg dat ik heb moeten zoeken tot ik een ons weeg, maar ondertussen heb ik de functie ingebouwd dat de schaalverdeling van deze klokken wordt weergegeven en ik kan het nu dus ook aanpassen. Handig als je bijvoorbeeld nieuwe wijzerplaten hebt die tot 300km/u gaan of tot 9000rpm bijvoorbeeld.

locatie toerental schaalverdeling:
0x240 t/m 0x24F (byteflip en /0.0625)
locatie kilometerteller schaalverdeling:
0x220 t/m 0x23F (byteflip en /0.0625)
locatie brandstoftank volume:
0x270 t/m 0x28F (byteflip en /8)
locatie koelwatertemperatuur:
0x2B6 t/m 0x2DF (byteflip en /8)

Het lastige is dat je hier niet alleen de waardes op de klokken vindt, maar ook de weerstanden van de potmeter. Goed kijken dus.

Zo staat zelfs de K-waarde in de klok en kun je die naar eigen wens aanpassen. Te vinden op 0x150/0x151 (byteflip)

Let wel goed op: als je de schaalverdeling of de K-waarde gaat aanpassen in de dump. kloppen de checksums niet meer. Het cluster herberekent deze zelf maar kan er maar één tegelijk. Als je er meerdere aanpast kan het cluster het dus niet herberekenen en heb je een probleem. Bovenstaande info is alleen geldig op VWK501MH software in VDO IMMO3 clusters

Hopelijk heeft iedereen hier wat aan.

Edit:
om decimalen naar hexidecimaal om te rekenen zijn er online ook veel calculators te vinden. Bijvoorbeeld deze: https://www.rapidtables.com/convert...mal-to-hex.html
__________________
'12 Passat B7 Variant 1.6 TDI 110kW
'01 Golf Cabrio 85kW
Reply With Quote