My EyeX seems to calibrate and eye track fine on my PC running Windows 7. But when I run the sample Matlab code provided here, it says
Warning: Unsuccessful read: The specified amount of data was not returned within the Timeout period.
Attempted to access DATA(1); index out of bounds because numel(DATA)=0.
Error in tobii_command (line 55)
if DATA(1) == false
Anyone have any idea how I should troubleshoot this problem?
EDIT: I just realized I may not have installed everything necessary in advance. Does it seem likely that that is the problem? I'll check that and post again.
Last edit: Jonathan Cannon 2015-07-24
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Actually, I think I did install everything I was supposed to. I downloaded and installed the stuff here: http://developer.tobii.com/eyex-setup/
and I updated my USB 3.0 drivers.
The EyeX interaction was working, but the matlab example script was not.
Could this be a firewall problem?
Do I need the SDK for this at all?
Any help you can offer would be very appreciated.
Jon
Last edit: Jonathan Cannon 2015-07-26
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
after the complete installation does the toolbox continue giving the same error?
It looks like your device is not connected, which is the function of the toolbox which give the error? At which line of EXAMPLE_FIXATION.m? Did you modified anything?
Let us know,
Agostino.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sometimes it happended to me this thing:
1 - turn on the PC
2 - plug the EyeX
3 - launch the Tobii native calibration
4 - launch Matlab
5 - run something from the Matlba Toolbox
6 - curse because it does not work
The problem is due to the Tobii Calibration which remains active and does not allow the access to Matlab. You should se a small icon in the center-bottom part of the screen representing the two eyes seen by the eyetracker.
Try just to right-click on it and exit, and try again with Matlab.
Hope it helps,
Agostino.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Warning: Unsuccessful read: The specified amount of data was not returned
within the Timeout period.
Attempted to access DATA(1); index out of bounds because numel(DATA)=0.
Error in tobii_command (line 55)
if DATA(1) == false
Error in EXAMPLE_FIXATION (line 29) [msg DATA] = tobii_command(tobii,'init');
I tried your steps above.
Any help would be most appreciated.
Regards
Braden
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am facing a similar problem. My EyeX is working smoothly outside MATLAB. I am trying to run your toolbox on a windows 10 device. Whenever I try to run your example file, the console pops up with the following message:
" TobiiGazeCore DLL Version: ...
Starting Server on MySocket object...
Message ID 64
Creating eye Tracker with url 134.34.221.28.
Error: 200(tobiigaze_create).
Error code definitions are located in 'tobiigaze_error_codes.h'
Error means: Invalid or badly formatted url-
Exiting..."
In MATLAB the same errors prompt as described above by Braden:
"
Error in tobii_command (line 55)
if DATA(1) == false
Error in EXAMPLE_FIXATION (line 29) [msg DATA] = tobii_command(tobii,'init');
"
I would appreciate any help!
Best,
Thomas
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi, I was having similar problems also - I was able to get the EyeX toolbox working by putting the entire toolbox folder into the root of C drive, so there were no spaces in the file path. For some reason when it's in the Program Files folder the MATLAB server doesn't parse the space between Program and Files, resulting in a console error.
I'm now posting with a different problem - I'm running an experiment with 4 conditions, doing a record of L and R eye position and timing for each condition. The eyetracker stops communicating with the server (error code 203: communication with eyetracker failed) after the third condition, recording no eye position data for that trial. It did this once on condition 2 as well during one of the tests. I'm a bit flummoxed by this as it records data perfectly well for the preceding conditions, connecting, generating a txt file for the L and R eye, disconnecting, next trial, reconnect. The program executes fine when eyetracking isn't enabled, going through all 4 conditions.
The whole program will also run if I only use one instance of the start and stop commands outside of the for loop, creating a continuous single recording throughout all 4 conditions.
Any thoughts?
Edit: I discovered the source of this problem - if the eyetracker loses the CR signal for more than a few seconds, instead of passively waiting for the signal to re-establish the UDP thinks it has lost communication with the eyetracker and disconnects, causing the program to crash.
Last edit: Marianne Coleman 2016-01-07
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
the main problem is when the 'init' command is called. If for some reason the EyeX looses the UDP communication, it just waits for new data for a 'TimeOut Period', after which it returns just an empty variable.
We are now preparing a second release of the ToolBox which takes into account those errors. In the new version we shortened the TimeOut Period, and, if the data is empty, the ToolBox reset the EyeX.
If you want to use the data written into file, my raccomandation is, if you are running different trials, to generate a new file set (with tobii_command(tobii,'start',filename)), separate for each experiment. In this way:
1) if a connection problem happens when you launch the 'start' command, it is plausibly resolved before starting the new trial
2) if the connection problem happens during the trial, you can check your data at the end of each trial, loading them from the files, and possibly repeat the trial gone wrong.
In a matter of days we will upload the new release.
Thank you for your feedback,
Agostino.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Agostino,
I'm not familiar with this forum and I don't know if I should create a new topic for asking help to solve my problem. Anyway I'll be really greatfull if you spend time to help me finding the origin of my problem.
I have installed everything and it kind of work well except that the clocks of my EyeX and the on of the psychtoolbox seems to be not synchronized at all. And for example using the saccade_experiment it can't draw the figure result because the time stamps of the two are phase shift..........
An idea how to synchronize it please????
Many thanks in advance.
Sincerely,
Sebastien
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Agostino,
Having a deeper look it seems that the synchronization problem concerns the timestamp values returned by the tobii_getGPN and tobii_getTIME function (they don't seem to refer to the same clock). Does it make sens for you?
Thanks,
Seb
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Sorry I was to quick, rebooting the system reset all clocks and synchronization issues and now it works. Congratulations and thanks a lot for sharing your work!!!!!!!!!!!!! Really nice tool+++++
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My EyeX seems to calibrate and eye track fine on my PC running Windows 7. But when I run the sample Matlab code provided here, it says
Warning: Unsuccessful read: The specified amount of data was not returned within the Timeout period.
Attempted to access DATA(1); index out of bounds because numel(DATA)=0.
Error in tobii_command (line 55)
if DATA(1) == false
Anyone have any idea how I should troubleshoot this problem?
EDIT: I just realized I may not have installed everything necessary in advance. Does it seem likely that that is the problem? I'll check that and post again.
Last edit: Jonathan Cannon 2015-07-24
Hi Jonathan,
Can you tell us if the problem persists?
Thanks in advance...
Actually, I think I did install everything I was supposed to. I downloaded and installed the stuff here:
http://developer.tobii.com/eyex-setup/
and I updated my USB 3.0 drivers.
The EyeX interaction was working, but the matlab example script was not.
Could this be a firewall problem?
Do I need the SDK for this at all?
Any help you can offer would be very appreciated.
Jon
Last edit: Jonathan Cannon 2015-07-26
Dear Jon,
after the complete installation does the toolbox continue giving the same error?
It looks like your device is not connected, which is the function of the toolbox which give the error? At which line of EXAMPLE_FIXATION.m? Did you modified anything?
Let us know,
Agostino.
Dear Jon,
one more thing.
Sometimes it happended to me this thing:
1 - turn on the PC
2 - plug the EyeX
3 - launch the Tobii native calibration
4 - launch Matlab
5 - run something from the Matlba Toolbox
6 - curse because it does not work
The problem is due to the Tobii Calibration which remains active and does not allow the access to Matlab. You should se a small icon in the center-bottom part of the screen representing the two eyes seen by the eyetracker.
Try just to right-click on it and exit, and try again with Matlab.
Hope it helps,
Agostino.
Hi Agostino
I am having the same error messages as Jonathon:
Warning: Unsuccessful read: The specified amount of data was not returned
within the Timeout period.
Attempted to access DATA(1); index out of bounds because numel(DATA)=0.
Error in tobii_command (line 55)
if DATA(1) == false
Error in EXAMPLE_FIXATION (line 29)
[msg DATA] = tobii_command(tobii,'init');
I tried your steps above.
Any help would be most appreciated.
Regards
Braden
Dear Braden,
Sorry for the late replay...
Some questions:
Is the EyeX normally working outside Matlab? Are you able to perform a calibration from the Tobii EyeX Engine?
Can you tell me some specific about the system you are using? Windows version, processor, ram.
Have you tried on another PC?
Do you have update firmware and driver?
Is the UDP port correctly opening?
Let me know,
Agostino.
Hi Agostino,
I am facing a similar problem. My EyeX is working smoothly outside MATLAB. I am trying to run your toolbox on a windows 10 device. Whenever I try to run your example file, the console pops up with the following message:
" TobiiGazeCore DLL Version: ...
Starting Server on MySocket object...
Message ID 64
Creating eye Tracker with url 134.34.221.28.
Error: 200(tobiigaze_create).
Error code definitions are located in 'tobiigaze_error_codes.h'
Error means: Invalid or badly formatted url-
Exiting..."
In MATLAB the same errors prompt as described above by Braden:
"
Error in tobii_command (line 55)
if DATA(1) == false
Error in EXAMPLE_FIXATION (line 29)
[msg DATA] = tobii_command(tobii,'init');
"
I would appreciate any help!
Best,
Thomas
Hi, I was having similar problems also - I was able to get the EyeX toolbox working by putting the entire toolbox folder into the root of C drive, so there were no spaces in the file path. For some reason when it's in the Program Files folder the MATLAB server doesn't parse the space between Program and Files, resulting in a console error.
I'm now posting with a different problem - I'm running an experiment with 4 conditions, doing a record of L and R eye position and timing for each condition. The eyetracker stops communicating with the server (error code 203: communication with eyetracker failed) after the third condition, recording no eye position data for that trial. It did this once on condition 2 as well during one of the tests. I'm a bit flummoxed by this as it records data perfectly well for the preceding conditions, connecting, generating a txt file for the L and R eye, disconnecting, next trial, reconnect. The program executes fine when eyetracking isn't enabled, going through all 4 conditions.
The whole program will also run if I only use one instance of the start and stop commands outside of the for loop, creating a continuous single recording throughout all 4 conditions.
Any thoughts?
Edit: I discovered the source of this problem - if the eyetracker loses the CR signal for more than a few seconds, instead of passively waiting for the signal to re-establish the UDP thinks it has lost communication with the eyetracker and disconnects, causing the program to crash.
Last edit: Marianne Coleman 2016-01-07
Dear Marianne, Thomas and Braden,
the main problem is when the 'init' command is called. If for some reason the EyeX looses the UDP communication, it just waits for new data for a 'TimeOut Period', after which it returns just an empty variable.
We are now preparing a second release of the ToolBox which takes into account those errors. In the new version we shortened the TimeOut Period, and, if the data is empty, the ToolBox reset the EyeX.
If you want to use the data written into file, my raccomandation is, if you are running different trials, to generate a new file set (with tobii_command(tobii,'start',filename)), separate for each experiment. In this way:
1) if a connection problem happens when you launch the 'start' command, it is plausibly resolved before starting the new trial
2) if the connection problem happens during the trial, you can check your data at the end of each trial, loading them from the files, and possibly repeat the trial gone wrong.
In a matter of days we will upload the new release.
Thank you for your feedback,
Agostino.
Dear Agostino,
I'm not familiar with this forum and I don't know if I should create a new topic for asking help to solve my problem. Anyway I'll be really greatfull if you spend time to help me finding the origin of my problem.
I have installed everything and it kind of work well except that the clocks of my EyeX and the on of the psychtoolbox seems to be not synchronized at all. And for example using the saccade_experiment it can't draw the figure result because the time stamps of the two are phase shift..........
An idea how to synchronize it please????
Many thanks in advance.
Sincerely,
Sebastien
Dear Agostino,
Having a deeper look it seems that the synchronization problem concerns the timestamp values returned by the tobii_getGPN and tobii_getTIME function (they don't seem to refer to the same clock). Does it make sens for you?
Thanks,
Seb
Hi,
Sorry I was to quick, rebooting the system reset all clocks and synchronization issues and now it works. Congratulations and thanks a lot for sharing your work!!!!!!!!!!!!! Really nice tool+++++