Problem with psychopy.parallel

Hello,
this is on Windows 10 64bit. I try to read from the parallel port. That worked with PsychoPy2 but
today I tried to run a v1.84 program with Psychopy 3.0.7 and 3.1.5 with no luck. The code is as follows:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from pyglet.gl import gl_info, GLint, glGetIntegerv, GL_MAX_ELEMENTS_VERTICES
from psychopy import visual, preferences
from ctypes import windll
from psychopy import parallel
import sys, platform

port = parallel.ParallelPort(address=0x0378)

alt = windll.inpout32.Inp32(0x037a) 
neu = alt | 0x20
windll.inpout32.Out32(0x037a, neu)

DONE = False
Taste_old = 255

while not DONE:
    taste = port.readData()
    if taste != Taste_old: 
        print( taste )
        Taste_old = taste
    if taste == 31:
        DONE = True

I receive the following error message:

1.6850     WARNING     psychopy.parallel has been imported but no parallel port driver found. Install either inpout32, inpoutx64 or dlportio
Traceback (most recent call last):
  File "D:\users\sven\ownCloud\PsychoPy3\pportversuche.py", line 17, in <module>
    port = parallel.ParallelPort(address=0x0378)
TypeError: 'NoneType' object is not callable

I know for sure that a parallel port driver is installed since I can communicate with the port with the help of a little C-program I wrote for testing (some years ago :slight_smile: Any idea why PsychoPy3 thinks the driver is not installed?

Thanks in advance,
Sven

3 Likes

Are both PsychoPy and the driver 64 bit? or both 32 bit? I think either will work, but they need to match.

1 Like

Hi Michael, thanks for your helpful hint. Now I deinstalled PsychPy3 64bit and installed PsychoPy3 32bit and voilΓ  it works.

Now, anyone an idea for a 64bit parallel port driver for windows 10?

Thanks a lot, Sven

1 Like

Just to update: I recently encountered this error, still there is no parallel driver for win 10 64 bit.

Came across similar situation with the following error in Python 3.8.5 [64-bit] with psychopy.__version__ == 2020.2.10 installed (via conda install psychopy):

from psychopy import parallel
p = parallel.ParallelPort('0x0378')

Solved by putting the inpoutx64.dll file in the [Windows]/System32 directory. The dll was downloaded from the following address: InpOut32 and InpOutx64

After copying the file into System32, I had to quit and restart python (or ipython) to make it work. Simply by β€œreset” in ipython won’t work.

Hope this helps someone with the same issue.

2 Likes