コンテンツにスキップ
これは開発版のドキュメントである. 内容は次のリリースまでに変更される可能性がある. 最新のリリース版は 0.14.x を参照.

時刻同期

複数のデバイスからの超音波出力を揃えるため, 各デバイスの時刻を PTP (Precision Time Protocol, IEEE 1588) で同期させている.

ID 0 のデバイスが基準になり, 他のデバイスは, ユーザの送信したデータとは別にPTP同期用の通信を自動的に行い, 基準の時刻へ自分の時計を合わせ続ける. 基準との時刻ずれが十分小さくなった状態を「ロックした」と言う. なんらかの理由でPTP同期用の通信が行われないなどで, 基準との時刻ずれが大きくなった場合はロックを失う.

各デバイスがロックしているかどうかは返信の device_status で確認できる (状態監視 参照).

揃えた時刻は SysTime として, TransitionMode::SysTime などで出力を切り替える時刻の指定に使うことができる. この時刻は Client を開いた時点から相対的に数える.

Client::open は全デバイスの同期が終わるまで待つ.