SR Research Support Site
Developers Kit Files

The EyeLink eye-tracking system is designed to implement most of the required software base for data collection and processing. The Developers Kit includes the eyelink_core, eyelink_core_graphics and associated libraries that implement the link interface and support functions that make programming simpler. These include functions to implement calibration and full-screen display, as well as synchronization with display refresh, real-time mode support, and simplified keyboard and mouse access.

Libraries and Files

This section documents the relationship between the files required for creating an experiment program, and identifies each file and folder.

Libraries

The eyelink_core.dll libraries implement the TCP/IP link, timing, and all functions documented in eyelink.h. It also contains the functions declared in sdl_expt.h, which simplify programming of file transfer and recording. The eyelink_core_graphics.dll implements the graphic support functions (such as camera image display, calibration, validation, and drift correction graphics) that may be used by eyelink_core.dll.

If you used the EyeLink display software installer to install the sample experiments, you do not have to worry about the path of the .dll and .lib files and the header files, directory. Those files can be found at C:\Program Files\SR Research\Eyelink\Includes and C:\Program Files\SR Research\Eyelink\Libs folders. You should always include the import library for this DLL (eyelink_core.lib and other .lib files) in your projects.

If you want to copy the experiment programs between computers, makes sure that the whole directory of these library and header files are also copied to the new computer. To compile the examples, you will have to add the following entries to the environment variables of your computer.

INCLUDE = C:\\Program Files\\SR Research\\Eyelink\\Includes\\eyelink;
C:\\Program Files\\SR Research\\Eyelink\\Includes\\sdl;
PATH = C:\\Program Files\\SR Research\\Eyelink\\LIBS;

(Note: The actual settings depend on the locations where you copied the "Includes" and "Libs" folders to. To avoid setting these parameters by yourself, you may simply run the EyeLink display software installer program in your target computer).

Required Source Files

Each source file of your experiment should include these header files:

#include "sdl_expt.h" // references all you would need to develop your
// experiment based on SDL and eyelink tracker.

In addition, your project's source files should use a header file that contains declarations for functions and variables that need to be shared between files (study the simple.h file of the Simple template as an example). Experienced programmers know that using a header file will save hours of debugging later, and helps to document your work.

The following table lists a summary of the minimum set of header files and libraries required to compile and run your experiment:

eyetypes.hDeclarations of basic data types.
eye_data.hDeclaration of complex EyeLink data types and link data structures.
eyelink.hDeclarations and constants for basic EyeLink functions, Ethernet link, and timing.
core_expt.hDeclarations of eyelink_core functions and types. This file will also reference the other EyeLink header files.
sdl_expt.hDeclarations of eyelink_core_graphics functions and types. This file will also reference the other EyeLink header files.
sdl2_expt.hDeclarations of eyelink_core_graphics_sdl2 functions and types. This file will also reference the other EyeLink header files.
eyelink_core.dll, eyelink_core64.dllImplements basic EyeLink functions, Ethernet link, generic support functions and timing.
eyelink_core_graphics.dll, eyelink_core_graphics64.dll, eyelink_core_graphics_sdl2.dll, eyelink_core_graphics_sdl2x64.dllImplements the graphic support functions that may be used by eyelink_core.dll. This links to SDL libraries. The function init_expt_graphics() should be called to register with eyelink_core.dll.
eyelink_w32_comp.dll,eyelink_w32_comp64.dllImplements some windows specific dialogs such as edit_dialog().
eyelink_core.libImport library for eyelink_core.dll. Link with your code.
eyelink_core64.libImport library for eyelink_core64.dll. Link with your code.
eyelink_core_graphics.libImport library for eyelink_core_graphics.dll. Link with your code.
eyelink_core_graphics64.libImport library for Eyelink_core_graphics64.dll. Link with your code.
eyelink_w32_comp.libImport library for eyelink_w32_comp.dll. Link with your code.
eyelink_w32_comp64.libImport library for eyelink_w32_comp64.dll. Link with your code.

These files may be useful for specific functionality:

sdl_image.hThis is also part of the SDL-associated library. If you need any image loading use this for creating SDL surfaces out of images. For more detail visit http://www.libsdl.org/projects/SDL_image/.
The source and header files listed above should never be modified. If problems are found with any other files, contact SR Research Ltd. before making changes. Always make changes to a renamed copy of the source file. Do not under any circumstances edit or combine the header files, or combine parts of the source files together, or copy parts of files to your own code. This will make it difficult for you to use future upgrades of the toolkit.

Copyright ©2002-2021, SR Research Ltd.