SDK with samples

Network Protocol

Introduction

A Network Communication manual describes communication with Argus Science eye tracking systems via local area network. Sample programs are provided to demonstrate communication with Argus Science eye tracking systems from C++, MFC, C#, Python, LSL, Matlab, and E-Prime. The SDK library and examples include source code so that researchers can easily see how to use the communication functions in their own programs or scripts. The manual and sample programs are normally installed as part of the ETRemote installation and can be found in Start -> ArgusScience -> ET_SDK_Samples, and Start -> ArgusScience -> Network Protocol - SDK.

ETNetLib.DLL

ETNetLib is a COM library that provides a network interface to Argus Science eye tracking systems. It can be used to send commands to control the eye tracking system via TCP, and to receive streaming live data or video from the eye tracking system via TCP or UDP. ETNetLib.DLL does use multi-threading, and therefore an application must support multi-threading to use the library.

C#

The C# sample GUI programs use the ETNetLib COM Object library and demonstrate receiving live data / video, controlling eye tracking data files, and sending XDAT values to eye tracking system. The sample applications are provided with source code as well as Visual Studio project files.

ETReceiveData: Demonstrate receiving live data from eye tracking system on a streaming data channel.

ETReceiveImage: Demonstrate receiving live image data on a streaming data channel.

ETRecordData: Demonstrate commands to control data file recording on the eye tracking system.

ETSetXDAT: Demonstrate setting eye tracking XDAT values using the command channel.

MFC

A set of four sample MFC programs, including source code and Visual Studio project files, are provided to demonstrate receiving live data / video, controlling eye tracking data files, and sending XDAT values to eye tracking system via ETNetLib COM library.

ETReceiveData: Demonstrate receiving live data from eye tracking system on a streaming data channel.

ETReceiveImage: Demonstrate receiving live image data on a streaming data channel.

ETRecordData: Demonstrate commands to control data file recording on the eye tracking system.

ETSetXDAT: Demonstrate setting eye tracking XDAT values using the command channel.

VC++

A set of seven command line sample applications are provided to show direct communication with Argus Science eye tracking systems (ETNetLib not needed). The sample applications are provided with VC++ source code as well as Visual Studio project files.

ETAutoCalibration: Demonstrate commands to initiate and monitor Auto Calibration on the eye tracking system.

ETGetAIObjInfo: Demonstrate getting the status, color, and name of all AI objects in currently loaded AI model.

ETGetDataItemValue: Demonstrate the command to get single data item values from the eye tracking system using the command channel.

ETReceiveData: Demonstrate receiving live data from eye tracking system on a streaming data channel.

ETReceiveImage: Demonstrate receiving live image data on a streaming data channel.

ETRecordData: Demonstrate commands to control data file recording on the eye tracking system.

ETSetXDAT: Demonstrate setting eye tracking XDAT values using the command channel.

Python

A set of seven Python samples are provided to show direct communication with Argus Science eye tracking systems (ETNetLib not needed).

ETAutoCalibration: Demonstrate commands to initiate and monitor Auto Calibration on the eye tracking system.

ETGetAIObjInfo: Demonstrate getting the status, color, and name of all AI objects in currently loaded AI model.

ETGetDataItemValue: Demonstrate the command to get single data item values from the eye tracking system using the command channel.

ETReceiveData: Demonstrate receiving live data from eye tracking system on a streaming data channel.

ETReceiveImage: Demonstrate receiving live image data on a streaming data channel.

ETRecordData: Demonstrate commands to control data file recording on the eye tracking system.

ETSetXDAT: Demonstrate setting eye tracking XDAT values using the command channel.

LSL (Lab Streaming Layer)

The two SDK samples, including source code and Visual Studio project files, are provided to demonstrate streaming live eye data out via LSL, and receiving LSL Samples.

ETRelayData: Demonstrate how to send TCP Command to Eye Tracker to start receiving live eye data, then stream out data with LSL.

ETReceiveData: Demonstrate receiving LSL Samples streamed via above ETRelayData.

MatLab

MatLab, when also equipped with the "Instrument Control Toolbox", can open TCP sockets, and can communicate with Argus Science eye tracking systems. Five sample Matlab scripts and a set of function subroutines are provided to demo how to communicate with Argus Science eye tracking systems via Matlab.

E-Prime

E-Prime, from Psychology Software Tools, Inc., is an application for designing visual display experiments. It includes a programming language called E-Basic as well as graphical drag and drop features. Argus Science provides an E-Basic library script with subroutines that can be called from E-Prime "in-line" script objects. The library routines support control of data recording functions, setting "XDAT" values, and reading real-time gaze data from eye tracking system. Sample scripts are also provided to demonstrate communicating with Argus Science eye tracking systems.