SMI eyetracker, iViewXtoolbox

Hi everyone,

Me again; I'm on a bit of a steep learning curve at the moment with various different techniques! This time, can anyone help me with an SMI eyetracker and iViewX?

I have, of course, been looking at Frans Cornelissen's iViewXToolbox. I've also got some code, RemoteDemo.m, from SMI (but they are not willing to support it), and I've also found ET_tools from Johan Carlin at Cambridge (http://imaging.mrc-cbu.cam.ac.uk/meg/EyeTrackingWithMatlab). So lots of source code out there, but I can't get any of it to work. I'm not sure if this is because I am just feeding the wrong values in for my local settings (host, port, etc). Have tried a lot of trial and error, but no joy - hence asking for help here.

Details - I have a (borrowed) SMI RED4 50Hz eyetracker, connected via Firewire to a dedicated laptop supplied by SMI and running iViewX. That laptop is connected via a LAN to a stimulus PC, which controls two monitors: one for the experimenter and one to display stimuli.
The IP address of the SMI laptop is 10.10.10.1 and that of the stimulus PC as 10.10.10.2, both with Subnet mask = 255.0.0.0. I can successfully ping each machine from the other one.
IViewX is up and running on the SMI laptop, and it has a nice image of a doll's eyes (actually it has locked onto one eye and part of her hair, but whatever; doesn't matter here!!).
Within IviewX Setup->Hardware->Comms, "Remote Interface 1" is set to "Ethernet", "Accept remote commands" and "stream data" (Remote Interface 2 and TTL are both "none"), and in Remote Interface 1 Configure it says "Listening Interface 10.10.10.1 Port 4444; Send UDP packets to Interface 10.10.10.2 Port 5555".

I have tried running all three of the demo packages mentioned above, with various choices for host, port etc, but they all hang. As far as I can tell, this is because they are waiting for a response back from the RED, which they are not getting. I am able to send commands TO the eyetracker, just not read back FROM it. For example,
>>ivx=IViewXInitDefaults;
>>ivx.host= '10.10.10.1'; % (the other defaults seem correct for my setup as far as I can tell)
>> [result, ivx]=iViewXCalibrate(ivx);
results in, calibration diamond appearing on the IViewX; little bubble comes up inviting me to press space bar to accept point; I do; calibration diamond then moves round the 9 positions on the iViewX; but then Matlab sits there saying "Busy" until I ctrl-c out, when it breaks at iViewXComm line 47, where it is waiting to receive data from the eyetracker.

I have found that I cannot send commands unless I have ivx.host='10.10.10.1' and ivx.port=4444, but the values of the socket and localport fields don't seem to make any difference (!). I'd be really grateful if anyone experienced with SMI eyetrackers (or possibly just with updsockets?) could spare the time to have a look and give me any pointers.

All the best,

Jenny


PS Another code fragment in case it helps. Here, all the "success" variables return as 1 but all the "data" returns as -1. Would one expect some of these to contain values?

clear all
ivx.host= '10.10.10.1';
ivx.port= 4444;
ivx.connection= 1;
ivx.socket= 1111;
ivx.localport= 5555;

ivx.isconnected=1;
ivx.notconnected=0;
ivx.stop=0;
ivx.dummymode=0;
ivx.udp=[];
ivx.connection=1; % 0=no, 1=ethernet, 2=serial
ivx.udpreadtimeout=0.1; % time out for reading
ivx.udpmaxread=1000; % maximum number of elements to read in
ivx.nCalPoints=9;


% open connection for receiving data
[success, ivx]=iViewX('openconnection', ivx);
[data, ivx]=iViewX('receivedata', ivx);data
[success, ivx]=iViewX('startrecording', ivx);
[data, ivx]=iViewX('receivedata', ivx);data
[success, ivx]=iViewX('setcalibration', ivx, ivx.nCalPoints);
[data, ivx]=iViewX('receivedata', ivx);data

for j=1:10
[data, ivx]=iViewX('receivedata', ivx);
if data~=-1
data
end
end

[success, ivx]=iViewX('cancelcalibration', ivx, ivx.nCalPoints);
[success, ivx]=iViewX('stoprecording', ivx);
[success, ivx]=iViewX('closeconnection', ivx);


--
Jenny C. A. Read
Royal Society University Research Fellow Mobile 0756 151 6988
Institute of Neuroscience Office +44 191 222 7559
Newcastle University, NE2 4HH www.staff.ncl.ac.uk/j.c.a.read