いまのところGT-AのECUを弄る予定はありませんが、メモとして残しておきます。
なにかと言うとECUFLashの定義ファイルについてです。
この定義ファイルが、理解できれば他のパラメータの登録も可能です。
では、ECUFlashの定義ファイル(例ⅦGT-A[80700010.xml])用で説明します。
以下定義ファイル内にある「speed」に関する定義です。
単位定義するのが<scaling>です。
---------------------------------------------------
<scaling name="VehicleSpeed" units="km/h" toexpr="x*2" frexpr="x/2" format="%.0f" min="0" max="510" inc="1" storagetype="uint16" endian="big"/>
---------------------------------------------------
scaling name="VehicleSpeed" :項目名
units="km/h" :単位名
toexpr="x*2" :xはECUで扱っている値です。 xを計算式に与えると、実際のspeedになります。
frexpr="x/2" :ECUFlashでECUへ書き込むときの値を計算する関数です。
format="%.0f" min="0" max="510" inc="1": ECUFlashで表示する表の定義です。時速0.0km(min)~510.0km(max) 単位1カウントです。
storagetype="uint16" :先の関数で使用するECU内のxのデータ保存長16bit(2BYTE)の定義です。
実際の使用は、テーブル定義で表示されます。
---------------------------------------------------
<table name="Speed Limit" category="Limits" address="158e" type="2D" scaling="VehicleSpeed">
<table name="Condition" type="Static Y Axis" elements="2">
<data>On</data>
<data>Off</data>
</table>
</table>
---------------------------------------------------
table name="Speed Limit" :スピードレブリミット表
category="Limits" :ECUFlashのカテゴリー種別
address="158e" :レブリミットが入っているECUのアドレス(158cバイト目から2バイト)
type="2D" :2次元表示形式(他に1D、3Dあり)の指定
scaling="VehicleSpeed" :使用する<scaling>
table name="Condition" type="Static Y Axis" elements="2":表示するテーブルの構成
GT-A純正ECUの"158e"~"1591"アドレスの中身(画像参照)
158e:00 5c 00 57
リミッターon x=005c(16進数)=92(10進数)
リミッターoff x=0057(16進数)=87(10進数)
上記値は、ECU内数値ですので一般的なspeed表現に関数を使って変更します。
toexpr="x*2" 92×2=184km
toexpr="x*2" 87×2=174km
+------------+
| Speed Limit |
+-----+------+
|on | 184.0 | ・・・184kmでリミッターが効いて、174kmまで下がるとリミッターが解除されます。
|off | 174.0 |
+-----+------+
183km/hまではリミッターが効きませので183km/kで走り続けることが出来ます。
ちなみにリミッター解除を250km/h(off:240km/h)と指定すると
frexpr="x/2" x=250
frexpr="x/2" x=240
frexpr=250/2=125(10進数)=007d(16進数)、
frexpr=240/2=120(10進数)=0078(16進数)となり、
ECUアドレス158eから「00 7d 00 78」とセットすれば、リミッターカット成功です。
他にも燃料マップなど、同じ考えでMAPを書き換えられます。
Posted at 2011/08/16 15:32:40 | |
トラックバック(0) |
GT-A | クルマ