SDK with samples

Network Protocol

Introduction

SDK with sample programs are provided to demonstrate communication with Argus Science eye tracking system from C++, MFC, C#, Python, LSL, Matlab, and E-Prime. The SDK Library and examples include source codes so that researchers could easily work on them for special research needs. ET SDK samples are normally installed as part of the ETRemote installation, and can be found in Program Files -> ArgusScience-> ET_SDK_Samples.

ETNetLib.DLL

ETNetLib is a COM library that provides a network interface to Argus Science eye tracking system. It can be used to send commands to control eye tracking system via TCP, and to receive streaming live data or video from eye tracking system via TCP or UDP. It uses multi-threading and an application must support multi-threading to call 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 codes as well as Visual Studio project files.

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

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

ETRecordData: Demonstrate how to send commands to control data files on eye tracking system.

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

MFC

A set of four sample MFC programs, including source codes 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 image data on a streaming live video channel.

ETRecordData: Demonstrate how to send commands to control data files on eye tracking system.

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

VC++

The five command line sample applications shows how to communicate with Argus Science eye tracking system directly, and SDK library ETNetLib is not needed. The sample applications are provided with VC++ source codes as well as Visual Studio project files.

ETGetDataItemValue: Demonstrate how to send a command and get single eye data values on eye tracking system.

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

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

ETRecordData: Demonstrate how to send commands to control data files on eye tracking system.

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

Python

A set of three Python samples are provided to demonstrate receiving live eye data, controlling eye tracking data files, and sending XDAT values to eye tracking system.

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

ETRecordData: Demonstrate how to send commands to control data files on eye tracking system.

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

LSL (Lab Streaming Layer)

The two SDK samples, including source codes 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. Three 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.