TODO: GIF

This is a very common way to get exact movement between a video and the machine. The mode puts all the motion in a row (like a movie) into a CSV file. Handy takes care of the mechanical and network delays so that the motion is perfectly in sync.

To understand how the sync works, you need to know two basic ideas:

Flow

Handy_Illustration_TimeSyncAndFunctions_Flow.jpg

  1. Client (example a browser where the video is playing) sends a hssp/setup command through the API with a URL to where the CSV file is hosted.
  2. Handy downloads the CSV script from the URL and returns a OK message
  3. The user clicks play on the video
  4. Client sends hssp/play command with estimated server time ($\hat{T}_{server}$ estimatedServerTime) and the current time of the video (startTime) [ms].
  5. Handy calculate the current playtime with by subtracting $\hat{T}{server}$ from the server time received. The delta is the estimation of the latency of the message ($\hat{T}{\Delta}$). Playtime is the incoming startTime + $\hat{T}_{\Delta}$. Handy starts to read the commands in the script in sequence and moves in advance to cater to mechanical latency. Returns ok.

<aside> 💡 Storing files is not always easy. To save you the hassle to set up your own servers we have created a temporary hosting point that you can use: LINK

</aside>

Other

Limitations

<aside> 🤖 Cover image [DALL-E]: robot that looks like a book

Untitled

</aside>