- バックアップ一覧
- ソース を表示
- 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/-- †