頭が痛いのでMacは触らずに仕様だけ考えるモード。
半分以上業務連絡的なポスト。
【GPS】
マップマッチングロジックを考えてたら、
やはり衛星のロストとか捕捉数が必要な気がしてきた。
捕捉中かどうかは、RMCメッセージでわかるんだろうけど、
これってRS-232Cでくるから、実際はメッセージはバラバラにくるんだよね?
まぁGPSのActive/Void、捕捉数は最後の該当メッセージのを貰えばいいのか。
捕捉数4以下の、座標が著しく跳ねたデータを除外するとか、
まぁある程度フィルタなり平均なりすればいいんだけど。
厳密にやるなら、衛星の位置を全部もらって、
天頂方向にしかない場合は、GPSのメリット値を下げないとダメだけど、
そこまでやっても、センサーによって色々違うしね。
【点火タイミング】
点火タイミングも撮っておくと、リタードが入ったときにわかるなとか。
夏専用だけど。
ODBのプロトコルみてると、
01 0e -> xx Ignition timing advance Cyl #1 deg X*0.5-64
1バイトあればいいっぽいか。1番シリンダとかでてるけど、
別に気筒ごとに測ってるわけではないのねこれ。
【2次排気エアポンプ作動】
S2000は排ガス規制を誤魔化すに対応するために、
排気をもう1回吸気に持ってきてる。
これはコールドスタート時の1分だけなんだけど、
ECUから線出てたよーな気がするんですが。
手元に配線図ないんでちと不明。
そろそろハード側のI/Oが足りなくなってきそうですが。
そこはきっとエロい人が、並列ARMさんとかでなんとかしてくれそうな気がした。
==========================================================
- - - - - -
Byte[8] ID //ただし[7]は\0固定
- - - - - -
unsigned short エンジン回転数 //LSB=1rpm
unsigned short 車速 //LSB=0.01km/h
Byte スロットル開度 //LSB=1%
Byte 燃料 //LSB=1%
Byte 空燃比 //LSB=0.1%
Byte 電圧 //LSB=0.1V
- - - - - -
unsigned short 吸気圧 //LSB=0.1Kpa (絶対圧)
unsigned short 吸気温度 //LSB=0.1℃
unsigned short 水温 //LSB=0.1℃
unsigned short 排気温度 //LSB=1℃
- - - - - -
unsigned short 室温 //LSB=0.1℃
unsigned short 外気温 //LSB=0.1℃
unsigned short O2センサー //LSB=0.1V
unsigned short 方位 //LSB=0.1 磁北=0 東=90
- - - - - -
Byte 緯度DDD //NMEA Format
Byte 緯度MM //NMEA Format
short 緯度.MMMM //【N】MSB=0/【S】MSB=1
Byte 経度DD //NMEA Format
Byte 経度MM //NMEA Format
short 経度MMMM //【E】MSB=0/【W】MSB=1
- - - - - -
unsigned int 車速パルス //LSB=1パルス(64パルス計算)
- - - - - -
unsigned short タイヤ空気圧(FR) //LSB=0.1Kgm/cm2
unsigned short タイヤ空気圧(FL) //LSB=0.1Kgm/cm2
unsigned short タイヤ空気圧(RR) //LSB=0.1Kgm/cm2
unsigned short タイヤ空気圧(RL) //LSB=0.1Kgm/cm2
- - - - - -
Byte タイヤ空気温度(FR) //LSB=1℃
Byte タイヤ空気温度(FL) //LSB=1℃
Byte タイヤ空気温度(RR) //LSB=1℃
Byte タイヤ空気温度(RL) //LSB=1℃
Byte TPMS電池残量(FR) //0(空)-3(満)
Byte TPMS電池残量(FL) //0(空)-3(満)
Byte TPMS電池残量(RR) //0(空)-3(満)
Byte TPMS電池残量(RL) //0(空)-3(満)
- - - - - -
Byte ステータスBit ///+0(LSB) ライト
///+1 GPS捕捉
///+2 後退信号
///+3 サイドブレーキ
///+4 可変バルブタイミング
Byte GPSステータス ///1=Active/0=Void <<New
Byte GPS衛星捕捉数 ///0-32(が上限だっけ) <<New
Byte 2次排気エア作動 ///1=作動中,0=未作動 <<New
Byte Reserved
Byte Reserved1
Byte Reserved2
Byte Reserved3
- - - - - -
unsigned short Reserved 燃圧 //LSB=1Kpa (絶対圧) (取得不可)
unsigned short Reserved 油圧 //LSB=1Kpa (絶対圧) (取得不可)
unsigned short Reserved 油温 //LSB=0.1℃ (取得不可)
=========================================================
Objective-Cに合わせて、ちょっとReservedを入れておこう。
2バイトでないと、怒られるしね。
某EDFC的なアレの仕様も入れておこうと思ったけど、
まず可動させないとねー。
TPMSは嫌がらせに残しておく。
よし、日付も変わって、頭痛が激痛に変わったので、寝ましょう。お休みなさいませ。
0 件のコメント:
コメントを投稿