
Each client specifies its data port by sending a register endpoint packet to the control socket. The data socket is used to stream periodic eye tracking data to clients. The backend service is always listening on the control socket for client requests, and the responses to those requests are sent back to the source UDP port that was specified in the request packet. The control socket is constant, and is configured to 11032.

In order to support multiple clients simultaneously, all communications between clients and the Backend Service is performed using UDP sockets.
ITRACKING AUUTOTUNE PC
Other streams, such as the gaze vector stream, must be subscribed to.īackend ServiceThe AdHawk Backend Service is the PC host component that communicates with AdHawk’s eye tracking hardware over USB, and allows multiple clients to interact with and receive data from the eye tracking module. Some streams like the tracker ready signal is always broadcasted. Stream InterfaceAdHawk’s Eye Tracking module streams status and tracking data. See the return codes section for details. The responses that contain the result of the request consist of a 1-byte integer, where 0 indicates no error and successful execution of the requested command, and a non-zero value denotes the nature of error encountered while servicing the request. The clients should only issue one request at a time. All requests to the control interface will receive a response, either containing the requested information, or containing the result of the request. The Control Packets section describes the list of available commands that the client/host can request over the control interface.Ī request to the control interface may take up to 8 seconds to complete. The client/host initiates a command over the control interface by sending a request packet.

The length of payload is variable depending on the packet type.Python or C SDK via Backend Communication ProtocolThe communication packets consist of a packet type followed by zero or more data bytes: The advantage of running in this mode is that multiple apps can be run at the same time. The C SDK can also be set up to proxy commands in this fashion. Python SDK, which is built on top of the communication protocol, but proxies commands through the AdHawk Backend Service.

C SDK, which is built on top of the communication protocol and communicates with the device directly over USB or SPI.OverviewThe purpose of this document is to describe the APIs used to interface with AdHawk’s Eye Tracking module.Ĭommunication with the AdHawk Eye Tracking module can be accomplished via:
