psychopy.org | Reference | Downloads | Github

fileTransferProgressUpdate() problem using EyeLink 1000 and ioHub

Hello everybody!

I run eye tracking experiment with EyeLink1000 tracker and iohub. Almost everything goes well, many thanks to people who have worked on this integration!
However, I have one problem. I finish every block with the code:

tracker.setRecordingState(False)
tracker.setConnectionState(False)
io.quit()

All the data from the tracker is successfully stored on the Host PC, but it is not properly transferred to the Display PC. On the Host PC, in the end of a block, I see “FILE TRANSFER IN PROGRESS” dialog in the EyeLink interface. It does not disappear until the next block is started. On the display PC, in the Psychopy output I have hundreds of repeated warning rows:

eyelink._fileTransferProgressUpdate() not asupported: wx package not found
eyelink._fileTransferProgressUpdate() not asupported: wx package not found
eyelink._fileTransferProgressUpdate() not asupported: wx package not found
eyelink._fileTransferProgressUpdate() not asupported: wxWarning: TimeoutExpired, Killing ioHub Server process.

EDF files are actually transferred to my experiment folder on the Display PC, however they are small in size and are identified as corrupted by EyeLink Data Viewer. At the same time, all the data files are absolutely ok on the Host PC.

I read some conversations on wx package importing problem, but it seems that everything is ok with my installation: I have wx 4.0 in ‘wx’ folder in site-packages and wx 3.0.2 in ‘wx-3.0-msw’ folder. I think Psychopy uses 3.0.2 version as I get it when requested from the coder shell with wx.__version__ command.

I dived into iohub/devices/eyetracker/hw/sr_research/eyelink/eyetracker.py code and it seems that these lines are crucial:

try:
    from psychopy.gui.wxgui import ProgressBarDialog
except ImportError:
    ProgressBarDialog = None

Because then we have:

def _fileTransferProgressUpdate(self, size, received):
        if ProgressBarDialog is None:
            print("eyelink._fileTransferProgressUpdate() not asupported: wx package not found")
            return

Apparently I have ImportError and ProgressBarDialog variable has value None.
So, are there any ideas on what can I do to resolve this issue?
Thank you!

I use v1.90.1 Psychopy on 64-bit Windows 7.
I run the experiment from Coder, but it was compiled from Builder (with the code components for tracker controlling).