eye tracking systems by Arrington Research, Inc.

Arrington Research Eye Tracking Communication with Other Applications
Eye Tracking Interfaces

ViewPoint Eye Tracking Software provides real-time interfaces to other applications, either on the same computer or on a remote computer.
 Ethernet ViewPointClient ™

ViewPointClient ® is a program that runs on a remote computer and communicates with the ViewPoint EyeTracker. ViewPointClient  interfaces to a copy of the dll and exchanges data just like the ViewPoint EyeTracker does, but it typically takes less than one percent of CPU resources. This means that the same “layered” applications can be used on a remote computer just as easily as on the same computer. The ViewPoint EyeTracker includes an Ethernet server; the ViewPointClient establishes an Ethernet link with this server. ViewPointClient™ for PC and MAC OSX is included free with the ViewPoint EyeTracker ®

click to enlarge

 Interfaces to Third Party Products
Integrity™ is a suite of interfaces between the ViewPoint EyeTracker® and 3rd party applications, which is provided by Arrington Research, Inc. to ensure a professional quality, uniform, complete, and thorough interface to the favorite products of eye tracker users. These provide access to data, complete eye tracker control, and data integration and synchronization, all in real-time. Integrity is included free with ViewPoint... more>>


 Optional Communication Extras

provides real-time analog voltage signals for a variety of real-time data from the eye tracker. 2, 4 or 8 channel options. more>>

TTL In/Out:

Send and receive TLL pulses.. more>>

Please contact us to find out how we can help you interface to your product.
Software Developers Kit (SDK)  
Powerful and easy to use. This is included as standard with ViewPoint:

DLLand dylib library interface.
.h and .lib files.
Sample source code written in C.

Sample-Code:   Simple polling example

This very simple program lists the X and Y positions of gaze calculated by ViewPoint.  

#include “vpx.h”
       for( int ix=0; ix<999 ; ix++ ) {
          VPX_RealPoint gp; // a structure with two floats for (x,y) values
          VPX_GetGazePoint( &gp ); // pass by reference
          println(“ViewPoint gaze point: %g, %g “, gp.x, gp.y );

Sample Code:   Event-Driven Real-Time example

Your application must first register with the VPX_InterApp.dll by doing the following for each window procedure (WinProc) that desires notification:    

    uniqueMessageId = RegisterWindowMessage( VPX_MESSAGE );
    VPX_InsertMessageRequest( hWnd, uniqueMessageId );


After registering, the WinProc should listen for notifications:   

   LRESULT CALLBACK WndProc ( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
       WORD notificationCode = HIWORD(wParam) ;
       if ( message == uniqueMessageId )
           switch ( notificationCode )
                   case VPX_DAT_FRESH :
                        VPX_EyeType eye = LOWORD ( wParam );
                        showFreshData( eye, graphicsWindow );
                   } break;

Sample Code for SDK / API

  • ANSI C VPX_SimpleC_Demo, simple sleep function
  • Win32 (C) VPX_Win32_Demo, event handling
  • MFC (C,C++) VPX_MFC_Demo, event handling
  • BASIC VPX_Basic_Demo, simple timer function

The sample code shows how to: Open/close the ViewPoint application, Open/Close/Pause/Resume data files, insert real-time dataMarkers and real-time stringData, access all data in real-time, complete eye tracker control, merge data in real-time from various sources.