- バックアップ一覧
- ソース を表示
- Products/G-SSM65/BinaryProtocol は削除されています。
通信プロトコル †
概要 †
SSMプロトコルによって得られる ECUデータのほかに、基板に実装された加速度センサ、LED、スイッチなどのデータをやりとりするためのものである。SSMのパケットをカプセル化するのではなく、独自仕様のプロトコルに変換する。
- ホスト(PC)がコマンドを送信する
- 基板が応答する
通信方式 †
方式 | RS-232C |
ビット | 8bit |
パリティ | なし |
フロー | なし |
ボーレート | 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400bps |
パケットの基本構造 †
- Simple is Best
- Big Endian
送信(PC)側 †
アドレス | MSB/LSB | データ |
0 | MSB | コマンド |
1 | LSB | コマンド |
2 | | データサイズ (n = 0 to 255) |
| | |
3 + n | | チェックサム |
応答(基板)側 †
アドレス | MSB/LSB | データ |
0 | | データサイズ (n = 0 to 255) |
| | |
1 + n | | チェックサム |
コマンドリスト †
- 未実装のコマンドは、応答しない...
送信(PC)側 | | 応答(基板)側 |
コマンド番号 | データサイズ | データ型 | 取得データ名称 | | データサイズ | データ型 | 応答、単位など |
0x0000 | 0x00 | | Ping | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
0x0001 | 0x00 | | CPU Reset | | | | なし (応答しない) |
0x0002 | 0x00 | | EEPROM初期化 | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
基板情報を取得するコマンド群 |
0x0010 | 0x00 | | 基板名 | | n | char | ASCIIコード |
0x0011 | 0x00 | | 基板バージョン | | n | char | ASCIIコード |
0x0012 | 0x00 | | 基板ロット番号 | | 0x02 | unsigned int | |
0x0013 | 0x00 | | 基板シリアル番号 | | 0x02 | unsigned int | |
0x0018 | 0x00 | | ファームウェア名 | | n | char | ASCIIコード |
0x0019 | 0x00 | | ファームウェアバージョン | | n | char | ASCIIコード |
0x001A | 0x00 | | プロトコルバージョン | | n | char | ASCIIコード |
日時を取得/設定するコマンド群 |
0x0020 | 0x00 | | 現在時を得る | | 0x01 | unsigned char | |
0x0021 | 0x00 | | 現在分を得る | | 0x01 | unsigned char | |
0x0022 | 0x00 | | 現在秒を得る | | 0x01 | unsigned char | |
0x0023 | 0x00 | | 現在ミリ秒を得る | | 0x02 | unsigned int | |
0x0028 | 0x01 | unsigned char | 現在時を設定する | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
0x0029 | 0x01 | unsigned char | 現在分を設定する | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
0x002A | 0x01 | unsigned char | 現在秒を設定する | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
0x002B | 0x02 | unsigned int | 現在ミリ秒を設定する | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
スイッチを取得するコマンド群 |
0x0030 | 0x00 | | スイッチ1を得る | | 0x01 | unsigned char | スイッチFIFOから、ボタンの押下(立下りエッジ)状態 0/1 を得る |
0x0031 | 0x00 | | スイッチ2を得る | | 0x01 | unsigned char | スイッチFIFOから、ボタンの押下(立下りエッジ)状態 0/1 を得る |
ギア比を取得/設定するコマンド群 |
0x0040 | 0x00 | | 最終減速比 | | 0x02 | unsigned int | (0 to 65535) / 1000 |
0x0041 | 0x00 | | 1速 | | 0x02 | unsigned int | (0 to 65535) / 1000 |
0x0042 | 0x00 | | 2速 | | 0x02 | unsigned int | (0 to 65535) / 1000 |
0x0043 | 0x00 | | 3速 | | 0x02 | unsigned int | (0 to 65535) / 1000 |
0x0044 | 0x00 | | 4速 | | 0x02 | unsigned int | (0 to 65535) / 1000 |
0x0045 | 0x00 | | 5速 | | 0x02 | unsigned int | (0 to 65535) / 1000 |
0x0046 | 0x00 | | 6速 | | 0x02 | unsigned int | (0 to 65535) / 1000 |
0x0047 | 0x00 | | 7速 | | 0x02 | unsigned int | (0 to 65535) / 1000 |
0x0048 | 0x02 | unsigned int | (0 to 65535) / 1000 最終減速比 | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
0x0049 | 0x02 | unsigned int | (0 to 65535) / 1000 1速 | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
0x004A | 0x02 | unsigned int | (0 to 65535) / 1000 2速 | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
0x004B | 0x02 | unsigned int | (0 to 65535) / 1000 3速 | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
0x004C | 0x02 | unsigned int | (0 to 65535) / 1000 4速 | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
0x004D | 0x02 | unsigned int | (0 to 65535) / 1000 5速 | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
0x004E | 0x02 | unsigned int | (0 to 65535) / 1000 6速 | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
0x004F | 0x02 | unsigned int | (0 to 65535) / 1000 7速 | | 0x00 | | なし(データサイズとチェックサムだけ返ってくる) |
タイヤサイズを取得/設定するコマンド群 |
0x0050 | 0x00 | | タイヤ幅 | | 0x02 | unsigned int | (0 to 65535) mm |
0x0051 | 0x00 | | 扁平率 | | 0x01 | unsigned char | (0 to 255) % |
0x0052 | 0x00 | | 直径 | | 0x01 | unsigned char | (0 to 255) Inch |
0x0058 | 0x02 | unsigned int | (0 to 65535) mm タイヤ幅 | | | | なし(データサイズとチェックサムだけ返ってくる) |
0x0059 | 0x01 | unsigned char | (0 to 255) % 扁平率 | | | | なし(データサイズとチェックサムだけ返ってくる) |
0x005A | 0x01 | unsigned int | 0 to 255) Inch 直径 | | | | なし(データサイズとチェックサムだけ返ってくる) |
現在値を取得するコマンド群 |
0x1000 | 0x00 | | 車速 | | 0x02 | unsigned int | (0 to 65535) km/h |
0x1001 | 0x00 | | エンジン回転数 | | 0x02 | unsigned int | (0 to 65535) rpm |
0x1002 | 0x00 | | スロットル | | 0x01 | unsigned char | (0 to 100) % |
0x1003 | 0x00 | | ブースト圧 | | 0x02 | int | (-32768 to 32767) / 1000 kg/cm^2 |
0x1004 | 0x00 | | 水温 | | 0x02 | int | (-32768 to 32767) C |
0x1005 | 0x00 | | 吸気温 | | 0x02 | int | (-32768 to 32767) C |
0x1006 | 0x00 | | バッテリ電圧 | | 0x01 | unsigned char | (0 to 255) / 10 V |
0x1007 | 0x00 | | Mass Air Flow | | 0x02 | unsigned int | (0 to 65535) / 100 |
0x1008 | 0x00 | | A/F | | 0x02 | unsigned int | (0 to 65535) / 100 |
0x1009 | 0x00 | | イグニッション | | 0x02 | int | (-32768 to 32767) / 100 deg |
0x100A | 0x00 | | ノッキング | | 0x02 | int | (-32768 to 32767) / 100 deg |
0x100B | 0x00 | | 瞬間燃費 | | 0x02 | unsigned int | (0 to 65535) / 100 km/h |
0x100C | 0x00 | | シフトポジション | | 0x01 | unsigned char | (0 to 255) Shift |
0x100D | 0x00 | | X軸加速度 | | 0x02 | int | (-32768 to 32767) / 1000 G |
0x100E | 0x00 | | Y軸加速度 | | 0x02 | int | (-32768 to 32767) / 1000 G |
0x100F | 0x00 | | Z軸加速度 | | 0x02 | int | (-32768 to 32767) / 1000 G |
最大値を取得するコマンド群 |
0x2000 | 0x00 | | 車速 | | 0x02 | unsigned int | 0 to 65535 km/h |
0x2001 | 0x00 | | エンジン回転数 | | | | |
0x2002 | 0x00 | | スロットル | | | | |
0x2003 | 0x00 | | ブースト圧 | | | | |
0x2004 | 0x00 | | 水温 | | | | |
0x2005 | 0x00 | | 吸気温 | | | | |
0x2006 | 0x00 | | バッテリ電圧 | | | | |
0x2007 | 0x00 | | Mass Air Flow | | | | |
0x2008 | 0x00 | | A/F | | | | |
0x2009 | 0x00 | | イグニッション | | | | |
0x200A | 0x00 | | ノッキング | | | | |
0x200B | 0x00 | | 瞬間燃費 | | | | |
0x200C | 0x00 | | シフトポジション | | | | |
最小値を取得するコマンド群 |
0x3000 | 0x00 | | 車速 | | 0x02 | unsigned int | 0 to 65535 km/h |
0x3001 | 0x00 | | エンジン回転数 | | | | |
0x3002 | 0x00 | | スロットル | | | | |
0x3003 | 0x00 | | ブースト圧 | | | | |
0x3004 | 0x00 | | 水温 | | | | |
0x3005 | 0x00 | | 吸気温 | | | | |
0x3006 | 0x00 | | バッテリ電圧 | | | | |
0x3007 | 0x00 | | Mass Air Flow | | | | |
0x3008 | 0x00 | | A/F | | | | |
0x3009 | 0x00 | | イグニッション | | | | |
0x300A | 0x00 | | ノッキング | | | | |
0x300B | 0x00 | | 瞬間燃費 | | | | |
0x300C | 0x00 | | シフトポジション | | | | |
データタイプ †
INTEGER †
Type | Bits | Min | Max |
char | 8 | -128 | 127 |
unsigned char | 8 | 0 | 255 |
int | 16 | -32768 | 32767 |
unsigned int | 16 | 0 | 65535 |
long | 32 | -2^31 | 2^31 -1 |
unsigned long | 32 | 0 | 2^32 -1 |
FLOATING POINT †
Type | Bits | E Min | E Max | N Min | N Max |
float, double | 32 | -126 | 127 | 2^-126 | 2^128 |
History †
Rev.0 2008/12/-- †