nursing-personal

Auteur Sujet: [Tuto] Préparer ses Patterns .Xdf pour logiciel TunerPro  (Lu 8241 fois)

Hors ligne LL

  • Riders d'argent
  • ***
  • Messages: 789
    • 848
[Tuto] Préparer ses Patterns .Xdf pour logiciel TunerPro
« le: novembre 22, 2015, 14:57:29 »
Ce tutoriel a pour but d'aider dans la création de fichier xdf pour puce en iaw5am 610.

Attention les iaw5amhw103 qui présentent quelques différences mineurs au niveau de l'entete ( les premiers 32 kb).


Les puces en iaw 5am sont encodés en Litte endian tandis que les puces en iaw59am sont encodés en Big endian.

La premiere portion qui compose le code de bootage est composé en grande partie d'adresse hexadecimale 00. Puis par des 0xFF ou 0x00. Cette partie est accessible lors du boot mode et contiendrait les informations de l'immobilizer.

La partie centrale contient le code d'exploitation de l'ECU et apparait similaire entre les versions de même génération.

Les maps qui contiennent les tables interessantes sont enregistrés vers le bas du fichier après un long interval.


En utilisant un logiciel d'edition ( HexCmp, tuner Pro ....) Affiché comme entiers signés par groupe de morceaux de 8 bits et chercher vers le bas du fichier en cherchant des motifs répétés d'un tableau de  20 points (RPM ) * 32 points ( TPS)

bingo vous trouverez quatres tableaux presque l'un après l'autre qui correspondent à ce que recherche 90 % des gens à savoir

Fuel Map
Delta Fuel Map
Ignition Map
Delta Ignition Map


Il ne manque plus qu'à trouver les Legendes Rpm et Tps  qui correspondent au libellé de nos tableaux.

Beaucoup de logiciels utilisent des  algorythmes heuristic pour reperer automatiquement les adresses Hexadecimal

Nous allons essayer de trouver des patterns, c'est à dire des modeles qui permettent d'obtenir ces informations à chaque fois.


Petit à petit je rajouterai les codes xml qui correspondent afin de compléter le fichier xdf.
Pour rappel les fichiers xdf sont les fichiers de definition utilisés par le logiciel Tunerpro. Ils sont fonction de chaque fichier .bin et permettent de definir à partir de quelles adresses hexadecimales commencent les tables.


Attention, dans tunerpro, il existe des flags, switch,tables fonction... N'étant pas expert, j'utilise les tables alors que l'on pourrait utiliser parfois des fonctions ( exemple speedo correction ...) Si vous avez justement des améliorations à faire pour le fichier xdf, faites moi suivre les elements xml qui en decoulent.

=>Trouver l'adresse Hexadecimal pour la TPS Legend

Chercher la valeur hexa se situant après 11 70 17 28 23




Code xml correspondant :


<XDFTABLE uniqueid="0x2C6E" flags="0x30">
    <title>TPS breakpoints OK</title>
    <description>The y legend point of the maps.</description>
    <XDFAXIS id="x" uniqueid="0x0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>1</indexcount>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="0.00" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0x0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>20</indexcount>
      <outputtype>4</outputtype>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="1" />
      <LABEL index="1" value="2" />
      <LABEL index="2" value="3" />
      <LABEL index="3" value="4" />
      <LABEL index="4" value="5" />
      <LABEL index="5" value="6" />
      <LABEL index="6" value="7" />
      <LABEL index="7" value="8" />
      <LABEL index="8" value="9" />
      <LABEL index="9" value="10" />
      <LABEL index="10" value="11" />
      <LABEL index="11" value="12" />
      <LABEL index="12" value="13" />
      <LABEL index="13" value="14" />
      <LABEL index="14" value="15" />
      <LABEL index="15" value="16" />
      <LABEL index="16" value="17" />
      <LABEL index="17" value="18" />
      <LABEL index="18" value="19" />
      <LABEL index="19" value="20" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedaddress="0x495B6" mmedelementsizebits="16" mmedrowcount="20" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <decimalpl>1</decimalpl>
      <min>0.000000</min>
      <max>90.000000</max>
      <outputtype>1</outputtype>
      <MATH equation="X / 100">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
  </XDFTABLE>


=>Trouver l'adresse Hexadecimal pour la RPM Legend

Chercher la valeur hexa se situant après 09 54 0B 48 0D



Deuxieme maniere de le trouver c'est juste deux lignes sous la TPS legend. Par la suite, on verra que ça peut servir pour trouver des maps.

Code xml correspondant :

<XDFTABLE uniqueid="0xE73" flags="0x30">
    <title>RPM breakpoints #4CCC6 OK</title>
    <description>The x legend point of the maps.</description>
    <XDFAXIS id="x" uniqueid="0x0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <units>RPM</units>
      <indexcount>1</indexcount>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="0.00" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0x0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>32</indexcount>
      <outputtype>4</outputtype>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="1" />
      <LABEL index="1" value="2" />
      <LABEL index="2" value="3" />
      <LABEL index="3" value="4" />
      <LABEL index="4" value="5" />
      <LABEL index="5" value="6" />
      <LABEL index="6" value="7" />
      <LABEL index="7" value="8" />
      <LABEL index="8" value="9" />
      <LABEL index="9" value="10" />
      <LABEL index="10" value="11" />
      <LABEL index="11" value="12" />
      <LABEL index="12" value="13" />
      <LABEL index="13" value="14" />
      <LABEL index="14" value="15" />
      <LABEL index="15" value="16" />
      <LABEL index="16" value="17" />
      <LABEL index="17" value="18" />
      <LABEL index="18" value="19" />
      <LABEL index="19" value="20" />
      <LABEL index="20" value="21" />
      <LABEL index="21" value="22" />
      <LABEL index="22" value="23" />
      <LABEL index="23" value="24" />
      <LABEL index="24" value="25" />
      <LABEL index="25" value="26" />
      <LABEL index="26" value="27" />
      <LABEL index="27" value="28" />
      <LABEL index="28" value="29" />
      <LABEL index="29" value="30" />
      <LABEL index="30" value="31" />
      <LABEL index="31" value="32" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedaddress="0x4CCC6" mmedelementsizebits="16" mmedrowcount="32" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <decimalpl>1</decimalpl>
      <min>0.000000</min>
      <max>13000.000000</max>
      <outputtype>2</outputtype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
  </XDFTABLE>





=>Trouver l'adresse hexadecimal pour la Fuel Map

Chercher la valeur hexa se situant après 58 02 00 00 C8 00



Code xml correspondant :

  <XDFTABLE uniqueid="0x5753" flags="0x30">
    <title>Fuel map #4CF9E OK</title>
    <description>The main fuel map.&#013;&#010;au debut 4CF9A</description>
    <XDFAXIS id="x" uniqueid="0x0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>20</indexcount>
      <embedinfo type="3" linkobjid="0x2C6E" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0x0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>32</indexcount>
      <outputtype>2</outputtype>
      <embedinfo type="3" linkobjid="0xE73" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedaddress="0x4CF9E" mmedelementsizebits="16" mmedrowcount="32" mmedcolcount="20" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <decimalpl>1</decimalpl>
      <min>0.000000</min>
      <max>15000.000000</max>
      <outputtype>2</outputtype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
  </XDFTABLE>



=>Trouver l'adresse hexadecimal pour la speedo correction

Chercher quelques chose comme B8 0B 00 01 01 01 ou B8 0B 01 01 00 00 ou  B8 0B 01 00 01 00

En gros on cherche une sequence de 6 valeurs hexadecimal commencant par B8 0B
La 7eme Valeur commence souvent par F car les valeurs sont souvent autour de 1000



Code xml correspondant :

<XDFTABLE uniqueid="0x18E7" flags="0x0">
    <title>Speedo Correction #4F0CC 1*1 OK</title>
    <description>Describes number of ticks of encoder to count as 1 rev.&#013;&#010;Increase to lower speedometer reading.&#013;&#010;&#013;&#010;SportClassic Mono DP: 1022&#013;&#010;SportClassic Mono Stock: 1525&#013;&#010;SportClassic Bipo DP Stock: 1565&#013;&#010;No ABS or Conti abs: 1547&#013;&#010;Norge 2v abs:            13044&#013;&#010;Stelvio Bosch abs:      11811&#013;&#010;Breva 1200 no ABS    1630</description>
    <CATEGORYMEM index="0" category="1" />
    <CATEGORYMEM index="1" category="2" />
    <XDFAXIS id="x" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>1</indexcount>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="0.00" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>1</indexcount>
      <outputtype>4</outputtype>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedaddress="0x4F224" mmedelementsizebits="16" mmedrowcount="1" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <decimalpl>2</decimalpl>
      <min>0.000000</min>
      <max>255.000000</max>
      <outputtype>1</outputtype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
  </XDFTABLE>




=>Trouver le Choix du langage

Celle-ci se trouve 3 valeurs après le dashboard text et commence par 40.

Rappel de quelques valeurs

EU : 40
UK :41
USA : 42
CANADA : 43
Français : 44
Japonais : 45



Code Xml Correspondant :

<XDFTABLE uniqueid="0x438F" flags="0x0">
    <title>Langage Tableau de Bord #4C142  OK</title>
    <description>&#013;&#010;EU : 40&#013;&#010;UK :41&#013;&#010;USA : 42&#013;&#010;CANADA : 43&#013;&#010;Fran&#231;ais : 44&#013;&#010;Japonais : 45</description>
    <XDFAXIS id="x" uniqueid="0x0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>1</indexcount>
      <decimalpl>1</decimalpl>
      <outputtype>2</outputtype>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0x0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>1</indexcount>
      <decimalpl>1</decimalpl>
      <outputtype>2</outputtype>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedaddress="0x4C142" mmedelementsizebits="8" mmedrowcount="1" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <decimalpl>1</decimalpl>
      <min>0.000000</min>
      <max>255.000000</max>
      <outputtype>3</outputtype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
  </XDFTABLE>




=>Trouver la  table Water Temp legend

5A 00 5F 00 64 00



Code xml correspondant :

<XDFTABLE uniqueid="0x7FDD" flags="0x0">
    <title>Water Temp  legend 0#4CDA0 (16*1) OK</title>
    <description>21-165 x16</description>
    <CATEGORYMEM index="0" category="1" />
    <CATEGORYMEM index="1" category="3" />
    <XDFAXIS id="x" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>1</indexcount>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="0.00" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>16</indexcount>
      <outputtype>2</outputtype>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="00" />
      <LABEL index="1" value="01" />
      <LABEL index="2" value="02" />
      <LABEL index="3" value="03" />
      <LABEL index="4" value="04" />
      <LABEL index="5" value="05" />
      <LABEL index="6" value="06" />
      <LABEL index="7" value="07" />
      <LABEL index="8" value="08" />
      <LABEL index="9" value="09" />
      <LABEL index="10" value="10" />
      <LABEL index="11" value="11" />
      <LABEL index="12" value="12" />
      <LABEL index="13" value="13" />
      <LABEL index="14" value="14" />
      <LABEL index="15" value="15" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedaddress="0x4CDA0" mmedelementsizebits="16" mmedrowcount="16" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <decimalpl>0</decimalpl>
      <min>0.000000</min>
      <max>255.000000</max>
      <outputtype>1</outputtype>
      <MATH equation="X-40">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
  </XDFTABLE>




=>Trouver la  table Air Temp Legend

EF 03 F5 03 00 04




Code xml correspondant :

<XDFTABLE uniqueid="0x1172" flags="0x0">
    <title>Air Temp legend  #4CD80  (16*1) OK</title>
    <CATEGORYMEM index="0" category="1" />
    <CATEGORYMEM index="1" category="3" />
    <XDFAXIS id="x" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <units>&#176;C</units>
      <indexcount>1</indexcount>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="0.00" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>16</indexcount>
      <outputtype>4</outputtype>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="1" />
      <LABEL index="1" value="2" />
      <LABEL index="2" value="3" />
      <LABEL index="3" value="4" />
      <LABEL index="4" value="5" />
      <LABEL index="5" value="6" />
      <LABEL index="6" value="7" />
      <LABEL index="7" value="8" />
      <LABEL index="8" value="9" />
      <LABEL index="9" value="10" />
      <LABEL index="10" value="11" />
      <LABEL index="11" value="12" />
      <LABEL index="12" value="13" />
      <LABEL index="13" value="14" />
      <LABEL index="14" value="15" />
      <LABEL index="15" value="16" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedaddress="0x4CD80" mmedelementsizebits="16" mmedrowcount="16" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <decimalpl>1</decimalpl>
      <min>0.000000</min>
      <max>255.000000</max>
      <outputtype>2</outputtype>
      <MATH equation="X-40">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
  </XDFTABLE>



=>Trouver la table Air Pressure Legend Mbar

8C 00 91 00 96 00 A0 00



Code xml correspondant :

<XDFTABLE uniqueid="0x2604" flags="0x30">
    <title>Airpressure legend Mbar 0#4CD66 (13*1) OK</title>
    <description>700-1024 x 13</description>
    <CATEGORYMEM index="0" category="1" />
    <CATEGORYMEM index="1" category="3" />
    <XDFAXIS id="x" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>1</indexcount>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="0.00" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>13</indexcount>
      <outputtype>4</outputtype>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="1" />
      <LABEL index="1" value="2" />
      <LABEL index="2" value="3" />
      <LABEL index="3" value="4" />
      <LABEL index="4" value="5" />
      <LABEL index="5" value="6" />
      <LABEL index="6" value="7" />
      <LABEL index="7" value="8" />
      <LABEL index="8" value="9" />
      <LABEL index="9" value="10" />
      <LABEL index="10" value="11" />
      <LABEL index="11" value="12" />
      <LABEL index="12" value="13" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedaddress="0x4CD66" mmedelementsizebits="16" mmedrowcount="13" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <decimalpl>1</decimalpl>
      <min>600.000000</min>
      <max>1025.000000</max>
      <outputtype>2</outputtype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
  </XDFTABLE>






=>Trouver la table Correction Throttle negatif mouvement    aux alentours des 4EBBC

96 00 96 00 96
trouver le dernier 96 et remonter de deux 96



ce qui donne dans le logiciel tunerpro



Code xml correspondant :

<XDFTABLE uniqueid="0x6C59" flags="0x0">
    <title>Correction Throttle negative movement #4EBBC (20*1) OK</title>
    <CATEGORYMEM index="0" category="1" />
    <CATEGORYMEM index="1" category="2" />
    <XDFAXIS id="x" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>1</indexcount>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="0.00" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>20</indexcount>
      <embedinfo type="3" linkobjid="0x2C6E" />
      <datatype>57</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x03" mmedaddress="0x4EBBC" mmedelementsizebits="16" mmedrowcount="20" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <decimalpl>2</decimalpl>
      <min>0.000000</min>
      <max>255.000000</max>
      <outputtype>1</outputtype>
      <MATH equation="X/1000">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
  </XDFTABLE>


=>Trouver la table Correction Throttle Posistif Mvt ( situés 80 valeurs avant la table correction Throttle Negatif Mvt

ce qui donne dans tunerpro




code xml correspondant :

<XDFTABLE uniqueid="0x6D2F" flags="0x0">
    <title>Correction Throttle positive movement ??</title>
    <CATEGORYMEM index="0" category="1" />
    <CATEGORYMEM index="1" category="2" />
    <XDFAXIS id="x" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>1</indexcount>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <LABEL index="0" value="0.00" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0x0">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>20</indexcount>
      <embedinfo type="3" linkobjid="0x2C6E" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x02" mmedaddress="0x4EBC" mmedelementsizebits="16" mmedrowcount="20" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <decimalpl>3</decimalpl>
      <min>0.000000</min>
      <max>255.000000</max>
      <outputtype>1</outputtype>
      <MATH equation="X/1000">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
  </XDFTABLE>




voici pour aujourd'hui, n'hesitez pas à participer

Hors ligne LL

  • Riders d'argent
  • ***
  • Messages: 789
    • 848
[Tuto] Préparer ses Patterns .Xdf pour logiciel TunerPro
« Réponse #1 le: novembre 22, 2015, 14:58:29 »
je referrai mes images taille illisible désolé !!

Hors ligne LL

  • Riders d'argent
  • ***
  • Messages: 789
    • 848
[Tuto] Préparer ses Patterns .Xdf pour logiciel TunerPro
« Réponse #2 le: avril 09, 2020, 13:37:39 »
Je viens de reprendre mon fichier xdf pour mon 848.

On a vu comment trouver les tables les plus importantes tel que

Fuel Main qui correspond aux valeurs en ms des temps d'injection pour le cylindre Horizontal
Offset Fuel qui correspond au delta à appliquer à la map Fuel Main pour obtenir les temps d'injection du cylindre Vertical.

Les développeurs ont décidé de procéder ainsi,  c'est pourquoi il peut-etre intéressant de créer une table virtuelle ( je dis virtuelle car elle n'existe pas au sein de l'ecu. Cette table pourrait directement refleter les temps d'injection finaux après application du delta.

Voici la méthode à utiliser

Premiere etape:  le logiciel tunerpro attribue une valeur d'identifiant à chaque parametre ( table, drapeaux, fonction).

Cette valeur est inscrite tout en haut de la fenetre quand vous faites editer
Il nous faut récupérer la valeur correspondant à la map fuel ( cylindre horizontal donc)



Ici la valeur de l'identifiant est 20480.

Ensuite, il nous faut  récupérer l'adresse hexadécimal qui correspond à la Delta Map Fuel ( Cylindre vertical)



Maintenant, il nous faut créer la Map virtuelle, pour le départ, elle reprend les mêmes infos que la delta map fuel



Pour les onglets Rows et Column on reutilise les memes informations.

C'est sur la case conversion qu'il faut intervenir :



Appuyez sur Apply et vous n'avez plus qu'à vérifier.

Pour créer une table virtuelle correspondant aux temps d'avance du cylindre vertical, la fonction à utiliser est la suivante :

(X/10) +THAT(z ;ROW();COL();FALSE)

dans laquelle vous devrez remplacer z par l'identifiant de la table d'injection du cylindre horizontal

Et voilou. enjoy




Hors ligne GratterDD

  • Riders débutant
  • *
  • Messages: 154
    • 999S
[Tuto] Préparer ses Patterns .Xdf pour logiciel TunerPro
« Réponse #3 le: avril 10, 2020, 11:45:21 »
Intéressant tout ça!!!!👍👍👍👍

 

SMF spam blocked by CleanTalk