#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

# Dual-PC setup with SMI RED250mobile

Hey there,
I am trying to set up an eytracking/EEG experiment, in which the stimulus presenter PC (PC1) should communicate with the eyetracker PC (PC2) via an ethernet cable and with an EEG PC (PC3) via parallel port. I already wrote a Psychopy-script using pylink (assuming I could use an eyelink eyetracker), in which I simply wanted to send messages to the ET and then triggers to the EEG once in a while.

However, now I found out that I'll be using the SMI RED250mobile. I was wondering whether PyGaze would work to access this eyetracker, as I couldn't find any information online!? Right now I am trying to re-do the whole experiment in OpenSesame, as my plan was to use the ET template just to see whether is is possible to communicate with PC2 and the ET. I changed the libsmi.py file to include the two IPs, as described here: http://forum.cogsci.nl/index.php?p=/discussion/2803/dual-pc-setup-with-an-smi-eyetracker. I also copied the iViewXAPI.dll file from the ET PC2 to PC1's pygaze_eyetracker folder. But I still get the same error described in the linked thread:

Traceback:
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libqtopensesame\misc\process.py", line 140, in run
exp.run()
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\experiment.py", line 413, in run
self.items.execute(self.var.start)
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 91, in execute
self.run(name)
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 106, in run
self[name].run()
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\sequence.py", line 51, in run
self.experiment.items.run(_item)
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 106, in run
self[name].run()
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\share\opensesame_plugins\pygaze_init\pygaze_init.py", line 204, in run
**kwdict)
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\pygaze\eyetracker.py", line 73, in __init__
from pygaze._eyetracker.libsmi import SMItracker
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\pygaze\_eyetracker\libsmi.py", line 42, in <module>
from iViewXAPI import  *
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\pygaze\_eyetracker\iViewXAPI.py", line 74, in <module>
File "C:\Program Files (x86)\OpenSesame\lib\ctypes\__init__.py", line 440, in LoadLibrary
return self._dlltype(name)
File "C:\Program Files (x86)\OpenSesame\lib\ctypes\__init__.py", line 362, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] Das angegebene Modul wurde nicht gefunden


Do I need to install the SMI iViewX SDK on the stimulus presenter PC1? This is a bit difficult as the SMI website is... well... useless now and I can't download it. I also did not find an installer for it on the SMI ET PC (but copied all the files from the SDK folder I did find, which included the iViewXAPI.dll, into the pygaze/_eyetracker folder).

Any ideas?

Lea

• One of the things I remember worked for me was "hard coding" the location (path) of the dll file in iViewXAPI.py, instead of iViewXAPI = wind.LoadLibrary("iViewXAPI.dll") .

Can you try that? I don't think you need a fresh installation of the SDK, but I do wonder what version you have.

• Thanks for the quick response! It definitely helped, though I now get a new error message. It's actually the 401 one you mentioned here: http://forum.cogsci.nl/index.php?p=/discussion/2803/dual-pc-setup-with-an-smi-eyetracker. Here is my error message, just for completeness sake:

  File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libqtopensesame\misc\process.py", line 140, in run
exp.run()
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\experiment.py", line 413, in run
self.items.execute(self.var.start)
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 91, in execute
self.run(name)
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 106, in run
self[name].run()
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\sequence.py", line 51, in run
self.experiment.items.run(_item)
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\libopensesame\item_store.py", line 106, in run
self[name].run()
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\share\opensesame_plugins\pygaze_init\pygaze_init.py", line 204, in run
**kwdict)
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\pygaze\eyetracker.py", line 77, in __init__
self.__class__.__init__(self, display, **args)
File "C:\Program Files (x86)\OpenSesame\lib\site-packages\pygaze\_eyetracker\libsmi.py", line 197, in __init__
raise Exception("Error in libsmi.SMItracker.__init__: failed to set logger; %s" % err)
Exception: Error in libsmi.SMItracker.__init__: failed to set logger; unknown error with decimal code 401; please refer to the iViewX SDK Manual


Were you able to solve the problem?

• Also, I actually don't know how to find out which version of the SDK I have, as I can't find it (which could be the problem?). I'd assume it is on the SMI PC, but there is only one folder called SMI, which contains a folder called iView X SDK, which in turn only contains the .dll files. Also, I'd assume I would need the SDK on the stimulus presenter PC, or wouldn't I? Sorry, I am a complete novice with this...

• I'm wondering if in general the communication between the PCs is not working. Each PC can ping the other one, though. I just use the eytracking template from OpenSesame now to check if it is working. I also get a similar (the same?) error (401) if I use PsychoPy with iohub.

• DM sent.

• Were you guys able to get this working? I have the same 401 error myself attempting to dual-box. I also wondered if I need to install SDK on the stimulus computer...