ご注意。この投稿はネット上のあちこちにあるフォーラム、実機から取得したパケットを元にまとめた情報で、MYLAPS Sports Timing社の正式な仕様ではありません。この資料を元に発生したトラブル、苦情等は一切受け付けません。MYLAPSへのお問い合わせなどもしないでください。
ChipX Decoderの動作について
ChipX Decoderはシリアル出力、TCP/IP出力が行える。
某所の計測チームにおじゃまして状況を確認。ChipX DecoderをTCP/IPモードで動作させた場合、ChipX DecoderはTCP/IPサーバとして動作する。quick hackしたクライアント(pythonスクリプト)でデータ採取。以下を確認した。
- TCPでsocket接続できること
- ChipX decoderから定期的にデータが送信されること
- 取得可能なデータは独自バイナリ形式であること
ChipXデコーダのethernet情報
ARPからMACアドレス採取。
? (192.168.10.201) at 0:4:b7:xx:xx:xx on en0 ifscope [ethernet]
Vendor IDは00-04-B7
でAMB i.t.(現MYLAPS Sports Timing社)で間違いなし。
AMB i.t.(オランダ)Mac Address vendor ID
00-04-B7 (hex) AMB i.t. Holding
0004B7 (base 16) AMB i.t. Holding
Zuiderhoutlaan 4
PJ Haarlem 2012
NETHERLANDS
ネット上の解析資料まとめ
バイナリについて
可変長マルチレコードのバイナリ。エンディアンはリトル。
フォーラム一定時間ごとにデータをグルーピングして送信する仕様と推測される(実機もおおよそそのような動作をする)。
メッセージヘッダについて
バイナリにはメッセージヘッダが付与される。データタイプ、バージョン、長さ、チェックサムなど。次のデータではType Of Recordは0x0001(Passing) 0x0005(ClearPassing)が確認できる。
Header | |
---|---|
8e | SOR (Start of Record) |
02 | Version |
33:00 | length of record = 00 33 = 51 |
cf:02 | CRC = 02 cf |
00:00 | Flags = 00 00 |
01:00 | TOR (Type of Record) = 00 01 |
データレコードについて
ヘッダに続けてトランスポンダデータが飛んでくる。
data | |
---|---|
01 | PASSING_NUMBER |
04 | length 4 bytes |
b2:9b:01:00 | 00 01 9b b2 なんだこりゃ? |
03 | TRANSPONDER |
04 | length 4 bytes |
27:fc:70:00 | 00 70 fc 27 (7404583) トランスポンダーID? |
04 | RTC_TIME |
08 | length 8 bytes |
e8:19:e6![]() |
00 04 75 8a bd e6 19 e8 = Sat Oct 10 01:37:38 UTC+0000 2009 |
05 | STRENGTH |
02 | length 2 bytes |
33:00 | 00 33 = 51 |
06 | HITS |
02 | length 2 bytes |
10:00 | 00 10 = 16 |
08 | FLAGS |
02 | length 2 bytes |
00:00 | 0000 |
81 | DECODER_ID |
04 | length 4 bytes |
fc:05:04:00 | 00 04 05 fc |
8f | EOR (End of Record) |
チェックサム
未解析。
ネット上の調査によれば0x8a-0x8fのレンジは、直前に0x8dを差し込んでエスケープされる。さらに、その直後のバイト(エスケープされるバイトの1バイト後)は0x20が加算される仕様。これはいかがなものかと…。
参考資料
- DataCollector 3.0仕様 Passing Recordの項を参照のこと。
- AMB Protocol? こいつは興味深いスレッド
- AMB MyLaps tester
- schaatsnacht