Skip to content
This is the development version of the documentation. It may change before the next release. See 0.14.x for the latest release.

Time Synchronization

To align the ultrasound output of multiple devices, the time of each device is synchronized with PTP (Precision Time Protocol, IEEE 1588).

The device with ID 0 is the reference, and the other devices automatically exchange PTP synchronization messages, separately from the data the user sends, and keep adjusting their clocks to the reference time. The state in which the time offset from the reference has become small enough is called “locked”. If the time offset from the reference grows large, for example because the PTP synchronization messages are not exchanged for some reason, the device loses the lock.

Whether each device is locked can be checked with device_status of the replies (see State Monitoring).

The aligned time is available as SysTime and can be used to specify when to switch the output, for example with TransitionMode::SysTime. This time is counted relative to the moment the Client opens.

Client::open waits until every device has synchronized.