Eyelink: Error condition detected

Hi, when i run the EyelinkExample.m in the EyelinkShortDemos folder, there are some messages on the matlab console like this:
EYELINK: WARNING! PsychEyelinkCallRuntime() Failed to call eyelink runtime callback function PsychEyelinkDispatchCallback [rc = 1]!
EYELINK: WARNING! Make sure that function is on your Matlab/Octave path and properly initialized.
EYELINK: WARNING! May also be an error during execution of that function. Type ple at command prompt for error messages.
EYELINK: WARNING! Auto-Disabling all callbacks to the runtime environment for safety reasons.
Eyelink: In PsychEyelink_get_input_key(): Error condition detected: Trying to send TERMINATE_KEY abort keycode!
Any help would be greatly appreciated.

Did you try what the warning message says you should do? Also this needs way more information, as described in the “how to use the forum” section of our website.
-mario

Hi all,

I’d like to second this issue and elaborate on it. The error message is thrown when Eyelink is called to retrieve the recorded and closed file (from the Eyelink computer, upon calling “status=Eyelink(‘ReceiveFile’);”). Interestingly, the file transfer does appear to have commenced since the file occurs on the computer from which the request is made. At a closer look, however, this file never has the expected size, being just 70-80 Kb large. Also, in case it helps, status returns -3.

To narrow down the issue further, the problem seems to not due to the version of psychtoolbox used, as the same version runs fine on another computer accessing a separate Eyelink system (“which PsychEyelinkDispatchCallback” points to version 3012_x64 in both situations). Also, on the failing computer, the issue exists under different versions of Matlab.

Together, this suggests that something is off with regards to the particular install of Psychtoolbox on that computer. It’s a shared lab computer in our case, so any suggestions to troubleshoot the issue further would be preferred over a reinstall/update.

Best regards,
Arjen

Hi Arjen,

Thanks for the detailed report. As a first stop, it may be better to
contact SR research support.

As a general comment, which may hopefully help others with similar problems:

Most functions in the Eyelink toolbox - with a few exceptions like stuff related to the PsychEyelinkDispatchCallback, and maybe actual live retrieval of gaze samples online - are very simple and primitive wrappers around functions in the SR-Research Eyelink software with a similar name. Iow. I think all functions for configuring the Eyelink, starting/stopping recording/capture, EDF file handling etc. are like these. The code is so primitive that pretty much any error/failure/problem will not be a Psychtoolbox problem, but in the underlying software/hardware from SR-Research. The source code of the Eyelink(‘Subfunction’) can be found in our GitHub repo for the latest beta under:

usually in a file named EyelinkSubfunction.c

If you look into the file for the Eyelink function that failed, and it only consists of a few lines of code, e.g., less than 100 lines, mostly help texts and boilerplate code, like e.g., in your case this file:

…then your problem is likely not related to Psychtoolbox or Matlab/Octave itself, but to the Eyelink software or hardware.

Therefore it often makes sense to contact SR-Research support early, instead of doing things like reinstalling Psychtoolbox / Matlab / Octave / your operating system etc.

E.g., in your case, status = Eyelink('ReceiveFile', ...) does nothing else but call the Eyelink function status = receive_data_file(...) with exactly the parameters specified, returning whatever status code that function produced.

The meaning of the status codes can be found under this link

As you can see, status code -3 is “BAD_VALUE_RESULT” - " COMMAND PARSE ERRORS: value is not right for command or tracker state "

As you can see from the documentation of the receive_data_file() Eyelink function:
https://download.sr-support.com/dispdoc/group__datafile.html#g7479989fe4f6d6d003af93c6e2e8802a

Error code -3 doesn’t exist for that function! Or at least is not documented as valid error code. So this is definitely not a Psychtoolbox/Matlab/Octave/operating system problem, but a case for SR-Research support.

-mario

Thanks for digging deeper, Mario. I concur with your analysis and might give SR-Research a shot.

Best,
Arjen