• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

wildspeedのブログ一覧

2013年08月25日 イイね!

Learning Table

Learning Table

先週、ブログで報告したLearning Tableの表示問題の続き。

前回、IAMは0.000のままで、FLKCテーブルの一部に変な値が表示されるという不具合があったわけだが、この問題を解決するためにJAVAのソースから調べてみた。



Learning Table関連のソースを見てみると、ロガーパラメーターを指定している記述を発見。

    E1("E1"),    // IAM 16 bit
    E31("E31"), // IAM 32 bit
    E12("E12"), // Fine Learning Knock Correction*
    E41("E41"), // Fine Learning Knock Correction (4-byte)*
    E13("E13"), // AF Learning 1A 16 bit
    E14("E14"), // AF Learning 1B 16 bit
    E15("E15"), // AF Learning 1C 16 bit
    E16("E16"), // AF Learning 1D 16 bit
    E44("E44"), // AF Learning 1A 32 bit
    E45("E45"), // AF Learning 1B 32 bit
    E46("E46"), // AF Learning 1C 32 bit
    E47("E47"), // AF Learning 1D 32 bit
    E62("E62"), // AF Learning 2A 32 bit
    E63("E63"), // AF Learning 2B 32 bit
    E64("E64"), // AF Learning 2C 32 bit
    E65("E65"), // AF Learning 2D 32 bit
    P2("P2"),    // ECT
    P11("P11"), // IAT
    P17("P17"), // Battery Volts
    P24("P24"), // ATM
    P66("P66"), // AF Learning 3
    P115("P115"),   // Learned Throttle Closed Voltage
    P118("P118"),   // AF Learning 4
    P153("P153"),   // Whole Learning value in timing
    E173("E173");   // Fine Learning Knock Correction Table Start (4-byte)*


IAMは、てっきり基本パラメーターのP90を見ているものだと思っていたら、E31(4バイト)の方を参照していることが判明した。
確認のために作成した定義ファイルを見てみると、なんとアドレスが間違っているではないか!
先週ダッシュボード上で見た時は問題ないと思っていたが、たぶん1バイトの方を見ていたようだ。
とりあえずコピーミスなのでさっさと修正した。


次はFLKCの表示問題。
上記のように、FLKCの値はE173を参照していることになる。
しかし、E173なんてあったけ?それとも、定義を作るときに間違って削除しまったのか?
そんなことを考えながら、配布されている定義を確認してみたが、やはりE173というパラメーターはなかった。
もしかすると、これは例外的なモデル用かもしれないと思い、今度は別なソースファイルを見ていくと、次のような記述が見つかった。

* Define the start address of the FLKC table in RAM.
* Also isolate the FLKC extended parameter to use the data converter
* when building the FLKC table queries.
*/
    private final void setFlkcTableAddress(
    ParameterRow parameterRow,
    Parameter parameterId) {

    switch (parameterId) {
    case E1:
    if (flkcAddr == 0) {
    flkcAddr = getParameterAddr(parameterRow) + 0x02;
    }
    break;
    case E31:
    if (flkcAddr == 0) {
    flkcAddr = getParameterAddr(parameterRow) + 0x14;
    }

IAMのアドレスにプラス14したアドレスからFLKCの値を読むという構文だ。
つまり、IAMのアドレスが合っていれば、FLKCは正しく表示されるということになる。

以上のように、表示の不具合は、IAMのアドレス間違いが原因ということでした(苦笑)

Posted at 2013/08/25 15:38:59 | コメント(4) | トラックバック(0) | ECU関連 | クルマ
2013年08月18日 イイね!

RomRaider 0.5.7 RC1

RomRaider 0.5.7 RC1RomRaiderの最新バージョンを試してみた。

ロガーの定義の方は、新バージョンでないと動作しないということなので改めて作成した。
配布されている定義がそのまま使用できればいいのだが、いまだに自分の車は登録されていない。


そのため、今まで使用していた定義ファイルからIDとアドレスを1つずつコピーしていくという地味な作業が必要になる。
コピー終了後は、自車以外のIDとアドレス、それとダブリのパラメーターや、ディーゼル系のエンジニアパラメーターをすべて削除した。今まで使用していた定義も同じようにしていたが、これでだいぶ見やすくなり、ファイルも軽くなる。


さて、肝心のロガーだが、ゲージ表示もロギングも問題なし。
話題のLearning View Tabe(LVT)の方はというと、FLKCの値が一部おかしくなっており、IAMが0.000のままだった。
ATMも最初は100.00Kpaという表示だったが、2度目に起動したらなぜか1.00barの表示になっていた。


確認のため、今まで使っていたLVを起動してみたが、FLKCはオールゼロだし、IAMも1.000と表示された。もちろん、ダッシュボード上でもFLKC以外は問題なく表示される。

そうなると定義側の問題だろうと思って、配布されていた定義をそのまま使用してみたら、エラーダイアログが表示されてLVTは起動できずだった。
やはり個々のパラメーターにIDが登録されていないとダメらしい。

こうなると、プログラム側になんらかの制御があるように思われる。
今のところ差し迫った問題ではないが、バージョンアップによる対応に期待したい。
Posted at 2013/08/18 17:11:25 | コメント(6) | トラックバック(0) | ECU関連 | クルマ

プロフィール

インプレッサ WRX STI spec Cに乗っています。 ECUチューンや解析をメインにやっています。
みんカラ新規会員登録

ユーザー内検索

<< 2013/8 >>

    123
45678910
11121314151617
18192021222324
25262728293031

リンク・クリップ

RomRaider 
カテゴリ:ECU関連
2008/03/23 18:33:56
 
OpenECU 
カテゴリ:ECU関連
2007/12/29 23:44:52
 

お友達

ファン

76 人のファンがいます

愛車一覧

スバル インプレッサ WRX STI スバル インプレッサ WRX STI
ECUチューニングをメインにやっています。
スバル レガシィB4 スバル レガシィB4
OpenECUでECUチューンニングをやっていました。
ヘルプ利用規約サイトマップ
©2018 Carview Corporation All Rights Reserved.