目的
修理・故障・メンテナンス
作業
DIY
難易度
初級
作業時間
30分以内
1
アドレスはword単位。BYTE ORDER は Big Endian。
003EC000~ 計算式テーブル
003F0000~ DASH3レイアウトテーブル
003F0600~ variableデータテーブル
003F2600~ Gear変換テーブル
003F2800~ ShiftLightsテーブル
003F2A00~ Display Screenテーブル
003F4000~ Startup Bitmapデータ
003F5000~ Bitmapデータ
* bit orderは MSB,[30-23,][22-15,][14-7,]6,5,4,3,2,1,LSBとすると
* word のバイト順は MSB-bit8, bit7-LSB
* floatのバイト順は bit15-bit8, bit7-LSB, MSB-bit24, bit23-bit16
2
計算式テーブル
003EC000 1word 計算式テーブル先頭マーク(0x00CD)
003EC001 1word 計算式テーブルのバイトサイズ(<SIZE>)
003EC002 可変 計算式1 (time)
003Exxxx 可変 計算式2 (long accel)
~
003Exxxx 可変 計算式184 (Last sector time)
003EC002+<SIZE>/2まで
計算式の中身 - 記述は逆ポーランド記法を使います。
+00 に word で計算式のwordサイズを入れて
+02 以降に word で、stack番号(1~)、演算子番号を順番に入れていきます。
stack番号0x0019、演算子番号0x0019、エンドマーク0x0000で終わります。
演算子一覧
0x0000 : <=
0x0001 : >=
0x0002 : !=
0x0003 : ==
0x0004 : <
0x0005 : >
0x0006 : + (加算)
0x0007 : - (減算)
0x0008 : * (乗算)
0x0009 : / (除算)
0x000A : ^ (べき乗)
0x000B : AND (論理積)
0x000C : OR (論理和)
0x000D : XOR (排他論理和)
0x0012 : 続く 2word で variable index を指定する。
0x0014 : 続く 4word で float値を指定する。
0x0015 : 続く 2word で引数の数と関数を指定する。
0x0015に続く関数
0x0001 : SIN (引数の数は1)
0x0002 : COS (引数の数は1)
0x0003 : TAN (引数の数は1)
0x0004 : ASIN (引数の数は1)
0x0005 : ACOS (引数の数は1)
0x0006 : ATAN (引数の数は1)
0x0007 : SINH (引数の数は1)
0x0008 : COSH (引数の数は1)
0x0009 : TANH (引数の数は1)
0x000A : ASINH (引数の数は1)
0x000B : ACOSH (引数の数は1)
0x000C : ATANHだと思われるが、1.2.21ではエラーとなり記述できない
0x000D : LOG2 (引数の数は1)
0x000E : LOG (引数の数は1)
0x000F : LN (引数の数は1)
0x0010 : EXP (引数の数は1)
0x0011 : SQRT (引数の数は1)
0x0012 : SIGN (引数の数は1)
0x0013 : ROUND (引数の数は1)
0x0014 : ABS (引数の数は1)
0x0015 : INT (引数の数は1)
0x0016 : IF (引数の数は3)
0x0017 : - (符号反転、 引数の数は1)
0x0018 : SUM (引数の数は可変)
0x0019 : AVG (引数の数は可変)
0x0020 : MIN (引数の数は2)
0x0021 : MAX (引数の数は2)
例1.計算式無しの場合
+00 0x0002 (サイズ)
+01 0x0000 (エンドマーク)
例2.Y = -Analog1 の場合
+00 0x000C (サイズ)
+01 0x0001 0x0012 0x00C7 0x0000 : stack1 に Analog1(variable index=200))を保存
+05 0x0001 0x0015 0x0001 0x0017 : stack1に stackから1つ取り出して-(符号反転)して保存
+09 0x0019 0x0019 (計算終了のおまじない? 25番stackに保存する?)
+0B 0x0000 (エンドマーク)
3
DASH3レイアウトテーブル
003F0000 18word Screen1 のパーツ1
003F0012 18word Screen1 のパーツ2
~
003F00B4 18word Screen2 のパーツ1
~
003F0168 18word Screen3 のパーツ1
~
003F021C 18word Screen4 のパーツ1
~
003F02D0 18word Sector のパーツ1
~
003F0384 18word Lap のパーツ1
~
003F0438 18word Min/Max のパーツ1
~
18word(36バイト)の構造
+00 word index(1~70)
+02 word variable index
+04 byte Update rate (20/Update rate:10Hzのとき0x02)
+05 byte MSB-bit6: パーツタイプ(00-digits, 01-barchat, 10-graph?, 11-text only)
bit5-bit4: フォントサイズ(01-small, 10-medium, 11-Large)
bit3: 負号表示(0-しない, 1-する)
bit2: time表示(0-しない, 1-する)
bit1: 単位表示(0-しない, 1-する)
bit0: 単位の[]表示(0-しない, 1-する。barchart時は 1 の模様)
+06 byte Leading Digits(digits表示時)
+07 byte Decimal Places(digits表示時)
+08 byte Left
+09 byte Top
+10 byte Right (barchart, graph表示時)
+11 byte Bottom (barchart, graph表示時)
+12 float Low alarm値
+16 float High alarm値
+20 8word Channel Name(最長7文字+NULL)
-------------
+04 byte 0x01
+05 byte 0x10
のとき bitmap image を意味し
+20 word bitmap image 格納先の003F5002からのoffset
となる。
4
variableデータテーブル
003F0600 1word variableデータテーブル先頭マーク(0x00C9)
003F0601 1word variableデータテーブルのバイトサイズ(0x2E04)
003F0602 32word index 1 : time
003F0622 32word index 2 : long accell
003F0642 32word index 4 : lat accell
~
003F1CE2 32word index 7010 : Last sector time
32word(64バイト)の構造
+00 word variable index
+02 word 計算式(003EC002からのオフセット。未使用時は0xFFFF)
+04 float Smoothed over値(None Setは0.0)
+08 float Maximum rate of change値(None Setは0.0)
+12 float Low alarm値(None Setは0.0)
+16 float High alarm値(None Setは0.0)
+20 4word Units(最長3文字+NULL)
+28 18word Variable Name(最長17文字+NULL)
5
Gear変換テーブル
003F2600 1word Gear変換テーブル先頭マーク(0x00CB)
003F2601 1word Gear変換テーブルのバイトサイズ(<SIZE>)
003F2602 1word Gear数(<N>)
003F2603 1word ???(0x0000)
003F2604 float 1速ギヤ速度最低値(1000rpm時)
003F2606 float 1速ギヤ速度最高値(1000rpm時)
~
003F26XX float N速ギヤ速度最低値(1000rpm時)
003F26XX float N速ギヤ速度最高値(1000rpm時)
003F26XX 1word GearBox センサー
003F26XX 1word GearBox センサー variable index
003F26XX float 1速ギヤレシオ
003F26XX float 2速ギヤレシオ
003F26XX float 3速ギヤレシオ
003F26XX float 4速ギヤレシオ
003F26XX float 5速ギヤレシオ
003F26XX float 6速ギヤレシオ
003F26XX float 7速ギヤレシオ
003F26XX float ファイナルギヤレシオ
003F26XX float タイヤの円周
003F2602+<SIZE>/2まで
6
ShiftLightsテーブル (Pulses per rev.も含む)
003F2800 1word ShiftLightsテーブル先頭マーク(0x00CC)
003F2801 1word ShiftLightsテーブルのバイトサイズ(<SIZE>)
003F2802 1word ShiftLightsテーブル variable index
003F2803 1word Diff RPM in Diff Gear フラグ
003F2804 float Pulses per revelution
003F2806 float 1番目LED点灯回転数(DiffRPM時は1速ギヤ用)
003F2808 float 2番目LED点灯回転数(DiffRPM時は1速ギヤ用)
003F280A float 3番目LED点灯回転数(DiffRPM時は1速ギヤ用)
003F280C float 4番目LED点灯回転数(DiffRPM時は1速ギヤ用)
003F280E float 5番目LED点灯回転数(DiffRPM時は1速ギヤ用)
003F2810 float 6番目LED点灯回転数(DiffRPM時は1速ギヤ用)
003F2812 float フラッシュ点灯回転数(DiffRPM時は1速ギヤ用)
003F2814 float 1番目LED点灯回転数(DiffRPM時の2速ギヤ)
~
003F2822 float 1番目LED点灯回転数(DiffRPM時の3速ギヤ)
~
003F2830 float 1番目LED点灯回転数(DiffRPM時の4速ギヤ)
~
003F283E float 1番目LED点灯回転数(DiffRPM時の5速ギヤ)
~
003F284C float 1番目LED点灯回転数(DiffRPM時の6速ギヤ)
~
003F285A float 1番目LED点灯回転数(DiffRPM時の7速ギヤ)
~
003F2802+<SIZE>/2まで
7
Display Screenテーブル
003F2A00 1word Display Screenテーブル先頭マーク(0x00CE)
003F2A01 1word Display Screenテーブルのバイトサイズ(0x0028)
003F2A02 1word Display Screenテーブル variable index
003F2A03 1word ???(0x0000)
003F2A04 float Screen1の最低値
003F2A06 float Screen1の最高値
003F2A08 float Screen2の最低値
003F2A0A float Screen2の最高値
003F2A0C float Screen3の最低値
003F2A0E float Screen3の最高値
003F2A10 float Screen4の最低値
003F2A12 float Screen4の最高値
8
Startup Bitmapデータ
003F4000 1word Startup Bitmapデータ先頭マーク(0x00CA)
003F4001 1word Startup Bitmapデータのバイトサイズ(<SIZE>)
003F4002 1byte ドットの色(白:0x00 or 黒:0xFF)
003F4003 1byte 横方向に続く数
003F4004~ 2byte 色と数をペアにして繰り返し
003F4002+<SIZE>/2まで
------------
Bitmapデータ
003F5000 1word Bitmapデータ先頭マーク(0x00D0)
003F5001 1word Bitmapデータのバイトサイズ(<SIZE>)
003F5002 1byte 縦のドット数
003F5003 1byte 幅のドット数
003F5004 ?byte 横x縦ドットのpaddingなしのbitdata
003F5XXX word align まで padding
003F5XXX 1byte 縦のドット数
003F5XXX 1byte 幅のドット数
003F5XXX ?byte 横x縦ドットのpaddingなしのbitdata
003F5XXX word align まで padding
の繰り返し
003F5002+<SIZE>/2まで
関連パーツレビュー
[PR] Yahoo!ショッピング
おすすめ順
売れている順
[PR] Yahoo!オークション
入札が多い順
終了時刻が近い順
タグ
関連コンテンツ( DASH3 の関連コンテンツ )
関連整備ピックアップ
関連リンク